GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Extrahieren Sie die Linux-Seriennummer ohne sudo

dmidecode liest diese Informationen mit /dev/mem aus dem physischen Speicher , was root erfordert.

Dieselben Informationen werden auch vom Linux-Kernel über sysfs in einem virtuellen Verzeichnis /sys/devices/virtual/dmi/id bereitgestellt .

Leider hat jemand entschieden, dass alle Informationen in diesem virtuellen Verzeichnis für jeden zum Lesen zugänglich sind, nur nicht die Seriennummern:

$ ls -l /sys/devices/virtual/dmi/id

-r--r--r-- 1 root root 4096 Nov 25 17:12 bios_date
-r--r--r-- 1 root root 4096 Nov 14 14:59 bios_vendor
-r--r--r-- 1 root root 4096 Nov 25 17:12 bios_version
-r--r--r-- 1 root root 4096 Nov 25 17:12 board_asset_tag
-r--r--r-- 1 root root 4096 Nov 25 17:12 board_name
-r-------- 1 root root 4096 Nov 25 17:12 board_serial
-r--r--r-- 1 root root 4096 Nov 14 14:59 board_vendor
-r--r--r-- 1 root root 4096 Nov 25 17:12 board_version
-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_asset_tag
-r-------- 1 root root 4096 Nov 25 17:12 chassis_serial
-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_type
-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_vendor
-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_version
-r--r--r-- 1 root root 4096 Nov 25 17:12 modalias
drwxr-xr-x 2 root root    0 Nov 25 17:12 power
-r--r--r-- 1 root root 4096 Nov 14 14:59 product_name
-r-------- 1 root root 4096 Nov 25 17:12 product_serial
-r-------- 1 root root 4096 Nov 14 14:59 product_uuid
-r--r--r-- 1 root root 4096 Nov 14 14:59 product_version
lrwxrwxrwx 1 root root    0 Nov 14 14:59 subsystem -> ../../../../class/dmi
-r--r--r-- 1 root root 4096 Nov 14 14:59 sys_vendor
-rw-r--r-- 1 root root 4096 Nov 14 14:59 uevent

Wenn Sie Paket hal installieren können (in neueren Ubuntu-Versionen nicht standardmäßig installiert), funktioniert dieser Befehl für Sie als Nicht-Root:

 lshal | grep system.hardware.serial

 system.hardware.serial = '<serial_number>'  (string)

Dies funktioniert, weil Paket hal installiert den hald daemon, der als root läuft und diese Daten sammelt, was lshal ermöglicht um es als Nicht-Root zu lesen.


Linux
  1. Führen Sie Container unter Linux ohne sudo in Podman aus

  2. Linux – Die Tty-Major-Nummer Ihres Unix?

  3. Linux – Ist der Schrägstrich (/) Teil des Namens des Linux-Root-Verzeichnisses?

  4. Gesamtgröße meiner Festplatte in Linux über die Befehlszeile ohne Root-Berechtigungen abrufen?

  5. Alternative zum tee-Befehl ohne STDOUT

So finden Sie die Portnummer eines Dienstes in Linux

So ändern Sie die Sudo-Eingabeaufforderung in Linux

So führen Sie bestimmte Befehle ohne Sudo-Passwort in Linux aus

So erhalten Sie die Anzahl der Prozessoren / Kerne in Linux

HOWTO:Führen Sie Linux auf Android ohne Root aus

So ändern Sie das Root-Passwort unter Linux