dmidecode
čte tyto informace z fyzické paměti pomocí /dev/mem
, který vyžaduje root.
Stejné informace poskytuje také linuxové jádro prostřednictvím sysfs ve virtuálním adresáři /sys/devices/virtual/dmi/id
.
Bohužel se někdo rozhodl, že všechny informace v tomto virtuálním adresáři jsou přístupné komukoli, jen ne sériová čísla:
$ 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
Pokud můžete nainstalovat balíček hal
(ve výchozím nastavení není nainstalován v posledních verzích Ubuntu), tento příkaz vám bude fungovat jako uživatel bez oprávnění root:
lshal | grep system.hardware.serial
system.hardware.serial = '<serial_number>' (string)
Funguje to, protože balíček hal
nainstaluje hald
démon, který běží jako root a shromažďuje tato data, což umožňuje lshal
číst jako uživatele bez oprávnění root.
Chyba syntaxe poblíž neočekávaného tokenu 'then'
Jak přesunout všechny soubory včetně skrytých souborů do nadřazeného adresáře přes *