我正在使用 AWS 上的 Linux -64 AMI。我正在尝试让我的邮件服务器在该机器上运行。
为了尝试打开 SELinux,我
编辑/boot/grub/grub.conf
并添加selinux=1
到内核语句的末尾
然后touch /.autorelabel
然后重新启动。
重新启动后,我浏览我的网站,出现服务器访问错误,提示我无法访问/
我当然不想成为根源。这里到底出了什么问题?
如何启用 SELinux 以便运行邮件服务器?
答案1
默认情况下,SELinux 的限制非常严格,具体取决于发行版。您必须根据您的配置明确启用访问权限。
对于 Red Hat,启用 SELinux 后,/var/www 是可以访问的,但如果您的网站位于 /home,则无法访问。您必须使用以下命令启用它:
setsebool -P httpd_enable_homedirs on
您可以使用以下命令提取可启用的策略列表:
getsebool -a
它有很多,所以你必须 grep 你想要启用访问权限的服务。同样,在 Red Hat 的情况下,你只需要启用邮件假脱机,所以默认情况下它会起作用。但是,它可能与你的发行版不同。那和你的 web 目录可能在完全不同的位置。
因此您需要进入 selinux 目录并查看策略、角色和文件上下文,它们可能位于以下位置:
/etc/selinux
并对文件应用适当的标签。
我建议您将此视为一个基本起点:
http://selinuxproject.org/page/Main_Page
如果您想继续运行 SELinux。否则,要么使用其他发行版,以便于您管理 SELinux,要么暂时将其置于宽容模式,并使用其他机制来保护您的服务器 - 至少在您掌握 SELinux 之前。