我正在管理一个 Debian 11 bullseye 服务器,我想在一个充满其他 ID 的数据库中注册它的 ID。我希望在数据库中注册的 ID 与物理硬件保持一致(即不能被软件更改或欺骗)。到目前为止我有 3 个竞争者:
cat /etc/machine-id
这显然与设备的 MAC 地址有关?这可能很容易被欺骗,所以这种情况不会持续下去(我可能是错的)。
接下来的两个与产品供应商和其他东西有关:
cat /sys/class/dmi/id/board_serial
cat /sys/class/dmi/id/product_uuid
这些都与物理主板有关,所以我猜它更持久?但同样,我不确定这些是否可以改变。再说一遍,我正在寻找能够粘在与之相关的硬件上的东西,并且我已经看到了https://stackoverflow.com/questions/10152762/best-way-to-get-machine-id-on-linux。这不是我想要的。
如果以上3个都不正确,请告诉我哪里可以找到cat
真实的ID!希望这可以存储在某个文件中。我不想要加密哈希作为替代品。
答案1
这些都不是通用的。 MAC 地址很容易更改。我有几台服务器在board_serial
哪里None
。我有其他服务器product_uuid
在多个系统上是相同的。 MAC通常是唯一的,你只需要假设你没有任何恶意的人。/etc/machine-id
可以在启动时更改。本质上,如果您不信任拥有root权限的人,您就无法从系统中获得唯一的ID。