SELinux简单配置
SELinux(Secrity-Enhanced Linux,安全增强式Linux)是一种强制存取控制的实现,它的作法是以最小权限原则为基础提供一些更强、更安全的强制存取控制架构来与内核的主要子系统共同动作。
SELinux等级有三个:
Enforcing: 强制的,如果违反则直接阻止
Permissive: 在违反规则时只警告,但是不阻止
Disables:表示 SELinux不启用
在启动SELinux时要重新启动系统才能使用。
SELinux可以通过不同的方式进行启动与关闭,也可以使它暂时的关闭与开启
永久关闭方法:1>setupàFirewall configuration-SELinux 自己选择打开关闭
2>使用命令:[root@localhost ~]# system-config-securitylevel 也可以选择
暂时关闭方法:setenforce 1 :暂时关闭SELinux
setenforce 0 :开启SELinux Permissive
简单查看SELinux的状态:
getenforce
SELinux中访问控制属性就叫安全上下文,所有的客体(如文件,进程间通信)和主体(进程)都有与其并联的安全上下文,一个安全上下文由用户、角色、和类型标识符3个部分组成,如下命令可以看到文件的安全上下文属性
在SELlinux中安全上下文中的用户和角色标识符除了对强制有一点约束之外对类型强制访问控制策略没有任何影响。我们看一个小例子来说明一下类型标识符的限制。
示例1 http的SELinux应用
[root@localhost www]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm
warning: httpd-2.2.3-31.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ################################### [100%]
1:httpd ################################### [100%]
现在我们可以正常的启动http服务
[root@localhost ~]# service httpd start
Starting httpd: [ OK ]
但是我们如果修改一下http默认的主目录,会出现怎么样的情况呢!
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
将<Directory "/var/www/html"> 修改为 <Directory "/html">
创建目录
[root@localhost ~]# mkdir /html
这时候我们再来重新启动一次
[root@localhost ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: httpd: Syntax error on line 306 of /etc/httpd/conf/httpd.conf: /etc/httpd/conf/httpd.conf:306: <Directory> was not closed.
[FAILED]