我遵循了有关“如何使用LKM在C程序中创建Linux Proc文件”的教程指南。
我已经成功制作了模块并将其装入。现在,我想回显我的proc文件,以确保该方法被调用,该方法应该被调用。
我试过了:
$ echo "hello" > /proc/procEntry123 # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123 # Same error message.
如何提升特权以回显此文件?我是该系统上的唯一用户和管理员。
但是它说许可被拒绝了!
之所以这样说是因为您在调用时设置了限制性权限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
功能-但是,这两种方法迟早都会引起麻烦。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句