前几天我遇到了一个大问题,在这里询问,我发现是selinux造成的。我有一些虚拟机和物理机,操作系统为 CentOS 6.7 或 6.9。它们都有数据库,我想禁用selinux
它们,但我不确定禁用它是否会影响我的数据库。我想知道如果我禁用selinux
检查它是否对我的系统有任何不良影响会发生什么。它到底有什么selinux
作用以及禁用时会发生什么?我可以在不重新启动的情况下禁用它,还是只需重新启动网络或其他服务就足够了?
答案1
副作用是不再使用 SELinux 的附加访问限制。大多数时候,当软件正常运行时,预计不会有任何不同(通常的访问控制机制是在涉及 SELinux 之前防止意外访问)。
但是,您应该考虑调查问题的原因并解决它(可能是由于不正确的文件标签等;如果没有日志中提供的精确详细信息,则无法判断)。即使您决定禁用 SELinux,也可以禁用策略模块(请参阅semodule
)导致问题或将有问题的域设置为宽容模式(规则不强制执行,但仍会记录,请参阅semanage-permissive
)。
答案2
禁用 selinux 安全剧院可能会产生副作用(观看 Linux 的漏洞利用并询问 selinux 在哪里(一个sudo
用 selinux 编译的 CVE 漏洞利用 - 感谢您把门,selinux),然后发现 selinux 有助于防止BIOS 密码在实验室机器上设置,这对我来说是 selinux 的最后一根稻草);特别是 Centos Linux 7 上的 KVM virt 服务器,其托管启用了 selinux 的虚拟机,在禁用 selinux 后将无法启动这些虚拟机(设置 security_driver="none" 没有帮助),因此在 selinux 上浪费了更多时间后,我结束了几乎所有东西都禁用了selinux,但在启用selinux时设置virt的virt服务器上设置为启用但许可。可能还会存在其他此类边缘情况和陷阱;对于某些 mysql 和 postgresql 数据库服务器,selinux 被禁用,但我们并没有对这些数据库服务器做太多复杂的事情。