dmidecode
membaca informasi ini dari memori fisik, menggunakan /dev/mem
, yang membutuhkan root.
Informasi yang sama juga disediakan oleh kernel Linux melalui sysfs dalam direktori virtual, /sys/devices/virtual/dmi/id
.
Sayangnya, seseorang memutuskan bahwa semua informasi dalam direktori virtual itu terbuka bagi siapa saja untuk dibaca, hanya saja tidak nomor seri:
$ 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
Jika Anda dapat menginstal paket hal
(tidak diinstal secara default pada versi Ubuntu terbaru), perintah ini akan berfungsi untuk Anda sebagai non-root:
lshal | grep system.hardware.serial
system.hardware.serial = '<serial_number>' (string)
Ini berfungsi karena paket hal
instal hald
daemon, yang berjalan sebagai root dan mengumpulkan data ini, sehingga memungkinkan untuk lshal
untuk membacanya sebagai non-root.
Kesalahan sintaksis di dekat token tak terduga 'lalu'
Cara memindahkan semua file termasuk file tersembunyi ke direktori induk melalui *