Redhat Enterprise Linux如何关闭SELinux

85次阅读
没有评论

共计 2044 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章主要介绍了 Redhat Enterprise Linux 如何关闭 SELinux,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

红帽企业 Linux 4 包括了一个 SELinux 的实现。SELinux 代表了用户,程序以及进程间相互交流的主要变化。在这个发行版本中,SELinux 被默认安装并被开启使用。

在安装的过程中,您可以选择禁用 SELinux,或是设置它只记录警告信息,或是使用它的只在以下守护进程中有效的目标化策略:dhcpd、httpd、mysqld、named、nscd、ntpd、portmap、postgres、snmpd、squid、syslogd

目标化策略在默认的情况下被启用。

红帽企业 Linux 4 使用在 ext2/ext3 文件系统上的扩展属性来支持 SELinux。这就意味着,当一个文件被写到默认挂载的 ext2/ext3 文件系统中时,一个扩展的属性也会被写入。

当系统有 红帽企业 Linux 4 和 红帽企业 Linux 2.1 双重启动的时候,这就可能会产生一些问题。红帽企业 Linux2.1 内核不支持文件的扩展属性,当它遇到文件的扩展属性时,系统可能会崩溃。

有 Linux 桌面用户在安装了 Redhat Enterprise Linux 4.0 后,可能会需要关闭 SELinux,正确的方法是:
修改 /etc/selinux/config 文件中的 SELINUX= 为 disabled,然后重启。
By wangzhijun, # 24. January 2006, 04:09:06

SELinux 中的 Apache 和 MySQL 设定

Fedora Core 3 在安装时默认把 SELinux 的选项激活了。SELinux 比普通的 Linux 内核提供了更高的安全性,理论上说,在系统因为未知漏洞溢出的时候,普通用户是不可能得到超级用户的权限了。但是,就是因为 SELinux 安全性的提高,导致我们在使用时,会发生一些我们以前从没遇到的问题。

前两天我在使用 Fedora Core 3 搭建 PHP+MySQL 的 WebServer 时就遇到了一些问题。现在整理一下,如果您也遇到同样的问题,那么,看过这篇文章,就应该可以轻而易举的解决了。

1. Apache – Document root must be a directory 问题。有可能和这个问题并发的问题还有 403 Forbidden 禁止访问的问题。

现象描述:
不使用系统默认的 /var/www/html 作为系统的 Document Root,自己新建一个目录后修改 /etc/httpd/conf/httpd.conf 中的配置,然后重起 Apache 的 Daemon,发现 Apache 无法起动,系统报错:
Document root must be a directory
但是,我们设置的 DocumentRoot 的确是一个目录,而且 apache 用户具有可读权限。

另一种情况:新建一个虚拟目录或文件后,无法访问,显示 Forbidden, 403 Error,但文件或目录有可读权限。
问题产生的原因:一开始我想来想去想不出为什么,但是给我感觉是权限的问题,用传统的 Linux 的思维方式来看,权限绝对没有问题。但是仔细一想,SELinux 是不是会有其他安全的设定?

检查 avc message,查看 /var/log/messages 文件,发现有类似以下内容的这样一段:

Dec 24 17:54:59 hostname kernel: audit(1098222899.827:0): avc: \ denied { getattr } for pid=19029 exe=/usr/sbin/httpd \ path=/var/www/html/about.html dev=dm-0 ino=373900 \ scontext=root:system_r:httpd_t tcontext=user_ubject_r:user_home_t \ t >

嘿嘿,问题找到了,果然是 SELinux 的新特性搞的鬼。我把目录或文件设成了 user_home_t 类型,因此 apache 的进程没有权限,无法访问。针对 Apache 的进程所使用的 SELinux target policy 规定了 apache 的进程只能访问 httpd_sys_content_t 类型的目录或文件。

解决办法:
很简单,把目录或文件的策略类型改成 httpd_sys_content_t 就可以了
使用 root 用户
# chcon -t httpd_sys_content_t 目录名或文件名
然后可以用 ls -laZ 命令查看文件目录的策略类型

这样你就成功的完成 Redhat Enterprise Linux 关闭 SELinux 了。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Redhat Enterprise Linux 如何关闭 SELinux”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计2044字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)