为了在配置服务的时候可以顺顺利利,这里先学习下SELinux安全子系统的原理以及配置。
SELinux安全子系统
Linux系统的双保险=SElinux域+SELinux安全上下文
- SELinux域:对服务程序的功能进行限制,确保服务程序做不了出格的事。【限制使用的功能】
- SELinux安全上下文:确保文件资源只能被其所属服务程序进行访问。【限制功能的合理使用】
在使用SELinux安全子系统的时候,可以从限制资源的角度去理解问题,首先看有没有这个功能,其次是这个功能有没有正确的被使用。
SELinux服务的配置模式
- selinux的配置模式
enforcing
【强制启动安全策略模式,拦截服务的不合法请求】
permissive
【若服务器越权访问,发出警告但不强制拦截】
disabled
【对越权行为,不警告也不拦截】 - 配置文件及命令
cat /etc/selinux/config
【查看selinux主配置文件的selinux的配置模式】
getenforce
【获取当前的SELinux服务的运行模式】
setenforce 0
【临时修改SELinux服务的运行模式,0为禁用,1为启用】【禁用enforcing,即相当于启用permissive】【0为启用permissive,1为启用enforcing】
一般SELinux安全子系统默认的配置模式是Enforcing
SElinux域(开启或禁用某个功能)
- 查询SELinux域中所有与HTTP协议相关的安全策略(什么功能是允许的,什么功能是禁止的)【
off
为禁止,on
为允许】【值为bool类型】
getsebool -a | grep httpd
【获取SELinux域的有关httpd服务程序的功能开启情况】 - 启用或禁用SELinux域中关于某项服务的功能
setsebool -P httpd_enable_homedirs=on
【修改参数httpd_enable_homedirs,-P为修改后的SELinux策略规则永久生效,且立即生效】【-P参数一定要加】
SELinux安全上下文(添加上下文,使得一般文件和目录文件支持某种服务)
- 查看文件或者目录的SELinux安全上下文
-Z
:查看文件的SElinux安全上下文
-d
:查看的文件是目录文件
- 管理SELinux安全上下文
①添加SELinux安全上下文(目录和目录下的所有文件都要添加)
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
【目录】
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
【目录下所有文件】
②让SELinux安全上下文立即生效
restorecon -Rv /home/wwwroot/
【-Rv参数对指定的目录进行递归操作,以及显示SELinux安全上下文的修改过程】