本文章介绍SELinux基础、SELinux域及上下文的概念以及如何修改文件的上下文
SELinux(Secure Enhanced Linux)安全增强的Linux是NSA针对计算机基础机构开发的一个全新的Linux安全机制
SELinux是一个内核级安全机制,内核2.6之后集成在Linux内核中
CentOS/RHEL默认开启SELinux
SELinux定义了两个基本概念:
域: 对进程进行限制
上下文: 对文件进行限制
以下可显示文件的SELinux上下文信息:
ls -Z
以下可显示进程的SELinux域信息:
- ps -Z
SELinux通过策略规定哪些域可以访问哪些上下文(哪些进程可以访问哪些文件)
SELinux有很多预置策略,我们通常不需要自定义策略,除非需要对自定义程序、服务进行SELinux保护
命令restorecon可以用来恢复一个文件的默认SELinux上下文:
- restorecon -R /var/www
命令chcon可以用来修改一个文件的SELinux上下文:
- chcon --reference=/etc/named.conf.orig /etc/named.conf
把/etc/named.conf的上下文更改成为/etc/named.conf.orig 的上下文
CentOS/RHEL默认使用目标策略
SELinux有三种工作模式:
enforcing 强制模式,任何违反策略的行为都会被禁止,并且产生警告信息
permissive 允许模式,违反策略的行为不会被禁止,只产生警告信息
disabled 关闭SELinux
SELinux模式可以通过修改配置文件:/etc/sysconfig/selinux进行修改
命令getenforce可以查看当前SELinux工作模式
命令setenforce可以修改当前SELinux工作模式
比如说我们现在开启了httpd服务,目录下没有文件,访问127.0.0.1出现的是默认的Apache网页,
如果说我们在root的根目录下创建一个index.html的文件,然后移动到/var/www/html下,然后我们再刷新网页,但是网页还是原来的样子,那么现在这种情况就是SElinux的目标策略在起作用,也就是说,index.html的文件的上下文和/var/www/html的上下文不一样才导致我们无法正常访问正确的网页。
那么我们进入/var/www目录下通过命令:
restorecon -R /var/www/html 恢复一下这个文件夹以及这个文件夹下的所有文件的上下文。
上下文更改之后,我们就可以正常访问了。
本文出自 “song” 博客,请务必保留此出处http://song1230.blog.51cto.com/5595296/1175093