加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在没有sudo的情况下解压缩Linux序列号

发布时间:2020-12-13 19:51:42 所属栏目:Linux 来源:网络整理
导读:可以在不使用sudo的情况下提取 Linux序列号吗? 我知道在Windows中可以这样做:wmic bios获取serialnumber和in MAC OS system_profiler | grep“r(系统)”它们都不需要root权限. 在Linux中可以使用:sudo dmidecode -s system-serial-number但它需要sudo.还
可以在不使用sudo的情况下提取 Linux序列号吗?

我知道在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 modalias
drwxr-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_version
lrwxrwxrwx 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用户进行读取.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读