浅谈SELinux的配置以及排错问题

SELinux(Security-EnhancedLinux)是美国国家安全局(NAS)对于强制访问控制的实现,字面上的意思就是安全强化的linux之意。

1.开启selinux 后要重新启动系统才能生效

2.也可以在修改

[root@localhost ~]# vim /etc/sysconfig/selinux

6 SELINUX=enforcing        #设置为强制

[root@localhost ~]# vim /etc/sysconfig/i18n

LANG="zh_CN.UTF-8"  #中文界面

没有图像界面解决

2.安装apache 测试selinux 及排错

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm

设置默认主目录为/abc

[root@localhost ~]# mkdir /abc

[root@localhost ~]# vim index.html

[root@localhost ~]# cd /etc/httpd/conf/

[root@localhost conf]# vim httpd.conf

281 DocumentRoot "/abc"

开启selinux以后,再次启动httpd的时候发现已经不能启动了。

而且selinux也会出现如下界面

点击一下就会出现如下界面:

如果没有安装图形界面可以通过查看日志:

[root@localhost ~]# tail -f /var/log/messages

最后一行提示

run sealert -l 6d4b54ef-9617-48f0-9613-b7cc1e18f21b

咱们试着运行一下:效果是一样的

先把selinux的参数修改一下试试

[root@localhost ~]# setenforce 0 /1 #0代表警告 但是可以运行,1代表强制

[root@localhost ~]# getenforce #得到selinux的状态。

Enforcing

这样就不用重启系统,比较方便。把参数值改为0的时候是可起来的。1就不能起来

只要把目标和源的上下文修改为一致就可以了

命令如下:

[root@localhost ~]# chcon -R -t httpd_sys_content_t /abc

设置完就可以正常启动和访问了。

下面修改一下监听端口,发现又启动不了了

[root@localhost ~]# cd /etc/httpd/conf

[root@localhost conf]# vim httpd.conf

134 Listen 800

查看selinux支持的http端口

[root@localhost ~]# semanage port -l |grep http

http_cache_port_t tcp 3128, 8080, 8118, 11211, 10001-10010

http_cache_port_t udp 3130, 11211

http_port_t tcp 80, 443, 488, 8008, 8009, 8443

pegasus_http_port_t tcp 5988

pegasus_https_port_t tcp 59

修改方法,把800加入到selinux支持http的端口

[root@localhost ~]# semanage port -a -t http_port_t -p tcp 800

重启一下,就可以基于端口访问

例如::800/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fd0764e6c4bb079619c03f429056c551.html