我有一项hdparm-noapm.service
服务ExecStart=/ansible-managed/sourcejedi.hdparm-noapm/hdparm.sh
。感谢 SELinux,它被拒绝了。 SELinux 错误弹出窗口 (sealert) 显示
- 源进程:(dparm.sh)
- 尝试此访问:执行
- 在此文件上:hdparm.sh
为什么第一个字母被删掉了?
答案1
如果我在 .avc 中找到它,AVC 会显示相同的进程名称/var/log/audit/audit.log
。所以这不是 GUI 中的错误。
这里有两点。首先,在exec
使用程序之前,为服务创建的 systemd 进程会“重命名”自身。
其次,它不会为进程名称分配任何额外的空间,因此它的长度不能超过/sbin/init
. (面对内核init=
选项的行为留给读者作为练习)。程序名称的结尾被认为比开头更值得保留,因为“第一位可能只是‘systemd-’”。
根据 TODO,这将通过“PR_SET_PROCTITLE_AREA 如果它在内核中可用”来解决,即它将避免截断进程名称的需要。