dmidecode
/dev/mem
を使用して、物理メモリからこの情報を読み取ります 、ルートが必要です。
同じ情報は、仮想ディレクトリ /sys/devices/virtual/dmi/id
の sysfs を介して Linux カーネルによっても提供されます。 .
残念ながら、その仮想ディレクトリ内のすべての情報は、誰でも読めるように公開されていると判断されましたが、ではありません。 シリアル番号:
$ 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
パッケージ hal
をインストールできる場合 (最近の Ubuntu バージョンではデフォルトでインストールされていません)、このコマンドは非 root として機能します:
lshal | grep system.hardware.serial
system.hardware.serial = '<serial_number>' (string)
パッケージ hal
のため、これは機能します hald
をインストールします root として実行され、このデータを収集して lshal
を可能にするデーモン 非ルートとして読み取ります。