我知道在windows中可以这样做:wmic bios获取serialnumber和in
MAC OS system_profiler | grep“r(系统)”它们都不需要root权限.
在linux中可以使用:sudo dmIDecode -s system-serial-number但它需要sudo.还有其他方法吗?
谢谢
解决方法 dmIDecode使用/ dev / mem从物理内存中读取此信息,这需要root.linux内核也通过虚拟目录/ sys / devices / virtual / dmi / ID中的sysfs提供相同的信息.
不幸的是,有人认为该虚拟目录中的所有信息都对所有人开放,只读而不是序列号:
$ls -l /sys/devices/virtual/dmi/ID-r--r--r-- 1 root root 4096 Nov 25 17:12 bios_date-r--r--r-- 1 root root 4096 Nov 14 14:59 bios_vendor-r--r--r-- 1 root root 4096 Nov 25 17:12 bios_version-r--r--r-- 1 root root 4096 Nov 25 17:12 board_asset_tag-r--r--r-- 1 root root 4096 Nov 25 17:12 board_name-r-------- 1 root root 4096 Nov 25 17:12 board_serial-r--r--r-- 1 root root 4096 Nov 14 14:59 board_vendor-r--r--r-- 1 root root 4096 Nov 25 17:12 board_version-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_asset_tag-r-------- 1 root root 4096 Nov 25 17:12 chassis_serial-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_type-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_vendor-r--r--r-- 1 root root 4096 Nov 25 17:12 chassis_version-r--r--r-- 1 root root 4096 Nov 25 17:12 modaliasdrwxr-xr-x 2 root root 0 Nov 25 17:12 power-r--r--r-- 1 root root 4096 Nov 14 14:59 product_name-r-------- 1 root root 4096 Nov 25 17:12 product_serial-r-------- 1 root root 4096 Nov 14 14:59 product_uuID-r--r--r-- 1 root root 4096 Nov 14 14:59 product_versionlrwxrwxrwx 1 root root 0 Nov 14 14:59 subsystem -> ../../../../class/dmi-r--r--r-- 1 root root 4096 Nov 14 14:59 sys_vendor-rw-r--r-- 1 root root 4096 Nov 14 14:59 uevent
如果您可以安装软件包hal(默认情况下不会在最近的Ubuntu版本上安装),则此命令将作为非root用户使用:
lshal | grep system.harDWare.serial system.harDWare.serial = '<serial_number>' (string)
这是因为package hal安装了hald守护进程,它以root身份运行并收集这些数据,使得lshal可以将其作为非root用户进行读取.
总结以上是内存溢出为你收集整理的在没有sudo的情况下解压缩Linux序列号全部内容,希望文章能够帮你解决在没有sudo的情况下解压缩Linux序列号所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)