SELinux的启动、关闭与查看
1,并非所有的Linux distributions 都支持SELinux的
目前SELinux支持三种模式,分别如下:
?enforcing:强制模式,代表SELinux运作中,且已经正确的开始限制
domain/type 了;
?permissive:宽容模式:代表SELinux运作中,不过仅会有警告讯息并不会实际限制domain/type 的存取。这种模式可以运来作为SELinux的debug 之用;?disabled:关闭,SELinux并没有实际运作。
2,查看SELinux的模式
# getenforce
Enforcing <==就显示出目前的模式为Enforcing
3,查看SELinux的政策(Policy)?
[root@master oracle]# sestatus
SELinux status: enabled <==是否启动SELinux SELinuxfs mount: /selinux<==SELinux的相关文件资料挂载
点
Current mode: enforcing <==目前的模式
Mode from config file: enforcing <==设定档指定的模式
Policy version: 21
Policy from config file: targeted <==目前的政策为何?
4,通过配置文件调整SELinux的参数
[root@www ~]# vi /etc/selinux/config
SELINUX=enforcing <==调整enforcing|disabled|permissive SELINUXTYPE=targeted <==目前仅有targeted 与strict
5,SELinux的启动与关闭
【重要常识】上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;如果由enforcing 或permissive 改成disabled ,或由disabled 改成其他两个,那也必须要重新开机。这是因为SELinux是整合到核心里面去的,你只可以在SELinux运作下切换成为强制(enforcing) 或宽容(permissive) 模式,不能够直接关闭SELinux的!
同时,由SELinux关闭(disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现getenforce出现disabled 时,请到上述文件修改成为enforcing 吧!
【重点】如果要启动SELinux必须满足以下两个点:
所以,如果你要启动SELinux的话,请将上述的SELINUX=enforcing 设定妥当,并且指定SELINUXTYPE=targeted 这一个设定,并且到
/boot/grub/menu.lst这个文件去,看看核心有无关闭SELinux了呢?
[root@www ~]# vi /boot/grub/menu.lst
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
titleCentOS (2.6.18-92.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0
initrd /initrd-2.6.18-92.el5.img
# 如果要启动SELinux,则不可以出现selinux=0 的字样在kernel 后面!
【问题】通过上面的学习我们知道,如果将启动着的SELinux改为禁用,需要
重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢?
【答案】将强制模式改为宽松模!
[root@www ~]# setenforce [0|1]
选项与参数:
0 :转成permissive 宽容模式;
1 :转成Enforcing 强制模式
范例一:将SELinux在Enforcing 与permissive 之间切换与查看
[root@www ~]# setenforce 0
[root@www ~]# getenforce
Permissive
[root@www ~]# setenforce 1
[root@www ~]# getenforce
Enforcing
6,查看已启动程序的type设定
[root@master oracle]# ps aux -Z
LABEL USER PID %CPU %MEM
VSZ RSS TTY STAT START TIME COMMAND
system_u:system_r:init_t root 1 0.0 0.4 2060 520 ? Ss May07 0:02 init [5
system_u:system_r:kernel_t root 2 0.0 0.0 0 0 ? S< May07 0:00 [migra]
system_u:system_r:kernel_t root 11 0.0 0.0 0 0 ? S< May07 0:00 [kacpi]
system_u:system_r:auditd_t root 4022 0.0 0.4 12128 560 ? S system_u:system_r:auditd_t root 4024 0.0 0.4 13072 628 ? S system_u:system_r:restorecond_t root 4040 0.0 4.4 10284 5556 ? Ss May07 0:00 /usr/sb 说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!