Retrouver le numéro de série du disque du système

Il est parfois utile de retrouver le numéro de série du disque dur (ou toute autre information) sur lequel le système tourne. On peut en avoir besoin par exemple pour une mise à jour d’une règle UDEV pour autoriser (ou non) les supports de stockages.

Quand on connaît le nom du disque, par exemple /dev/sda1, on peut retrouver l’information avec l’outil udevadm :
udevadm info -q property -n /dev/sda1 \
| grep ID_SERIAL_SHORT \
| cut -d '=' -f 2

Si on a le point de montage, c’est un peu plus long, il faut préalablement extraire le nom du disque :
udevadm info -q property \
-n $( mount | grep ' / ' \
| cut -d ' ' -f 1 ) \
| grep ID_SERIAL_SHORT \
| cut -d '=' -f 2

Dernier truc, l’exemple ici est fait sur la racine /… mais la racine d’un système Linux aujourd’hui est souvent chiffrée, donc ne dépend pas d’un disque physique mais d’une disque virtuel (lui-même sur le disque physique). Dans ce cas ça ne marche pas mais il est possible de faire le test sur /boot qui sera obligatoirement présent sur un système chiffré et en clair, donc directement sur le disque physique… ou sera présent parce que c’est souvent dans les recommandations pour durcir un système Linux.