SELinux案例
如果相同的sudo命令仅在守护程序中缓慢,而在命令行中快速,则很可能是SELinux引起的。(SELinux = NSA Security-Enhanced Linux内核模块,默认情况下在Fedora中启用。)
典型的情况是http服务器和用于服务器管理的特殊脚本,限于sudoers
:
apache ALL=(root_or_user) NOPASSWD: /full/path/the_safe_command
在这种情况下,典型的情况是审核日志中未报告关于SELinux的任何信息ausearch -m avc -ts today
,但是如果我们暂时禁用by,则脚本运行得很快setenforce 0
。(然后通过启用setenforce 1
)
在延迟25秒之后,系统日志(journalcrl)中唯一相关的消息是:
... sudo [...] pam_systemd(sudo:session):创建会话失败:未收到回复。可能的原因包括:远程应用程序未发送答复,消息总线安全策略阻止了答复,答复超时到期或网络连接断开。
... sudo [...]:pam_unix(sudo:session):由(uid = 0)为root用户打开的会话
可以启用semodule -DB
和禁用所有静默的“ dont-audit” SElinux消息的日志记录semodule -B
。
(我希望我很快在这里针对这种情况编写SELinux策略模块,或者可以使用此答案中的方法。)