GNU/Linux >> Tutoriels Linux >  >> Linux

Extraire le numéro de série Linux sans sudo

dmidecode lit ces informations à partir de la mémoire physique, en utilisant /dev/mem , qui nécessite root.

Les mêmes informations sont également fournies par le noyau Linux via sysfs dans un répertoire virtuel, /sys/devices/virtual/dmi/id .

Malheureusement, quelqu'un a décidé que toutes les informations de ce répertoire virtuel sont ouvertes à tous pour la lecture, mais pas les numéros de série :

$ 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

Si vous pouvez installer le package hal (non installé par défaut sur les versions récentes d'Ubuntu), cette commande fonctionnera pour vous en tant que non root :

 lshal | grep system.hardware.serial

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

Cela fonctionne car le package hal installe le hald démon, qui s'exécute en tant que root et collecte ces données, ce qui permet de lshal pour le lire comme non root.


Linux
  1. Exécutez des conteneurs sur Linux sans sudo dans Podman

  2. Comment fonctionnent les composants internes de Sudo ?

  3. Quel est le but du groupe "roue" sous Linux

  4. Comment trouver tous les périphériques série (ttyS, ttyUSB, ..) sous Linux sans les ouvrir ?

  5. Pourquoi le mot de passe 'sudo' est-il différent du mot de passe 'su root'

Comment trouver le numéro de port d'un service sous Linux

Comment changer l'invite Sudo sous Linux

Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux

Comment obtenir le nombre de processeurs/cœurs sous Linux

HOWTO :Exécuter Linux sur Android sans racine

Comment changer le mot de passe root sous Linux