Уникальные аппаратные подписи в BSD?

То, что можно сделать, ограничить сумму поддерживаемых локалей только к локалям UTF-8.

http://www.fifi.org/cgi-bin/man2html/usr/share/man/man5/locale.gen.5

3
27.04.2011, 21:16
3 ответа

Исходный способ сделать это использовало hostid.

Страница справочника отмечает, что это:

32-разрядный идентификатор... обычно Интернет-адрес DARPA для локальной машины

т.е. это - IP-адрес машины в шестнадцатеричном числе.

Это означает, что не изменится просто, потому что кто-то должен был заменить поврежденную сетевую плату.
Это также означает, что это, как гарантируют, не будет уникально, например, если сети не будут настроены, или машина использует частный IP-адрес.

На самом деле это даже не могло бы быть установлено и может быть изменено суперпользователем, использующим sethostid или sysctl.

Я не могу найти ничего большого использования в sysctl -a вывод, кроме того, kern.hostid.
На OpenBSD существует hw.uuid, но это не доступно на FreeBSD.

После этого существует несколько команд, которые могли бы помочь, включая:

Большинство из них работает путем вызова ioctl на соответствующем устройстве.

Если необходимо сделать это в C, проверьте исходный код для вышеупомянутых команд для получения дополнительной информации.

Вы могли также посмотреть на libvolume_id или libblkid получить идентификатор корневой файловой системы. Поскольку они - порты, очевидно, ни один из тех не является частью основной системы, но один или другой мог бы быть установлен как часть стандартной настольной установки.

См. также: Получение уникального идентификатора от подобной Unix системы.

1
27.01.2020, 21:24
  • 1
    , По крайней мере, с тех пор 7.2, если не прежде, FreeBSD имеет kern.hostid как 32-разрядный уникальный идентификатор и kern.hostuuid как 128-разрядный уникальный идентификатор. размещенный действительно к маленькому для хорошего уникального идентификатора. –  penguin359 28.04.2011, 13:31
  • 2
    @penguin359: А-ч. Спасибо за это. Не видел его в странице справочника. –  Mikel 28.04.2011, 14:02
  • 3
    , который я не сделал также, я просто, сделали sysctl -a | host –  penguin359 28.04.2011, 23:44
  • 4
    @penguin359 xorg-twm действительно хороший материал, большое спасибо! Я буду ответ upvote Mikel, потому что он содержит этот поток. Спасибо @Mikel. Когда я прочитал ответ draeth, он поразил меня, что я мог использовать аппаратный идентификатор как PCI DEVID и такой для сборки аппаратной подписи. –  Stefan Midjich 29.04.2011, 08:23

Linux имеет инструмент, названный 'dmidecode', который может вытянуть S/Ns от большого количества существующих аппаратных средств, включая модули памяти (если обеспечено через DMI), диски, центральные процессоры и т.д. Это могло помочь - но понять, что многие из них могут измениться, на самом деле не изменяя машину!

Я не знаю наверняка, если FreeBSD имеет тот же инструмент, но я положителен, что у них есть что-то для заполнения той ниши.

1
27.01.2020, 21:24

DmideCode доступен для FreeBSD, я установил DmideCode-2.12 в моем выпуске FreeBSD 8.2.

Это дает полную аппаратную информацию как машины Linux.

1
27.01.2020, 21:24

Теги

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