SELinux 介绍

1540阅读 0评论2015-11-05 feiaix
分类:LINUX

一、SELinux模式介绍
目前RHEL SELinux 支持三种模式,分别如下:
1)enforcing:强制模式
代表 SELinux 运作中,且已经正确的开始限制 domain/type 了; 
2)permissive:宽容模式:
代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用; 
3)disabled:关闭,SELinux 并没有实际运行。

二、查看当前的模式
# getenforce 
Enforcing  <==表示当前的模式为Enforcing
Disabled   <==表示禁用SElinux

三、查看SElinux的Policy
# sestatus
SELinux status: enabled   <==是否启动SELinux
SELinuxfs mount: /selinux <==SELinux相关文件挂载点
Current mode: enforcing   <==当前的模式
Mode from config file: enforcing  <==配置文件指定的模式,即/etc/selinux/config中配置的模式。
Policy version: 21
Policy from config file: targeted <==当前前SELINUXTYPE值。


四、永久修改SElinux模式
#vi /etc/selinux/config 
SELINUX=enforcing    <==调整为 enforcing|disabled|permissive 
SELINUXTYPE=targeted <==目前仅有 targeted 与 mls可选
##########
SELINUX=disabled  禁用SELinux
SELINUX=enforcing 启用SELinux
##########

五、SElinux模式转换
需要注意的是,如果改变了SElinux模式则需要重启机器,这是因为SELinux 是整合到核心里面去的,你只可以在SELinux运行时切换成为强制 (enforcing)或宽容(permissive)模式,不能够直接关闭
以下SElinux模式转换必须重启机器,SELinux关闭 (disable) 的状态到开启的状态也需要重新启动系统。
enforcing  -> disabled
permissive -> disabled
disabled   -> enforcing
disabled   -> permissive
在系统不重启时只能在enforcing<->permissive之间转换。
root@# setenforce [0|1] 
选项与参数: 
0 :转成 permissive 宽容模式; 
1 :转成 Enforcing 强制模式
e.g. :将 SELinux 在 Enforcing 与 permissive 之间切换与查看 
[root@www ~]# setenforce 0 
[root@www ~]# getenforce 
Permissive 
[root@www ~]# setenforce 1 
[root@www ~]# getenforce
Enforcing

六、查看已启动程序的type设定 
[root]# ps aux -Z

七、应用场景举例:
   发现服务一启动,马上停止,在网上查找资料,找到安装时要先禁用SELinux,再安装MySQL,步骤是:
1)关闭SELinux,重启系统;
2)安装MySQL(MySQL server应该可以启动了);
3)启用SELinux,重启系统,之后MySQL server就可以正常启动了。
   


上一篇:AIX FTP问题
下一篇:Linux Firewall (iptables, system-config-firewall)