GNU/Linux >> Linux Esercitazione >  >> Linux

Estrai il numero di serie di Linux senza sudo

dmidecode legge queste informazioni dalla memoria fisica, usando /dev/mem , che richiede root.

Le stesse informazioni sono fornite anche dal kernel Linux tramite sysfs in una directory virtuale, /sys/devices/virtual/dmi/id .

Sfortunatamente, qualcuno ha deciso che tutte le informazioni in quella directory virtuale sono aperte a chiunque per la lettura, solo no i numeri di serie:

$ 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

Se puoi installare il pacchetto hal (non installato per impostazione predefinita nelle recenti versioni di Ubuntu), questo comando funzionerà per te come non root:

 lshal | grep system.hardware.serial

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

Funziona perché il pacchetto hal installa il hald demone, che viene eseguito come root e raccoglie questi dati, rendendo possibile per lshal per leggerlo come non root.


Linux
  1. Come trovare tutti i dispositivi seriali (ttyS, ttyUSB, ..) su Linux senza aprirli?

  2. Ottieni la dimensione totale del mio disco rigido in Linux, utilizzando la riga di comando, senza i permessi di root?

  3. Alternativa al comando tee senza STDOUT

  4. Esegui ifconfig senza sudo

  5. Perché la password "sudo" è diversa dalla password "su root".

Come trovare il numero di porta di un servizio in Linux

Come modificare il prompt di Sudo in Linux

Come eseguire comandi particolari senza password Sudo in Linux

Come ottenere il numero di processori/core in Linux

HOWTO:eseguire Linux su Android senza root

Come modificare la password di root in Linux