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

Alb*_*rto 7 linux serial-number

可以在不使用sudo的情况下提取Linux序列号吗?

我知道在Windows中可以做到这一点:wmic bios get serialnumber在MAC OS system_profiler |grep "r (system)"中它们都不需要root权限.

在Linux中可以使用sudo dmidecode -s system-serial-number它:但它需要sudo.还有其他方法吗?

谢谢

mvp*_*mvp 13

dmidecode使用/dev/mem需要root的物理内存读取此信息.

Linux内核也通过虚拟目录中的sysfs提供相同的信息/sys/devices/virtual/dmi/id.

不幸的是,有人认为该虚拟目录中的所有信息都对所有人开放,只读而不是序列号:

$ 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
Run Code Online (Sandbox Code Playgroud)

如果您可以安装软件包hal(默认安装在最近的Ubuntu版本上),则此命令将作为非root用户使用:

 lshal | grep system.hardware.serial

 system.hardware.serial = '<serial_number>'  (string)
Run Code Online (Sandbox Code Playgroud)

这是因为package hal安装hald守护进程,它以root身份运行并收集此数据,从而可以lshal将其作为非root用户进行读取.

  • 这个包安装了 `hald` 守护进程,它以 root 身份运行并收集这些数据,使 `lshal` 可以读取它。 (2认同)
  • Ubuntu 20.04 中的 hal 相当于什么? (2认同)