一、是什么
它叫做“安全增强型 Linux(Security-Enhanced Linux)”,简称 SELinux,它是 Linux 的一个安全子系统
二、有啥用
就是最大限度地减小系统中服务进程可访问的资源(根据的是最小权限原则)。避免权限过大的角色给系统带来灾难性的结果。
三、怎么用
移动文件权限依然是之前目录的, 复制文件权限是目标文件的
查看文件或进程的selinux上下文:
ps -axZ
ls -Zl 查看目录里的文件的上下文。
ls -Zd 查看目录的上下文。
上下文组成:用户、角色、类型、敏感度级别
selinux三种安全模式:
强制:enforcing
许可:permissive
禁用:disabled
查看当前模式:
getenforce
设置安全模式:
#setenforce 1 或者 0 #重启失效 1是强制 0是许可
1.永久设置:
#vi /etc/selinux/config
SELINUXTYPE=targeted //将等号后面的替换为状态
2.更改文件或目录的上下文:
change context
#chcon -t httpd_sys_content_t /virtual #更改后立即生效
chcon修改 目录权限后,目录里的文件权限不变
#ls -Zd /virtual 查看
restorecon -v /virtual 恢复目录的默认上下文。
semanage -a 添加规则
-d 删除规则
-l 查看规则。
3.semanage fcontext -a -t htpd_sys_content_t '/virtual(/.*)?' 添加上下文规则 修改默认值
(/.*)?' 文件下的所有文件
restorecon -RFv /virtual 递归恢复上下文 R递归 F强追 v显示到屏幕
不恢复不改变
ls -Zd /virtual
ls -Z /virtual 查看是否生效。
四、使用布尔值调整selinux策略
getsebool -a 查看所有
getsebool -a | grep ftp #查看ftp服务相关项布尔值。
setsebool 更改布尔值
[root@hfj /]# setsebool ftpd_anon_write on #打开ftp匿名写。
[root@hfj /]# getsebool -a |grep ftp #查看ftp服务
ftpd_anon_write --> on
[root@hfj /]# semanage boolean -l | grep ftp #查看ftp服务
ftpd_anon_write (开 , 关) Allow ftpd to anon write
[root@hfj /]# setsebool -P ftpd_anon_write on #-P两个开关都打开,重启后生效。
[root@hfj /]# semanage boolean -l | grep ftp #查看ftp服务
ftpd_anon_write (开 , 开) Allow ftpd to anon write
列出当前状态与默认状态不同的布尔值:
semanage boolean -l -C #意思就是管理员修改过的。