首页 > 解决方案 > 从 Linux 操作系统中获得独特的价值

问题描述

我正在尝试从 Linux 服务器获取唯一值,例如硬件 ID,对于非 root 用户我尝试使用网络接口的 mac 地址,但在 venet0 接口(虚拟网络接口)中没有 mac 地址并且命令的输出ip addr是:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
    inet x.x.x.x/32 brd x.x.x.x scope global venet0:0
    inet6 ::2/128 scope global
       valid_lft forever preferred_lft foreve

那么对于非root用户并使用适用于所有Linux发行版的build in Linux命令,最好的方法是什么?

标签: linuxubuntucentosoperating-system

解决方案


您可以尝试获取CPU ID,或者更好的通用计算机 UUID

$ sudo dmidecode | grep UUID

有关更多选项,请参阅链接线程。当您似乎在虚拟化环境中工作时,请检查它们是否真的是独一无二的。也许还包含主机名。


推荐阅读