File 无法读取sysfs文件

File 无法读取sysfs文件,file,sysfs,msr,File,Sysfs,Msr,我试图通过读取sysfs文件/dev/cpu/0/msr来读取机器特定寄存器(msr)。它通常只对根用户具有读写权限。我将这些权限更新为666(当然使用sudo权限),然后尝试以普通用户的身份读取该文件。它不允许我那样做。但是,如果我尝试使用sudo打开文件,它允许我打开文件并读取 我还尝试使用chown命令更改文件的所有权。当前文件的状态如下: [my-user@machine-name]$ ls -l /dev/cpu/0/msr crw-rw-rw-. 1 my-user root 202

我试图通过读取sysfs文件
/dev/cpu/0/msr
来读取机器特定寄存器(msr)。它通常只对根用户具有读写权限。我将这些权限更新为666(当然使用sudo权限),然后尝试以普通用户的身份读取该文件。它不允许我那样做。但是,如果我尝试使用
sudo
打开文件,它允许我打开文件并读取

我还尝试使用
chown
命令更改文件的所有权。当前文件的状态如下:

[my-user@machine-name]$ ls -l /dev/cpu/0/msr
crw-rw-rw-. 1 my-user root 202, 0 Oct 25 16:23 /dev/cpu/0/msr
e作为普通用户访问该文件需要做什么?

如您所见:

此文件受保护,因此只能由root用户或root组成员读取和写入


类似的问题,您可以在那里找到如何授予访问这些文件的权限的说明。

我尝试过,但它不允许我更改文件功能。我做了以下工作(我也复制了回复):[my-user@machine-名称0]$sudo setcap cap_sys_rawio+ep readmsr未能在文件“readmsr”(不支持操作)上设置功能用法:setcap[-q][v](-r-)[…(-r-)]注意必须是常规(非符号链接)文件。内核可能不支持这些功能。请尝试以下操作:
chmod u+s readmsr
-在可执行文件上设置suid位。或者简单地将其作为根运行。