我正在使用AWS上的Linux -64 AMI。 我正试图让我的邮件服务器在框中运行。
试图打开SELinux我做到了
编辑/boot/grub/grub.conf并将selinux=1添加到内核语句的末尾
然后touch /.autorelabel
然后重新启动。
重新启动后,我的网页浏览到我的网站,我得到一个服务器访问错误,说我不能访问/
当然,我不想成为根。 这里出了什么问题?
我怎样才能让SELinux启用,所以我可以运行一个邮件服务器?
SELinux在默认情况下是非常受限制的,具体取决于分发。 您将不得不显式启用访问权限,具体取决于您的configuration。
在红帽的情况下,在启用SELinux的情况下,/ var / www是访问权限,但是如果您的站点位于/ home,则不会。 您必须启用它:
setsebool -P httpd_enable_homedirs on
您可以拉取可以启用的策略列表:
getsebool -a
这是很多,所以你将不得不grep您想要启用访问的服务。 同样,在红帽的情况下,你只需要启用后台处理邮件,所以默认情况下它将工作。 但是,这可能与您的分配有所不同。 这和你的网站目录可能在一个完全不同的位置。
所以你需要去selinux目录,看一下策略,angular色和文件上下文,
/etc/selinux
并将适当的标签应用于文件。
我build议你把这看作是一个基本的起点:
http://selinuxproject.org/page/Main_Page
如果你想继续运行SELinux。 否则,要么使用一个不同的发行版,以便您可以轻松pipe理SELinux,或者将其设置为允许模式,并使用其他一些机制来保护您的服务器 – 至less在获得SELinux的权限之前。