前言
SELinux主要管理的是进程,通过管理进程,来限制进程访问的目标,指文件
1、SElinux的状态
命令"getenforce"可以查看SElinux的状态,SElinux的状态分为以下三种:
Enforcing (1) 强制模式
Permissive (0) 警告模式
Disabled 关闭模式
"setenforce"可以设置SElinux的状态,但是只能设置0和1两种,即警告模式或者强制模式。
在关闭模式下不可切换
setenforce 0
setenforce 1
配在文件"/etc/sysconfig/selinux"下将"SELINUX=enforcing"改为"SELINUX=disabled"即可关闭selinux
文件标识
SElinux会在文件上做出上下文标识,例如下图所示,在/mnt"和"/var/ftp/下分别建立文件file
可以看到不同的目录下的建立的文件。文件标示不同,即使移动以不会改变
对服务影响
selinux主要是对进程的管理,所以可以管理很多服务
我们可以通过getsebool来查看哪些服务开启或者关闭
getsebool -a | gerp ftp
修改文件标示
修改文件标示有两种:一种是临时,修改selinux的状态重启以后消失
chcon -t public_content_t /mnt/file
另一种是永久的:
先查看目录是否有上下文规则
semanage fcontext -l |grep /var/ftp/
然后为/ftphome添加上下文标识
semanage fcontext -a -t public_content_t '/ftphome(/.*)?'
semanage fcontext -l |grep /ftphome/
restorecon -RvvF /ftphome/ # 同步到子目录中
ls -Z /ftphome/
这样就已经永久修改了/ftphome目录的上下文标识