Мне нужна команда для создания уникального цифрового отпечатка из машины Unix

Я должен создать порядковый номер для своего приложения в машине Unix.

  1. Сгенерированный порядковый номер должен быть уникальным
  2. Не изменяйтесь со временем (Только изменения после жесткого диска или изменений материнской платы)
  3. Не нужно полномочие пользователя root.

Я нашел, что, в Ubuntu существует некоторая информация о жестких дисках под следующей папкой:

/dev/disk/by-id

Эти файлы, кажется, порядковые номера приложенных жестких дисков к машине. Я хочу использовать следующую команду для генерации уникального отпечатка пальца машины.

ls /dev/disk/by-id | grep  -v 'part'

Действительно ли это возможно? Эта команда удовлетворяет условиям, которые я указал выше?

2
задан 1 November 2015 в 07:39
1 ответ

Хороший метод однозначной идентификации машины - это значение SMBios UUID. В Linux к нему можно получить доступ с помощью инструмента dmidecode.

# dmidecode -s system-uuid 1E00CBE0-008C-5900-FBCE-C86000B2350B

Другой альтернативой может быть использование UUID корневой файловой системы. Доступ к UUID файловой системы можно получить в "/ dev / disks / by-uuid". Это имеет то преимущество, что не требует привилегий root.

Еще один метод использует blkid:

rootNode = "$ (mount | grep" / ")"; blkid -s UUID -o value $ {rootNode %% *}

2
ответ дан 3 December 2019 в 11:35

Теги

Похожие вопросы