如何在内核中启用 selinux

如何在内核中启用 selinux

我正在使用 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 之前。

相关内容