SELinux 禁止 ACPI/udev 挂钩使用 sudo

SELinux 禁止 ACPI/udev 挂钩使用 sudo

我有一台 ThinkPad X220 平板电脑,配有可旋转显示屏。我和朋友一起编写的 thinkpad-scripts 集合挂钩到硬件事件(作为 root),然后运行脚本。这是 udev 文件:

event=ibm/hotkey HKEY 00000080 0000500[9a]
action=/usr/bin/thinkpad-rotate-hook %e

被调用的脚本(完整源码)然后以当前登录用户的身份调用用户脚本,如下sudo所示:

sudo -u $user -i env DISPLAY=:0.0 /usr/bin/thinkpad-rotate $set_to --via-hook

这在 Ubuntu 和 Arch Linux 上运行良好。然而在 Fedora 上,这从来没有奏效。查看系统日志,发现以下内容:

audit[28666]: AVC avc:  denied  { setgid } for  pid=28666 comm="sudo" capability=6  scontext=system_u:system_r:apmd_t:s0 tcontext=system_u:system_r:apmd_t:s0 tclass=capability permissive=0

我还提交了一份错误报告对照我自己的项目来跟踪我迄今为止所学到的知识。

据我了解 SELinux,我现在需要向 SELinux 添加一条规则来允许这种情况发生。我必须从哪里开始阅读才能弄清楚该怎么做?

相关内容