Bash:檔案寫入權限被拒絕

Bash:檔案寫入權限被拒絕

我跟著這個教程指南關於「如何使用 LKM 在 C 程式中建立 Linux Proc 檔案」。

我已經成功地創建了我的模組並將其加載。

我努力了:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.

如何提升權限以回顯此文件?我是該系統的唯一使用者和管理員。

答案1

但它說權限被拒絕!

它可能會這麼說,因為您在呼叫時設定了限制性權限create_proc_entry()。 (0644 翻譯為“u=rw,go=r”,它只授予所有者寫入權限,預設為 root。)

我把“sudo”放在它前面 - 同樣的消息。

諸如>或 之類的重定向|由正在運行的 shell 執行,它調用sudo.

您必須使用sudo sh -c "echo blah > /proc/blah"或執行 root shell sudo -s

我是唯一的用戶 - 這是我自己的個人機器!

這在 Linux 中並不重要。無論誰使用計算機,都會強制執行檔案權限。

如果您不想這樣做,可以以 root 身份登錄,或使用pam_cap給自己賦予該cap_dac_override功能 – 但無論哪種方法將要遲早會帶來麻煩。

相關內容