我有一个系统,其中一些程序在履行其职责时在 SELinux 中被拒绝访问。这些程序是 ClamAV、fail2ban 和 Logwatch。
我想我已经按照 SELinux 故障排除程序中的指示成功允许了 ClamAV (Clamscan) 的所有访问。我在故障排除程序中也允许了fail2ban和Logwatch,但我怀疑它们仍然被拒绝某些访问。
以下是允许程序的命令:
grep fail2ban-client /var/log/audit/audit.log | audit2allow -M mypol
和
semodule -i mypol.pp
问题:
我如何找出 SELinux 拒绝这些程序的访问权限、它们在系统上所需的访问权限以及如何解决此问题?
这是: ausearch-m avc
答案1
有时,selinux 会拒绝对资源的访问而不进行日志记录。检查“不审核”规则是否启用。使用“semodule -B”或“-DB”启用或临时禁用它。
答案2
SELinux 日志的位置就在那里:日志记录完成于
/var/log/audit/audit.log
tailf 该文件并使用 grep 管道来搜索你要查找的内容
使用文本编辑器打开 /etc/selinux/targeted/booleans 文件:
vi /etc/selinux/targeted/booleans
例如为了控制Apache
修改 httpd_disable_trans 的值,如下所示:httpd_disable_trans=1
保存并关闭文件。键入以下两个命令:
# setsebool httpd_disable_trans 1
# /etc/init.d/httpd restart
如果你想在 X 上执行此操作
打开 shell 提示符
输入命令
system-config-securitylevel &
选择 SELinux 选项卡 > 单击“禁用 httpd 守护程序的 SELinux 保护”复选框 > 保存更改
# /etc/init.d/httpd r
重新启动 selinux 以进行更改