2013-12-09 253 views
0

我正嘗試通過讀取sysfs文件/dev/cpu/0/msr來讀取機器特定寄存器(MSR)。它通常具有隻讀根權限的讀寫權限。我將這些權限更新到666(當然使用sudo權限),然後嘗試以普通用戶的身份讀取文件。它不允許我這樣做。但是,如果我試圖用sudo打開文件,它允許我打開文件並閱讀。無法讀取sysfs文件

我也嘗試使用chown命令更改文件的所有權。目前該文件的狀態如下:

[[email protected]]$ ls -l /dev/cpu/0/msr 
crw-rw-rw-. 1 my-user root 202, 0 Oct 25 16:23 /dev/cpu/0/msr 

需要做哪些操作才能以普通用戶的身份訪問該文件?

回答

0

正如你在MSR man page發現:

此文件的保護,它可以讀取並只能由用戶root寫,或組根的成員。

Here is類似的問題,你可以找到指示如何授予訪問這些文件的權限。

+0

我試過了,但它不允許我改變文件功能。我做了以下操作: $ sudo setcap cap_sys_rawio + ep readmsr 無法對文件'readmsr'設置功能(操作不支持) 用法: setcap [-q] [-v](-r | - | [...(-r | - | ] 注意必須是常規(非符號鏈接)文件。 –

+0

您的內核可能不支持功能。試試這個:'chmod u + s readmsr' - 在你的可執行文件上設置suid位。或者乾脆以root身份運行它。 – Chemik