SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。
他主要从两方面进行访问限制。
域:对服务程序的功能进行限制
安全上下文:对文件资源的访问进行限制
1 SELinux服务有3种配置模式
enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
disabled:对于越权的行为不警告也不拦截。
查看当前模式命令
getenforce
修改当前模式命令(当前)
setenforce 0 \\改为permissive
serenforce 1 \\改为enforcing
修改模式配置文件(永久)
vim /etc/selinux/config
2 安全上下文
查看安全上下文
ls -Z
例如
ls -Zd /var/www/html
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
其中 httpd_sys_content_t 为安全上下文
又如
ls -Zd /home/wwwroot
drwxrwxrwx. root root unconfined_u:object_r:home_root_t:s0 /home/wwwroot
其中 home_root_t 为完全上下文
设置安全上下文
semanage命令
用于管理SELinux的策略,英文全称为“SELinux manage”,语法格式为 semanage [参数] [文件]
semanage命令中常用参数以及作用
参数 作用
-l 查询
-a 添加
-m 修改
-d 删除
例如
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
更新安全上下文
restorecon命令将设置好的SELinux安全上下文立即生效,可以加上-Rv参数对指定的目录进行递归操作
例如
restorecon -Rv /home/wwwroot/
3 域
查看域
getsebool -a
设置域
setsebool -P 功能限制=on/off
例如
setsebool -P httpd_enable_homedirs=on