SElinux是一个强制访问控制的安全子系统,是为了让各个服务进程都受到约束,只能获取到属于自己的资源
SElinux有三种配置模式:
1:enforcing--强制启动安全配置策略,拦截不合法的请求。
2:permissive--遇到服务越权访问是=时,只发出报警而不去拦截。
3:disabled--对于越权的行为不报警也不拦截。
SElinux主配置文件--- /etc/selinux/config 其中定义的是selinux的默认运行状态,也就是说他是系统重启后的运行状态,不行修改后就立即生效(本人小白嫌麻烦把SElinux禁了,非常不建议将其关了)。
使用getenforce查看selinux的运行模式
可用setenforce 【0/1】命令修改selinux的运行模式(0为禁用 1为启用)----这种方式的修改只是零时的,系统重启后失效。
在文件上设置的selinux安全上下文是由用户段,角色段以及类型多个信息项共同组成。
system-u代表系统进程的身份,角色段object_r代表文件目录的角色,类型段home_root_t代表home服务的系统文件
semanage命令
semanage用于修改管理selinux的策略
semanage常用参数:
-l 用于查询
-a 用于添加
-m 用于修改
-d 用于删除
例如:向一个新的网站目录中添加一条selinux安全上下文,让httpd能访问这个目录下的所有文件(/home/wwwroot网站的目录):
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
还要使用restorecon命令将设置好的selinux上下文立即生效,加上-Rv参数可以对指定目录递归操作并显示修改过程。