Я хочу знать, что это существует путь, которым мы можем генерировать уникальный аппаратный хеш конкретной машины? Хеш должен быть уникален для машины, и хеш должен отличаться, даже две машины имеют ту же конфигурацию. Действительно ли это возможно?
Вы могли использовать MAC-адрес eth0
(принимающий это существует на каждой машине). Можно получить это самостоятельно (может быть более простой путь) с этим:
ifconfig eth0 | grep HWaddr | awk '{ print $NF}' | sed 's/://g'
Это даст Вам что-то как 6cf04954aaaa
.
Они, как предполагается, уникальны, но они не всегда. Если все Ваше сетевое оборудование прибывает из того же производителя, Вы могли бы найти некоторое перекрестное соединение, так осторожны с ним.
Приводя это к сбою, Вы могли генерировать свою собственную уникальную строку и сохранить ее в /etc/computer-id
(или другой путь Вашего выбора).
uuidgen -r
Генерирует что-то максимально случайное, например: 52a85807-35fe-409e-8983-87eb58c02ece
uuidgen -t
Время использования и eth0
MAC для создания чего-то как: eb8280dc-b5ec-11e0-90dd-6cf04954aaaa
Оба довольно уникальны, но, как с чем-либо случайным, всегда существует возможность столкновения. Сохраните центральный список для предотвращения проблем как это.
Простое решение, о котором я мог думать:
sudo dmidecode -s system-uuid
Согласно странице руководства dmidecode
, эти данные получены от Интерфейса управления настольными системами, который имеет некоторое отношение к BIOS. Это не может быть изменено.
Я протестировал эту команду на двух машинах с теми же аппаратными средствами, и результат отличается как ожидалось от имени system-uuid
, таким образом, это может на самом деле использоваться в качестве уникального аппаратного хеша.