【问题标题】:Not able to read a sysfs file无法读取 sysfs 文件
【发布时间】:2013-12-27 01:08:07
【问题描述】:

我正在尝试通过读取 sysfs 文件 /dev/cpu/0/msr 来读取机器特定寄存器 (MSR)。它通常仅对 root 具有读写权限。我将这些权限更新为 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

我需要做什么才能以普通用户身份访问该文件?

【问题讨论】:

    标签: file sysfs msr


    【解决方案1】:

    你可以在MSR man page找到:

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

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

    【讨论】:

    • 我试过了,但它不允许我更改文件功能。我执行以下操作(我还复制了响应): [my-user@machine-name 0]$ sudo setcap cap_sys_rawio+ep readmsr 无法设置文件“readmsr”的功能(不支持操作)用法:setcap [-q ] [-v] (-r|-|) [ ... (-r|-|) ] 注意 必须是常规(非符号链接)文件.
    • 您的内核可能不支持功能。试试这个:chmod u+s readmsr - 在你的可执行文件上设置 suid 位。或者干脆以 root 身份运行它。
    猜你喜欢
    • 1970-01-01
    • 2014-09-21
    • 2016-12-08
    • 1970-01-01
    • 2012-03-07
    • 2016-06-17
    • 2016-10-19
    • 2016-08-29
    • 1970-01-01
    相关资源
    最近更新 更多