上下文
我需要禁用串行控制台作为唤醒源,以便在PC上通过串行按键连接时不会将设备从待机/休眠状态唤醒。我发现可以将/ sys / module / printk / parameters / console_suspend属性文件的值设置为'N'来实现。我有一个设置此值的API函数,但该函数是由非root用户调用的。这里的问题是/ sys / module / printk / parameters / console_suspend由root拥有,因此调用API函数时会引发权限被拒绝错误。我发现可以将udev规则设置为更改文件组,以便非root用户可以修改属性文件。
我尝试过的事情
我试图在/etc/udev/rules.d/extra.rules
SUBSYSTEM=="module", DEVPATH=="/module/printk", PROGRAM="/bin/sh -c 'chown root:groupA /sys/module/printk/parameters/console_suspend'"
后跟命令以重新加载规则
udevadm control --reload-rules
但是在系统启动或尝试时
udevadm trigger
此规则不适用。但是在运行测试时会应用
udevadm test /sys/module/printk
试图通过
调试 udevadm触发器调用udevadm monitor
但没有任何与/ sys / module / printk相关的输出
问题
1.甚至可以使用udev更改此文件的所有权吗?
2.除了udev以外,还有其他更改所有权的选项吗?
3.是否有其他选项可以禁用串行控制台作为唤醒源(例如某些/sys/.../wakeup文件)?