我刚刚在宽容模式下设置了一个带有 selinux 的 Web 托管服务器,这意味着它不安全,但向消息日志文件写入问题。一旦我修复了所有 avc:denied 错误,我将使服务器处于“强制”模式。但问题是。在 /var/log/messages 中,我遇到了以下错误:
Apr 3 14:32:30 narf kernel: type=1400 audit(1365013105.731:3): avc: denied { search } for pid=1319 comm="vsftpd" name="/" dev=dm-2 ino=2 scontext=system_u:system_r:ftpd_t:s0- s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
现在,我该如何从逻辑上解决这个问题,有人能提供一些建议吗?
答案1
看起来您希望普通用户(在 /home 中拥有内容)能够使用 FTP。
有一个布尔值可以解决这个问题。您可以按照以下步骤解决这个问题。
cat your_avc_txt.txt | audit2why
其结果为:
Apr 3 14:32:30 narf kernel: type=1400 audit(1365013105.731:3): avc: denied { search } for pid=1319 comm="vsftpd" name="/" dev=dm-2 ino=2 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
Was caused by:
One of the following booleans was set incorrectly.
Description:
Allow ftp to read and write files in the user home directories
Allow access by executing:
# setsebool -P ftp_home_dir 1
Description:
Allow ftp servers to login to local users and read/write all files on the system, governed by DAC.
Allow access by executing:
# setsebool -P ftpd_full_access 1
这会告诉您哪些布尔值控制此行为以及它们的作用,您应该启用两者中限制性最强的布尔值。因此,对于您的情况ftp_home_dir
。
答案2
下面的命令是最方便用户的。我只是 audit2why 整个 audit.log。
/usr/bin/audit2why < /var/log/audit/audit.log