CentOS Selinux 配置强制执行但无法启动

CentOS Selinux 配置强制执行但无法启动

我最近发现 selinux 是disabled,但配置文件说 selinuxenforcing模式已设置。我阅读了有关 selinux 被禁用的原因。我怀疑是内核的问题。但我找不到该怎么做才能解决这个问题。我不敢碰任何东西,因为系统是远程运行的。我和系统之间的连接只有安全外壳。我和服务器之间相隔几大洲。所以,我需要解决这个问题,而不能使服务器无法访问 :) 我应该遵循哪些步骤?

服务器信息:

Centos 6.5
Linux 2.6.32-042stab068.8 #1 SMP Fri Dec 7 17:06:14 MSK 2012 i686 i686 i386 GNU/Linux

服务器在 VPS 上运行,配置非常奇怪。我甚至没有检测到安装了哪个引导加载程序来检查引导加载程序中的 selinux 配置。

分区(根据 mtab):

/dev/simfs / simfs rw,relatime 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /dev devtmpfs rw,relatime,mode=755 0 0
none /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
none /dev/shm tmpfs rw,relatime 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

编辑:不幸的是,我了解到服务器中的内核不支持 Selinux。因为它是专门为OpenVZ

答案1

您说虚拟机是基于 OpenVZ 的。OpenVZ 不支持 SELinux,这是由于容器的工作方式。它不在内核中,因此实际上不会强制执行。我会按照文档中的建议将配置设置为禁用。您唯一的解决方案是使用具有不同虚拟机管理程序的 VM,例如在网络托管行业中流行的 KVM/XEN。它们使用完全硬件虚拟化,并且不受基于容器的虚拟化的限制。

答案2

您应该知道,SELINUX 可以在运行时设置为强制执行或不强制执行,与启动时不同。

来自CentOS 网站上的文档

sestatus 命令显示当前模式以及启动时引用的配置文件中的模式:

sestatus | grep -i mode

Current mode: permissive

Mode from config file: permissive

请注意,更改运行时强制执行不会影响启动时配置:

setenforce 1 sestatus | grep -i mode

Current mode: enforcing

Mode from config file: permissive

我建议立即将其更改为宽容模式,直到您可以进行您知道安全的更改以避免被锁定。然后,您可以制定策略,检查日志以查看哪里会出现拒绝,最后在您知道发生了什么事情时启用严格执行。

您可以在 /etc/grub.conf 或 /etc/selinux/config 中禁用,具体取决于您的配置。您还可以使用setenforce 0 -p永久保存更改。

相关内容