1:selinux 是否启动的查看
selinux的状态有3中,Disabled,Permissive 和 enforcing
Diabled:表示selinux关闭,没有启动;其他两种均表示selinux启动了,只是运行的模式不一样;Permissive表示 安全策略被加载,但是当访问被deny时,并不阻止,只是记下log;enforcing则是真正的selinux运行了,当某个访问,被系统检测到没有权限时,就阻止;
首先查看selinux是否运行,命令getenforce;
如果得到的值为enfocing, 就没问题了,表示运行了;
如果得到的值为permissive,则表示selinux打开了,但是没有执行,可以使用命令setenforce 1 ,将状态设置为enforcing
如果得到的值为diabled,则查看2个地方:
一是:/boot/grub/grub.cfg 中,是否有selinux=1 ?
这里selinux=1表示kernel启动时,会读取/etc/selinux/config 文件,根据其配置加载安全策略;如果selinux=0, 则表示已Disabled的方式启动selinux;
二是:/etc/selinux/config 文件中的SELINUX为什么值,看是否为enforcing;
2:selinux的一些状态查看命令
sestatus -vb
-v: 查看/etc/sestatus.conf 文件中的信息,主要是一些file和process的security context值;
-b: 查看一些policy boolean值,例如allow_mount_anyfile 等;
sestatus查看了selinux的基本信息:
seinfo -Atrub
查看selinux 所有的type,role,user,boolean
例如:
3:改变某个文件的安全上下文
chcon [-R] [-t type] [-u user] [-r role] 文件/目录
-R: 连同该目录下的次目录也修改
-t: 后面连接type
-u 和 -r同理
--reference=范例,表示将要修改文件的security context修改为范例的安全上下文;
例如:
4:恢复某个文件原始的安全上下文
restorecon -Rv 文件
/目录
-R:连同该目录下的次目录页修改
-v:将修改的过程显示出来