我正在尝试获取唯一的系统标识符。在研究过程中,我偶然发现了system serial number
这正是我所需要的(也在电脑机箱上)。序列号写入位于的文件中系统文件系统:
/sys/class/dmi/id/product_serial
。执行ls
显示该文件受到读保护并由 root 拥有:
-r-------- 1 root root 4096 Mai 29 16:00 product_serial
因此,我无法写入它(这是完美的),我也无法读取它,否则sudo
我的程序就无法执行。
如果我将此文件的所有权更改为我的用户(位于须藤组),那么我也可以用我的程序读取它,而无需使用 sudo。但每次重新启动时都会覆盖它。
我的问题是:可以在不使用的情况下读取该文件(序列号)吗sudo
?是否有其他方法可以获取我丢失的序列号?
是否存在udev
可以改变所有权的规则?我已经看到了它的hal
存在,并且做了我想做的事情,但支持那些有利于 的东西udev
。我还考虑过在系统启动时读取信息sudo
并将其保存在其他地方,但这样文件就可以更改...此外,dmidecode
还需要sudo
访问该文件..