从Linux操作系统获取唯一值

从Linux操作系统获取唯一值,linux,ubuntu,centos,operating-system,Linux,Ubuntu,Centos,Operating System,我正在尝试从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

我正在尝试从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
1:lo:mtu 65536 qdisc noqueue状态未知
链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
inet6::1/128作用域主机
永远有效\u lft首选\u lft永远有效
2:venet0:mtu 1500 qdisc noqueue状态未知
链接/无效
inet 127.0.0.1/32示波器主机venet0
inet x.x.x.x/32 brd x.x.x.x范围全局venet0:0
inet6::2/128范围全局
永远有效\u lft首选\u lft foreve
那么,对于非root用户,通过使用在所有Linux发行版上都适用的内置Linux命令,最好的方法是什么呢?

您可以尝试获得:


有关更多选项,请参见链接线程。由于您似乎在虚拟化环境中工作,请检查它们是否确实是唯一的。可能还包含主机名。

这是必需的根权限,但我要求非根权限用户如果使用虚拟环境,可能没有唯一的硬件ID。、、等。
$ sudo dmidecode | grep UUID