在某种程度上,他可以被看作是与标准权限系统并行的权限系统。在常规模式中,以用户身份运行进程,并且系统上的文件和其他资源都设置了权限(控制哪些用户对哪些文件具有访问权)selinux的另外一个不同之处在于,若要访问文件,你必须具有普通访问权限和selinux访问权限。因此,即使以超级用户身份root运行进程,根据进程以及文件或资源的selinux安全性上下文可能拒绝访问文件或资源
[root@localhost ~]# vim /etc/sysconfig/selinux
disable ##关闭
enforcing ##强制
permissive ##警告
选择enforcing模式 然后reboot重启
[root@localhost ~]# getenforce ##显示selinux模式
Enforcing ##为强制模式
getenforce ##显示selinux模式
setenforce0表示permissive ##警告模式
setenforce1表示enforcing ##强制模式
ps axuZ | grep vsftpd ##显示进程和文件的selinux的上下文
enforcing模式
看不到从别处移过来的文件法file
permissive模式
可以查看到file文件
查看文件selinux上下文,文件的selinux上下文不一样
[root@localhost ~]# chcon -t public_content_t /var/ftp/pub/file ##跟该file的上下文 与本地文件一样
这时候切换Enforcing 也可以查看到file
setroubleshoot-server
yum install setroubleshoot-server.x86_64 -y ##安装此软件
getsebool -a | grep ftp ##查看布尔值
[root@localhost ~]# setsebool -P ftp_home_dir 1 ##开启这个服务 0表示关闭 1表示启用
############################## 操作之前不能上传
############################## 操作之后可以
semanage 命令 ##永久更改
semanage fcontext -a -t public_content_t '/westos(/.*)?' ##修改westos目录上下文规则
semanage fcontext -l | grep westos ##查询westos安全上下文
restorecon -RvvF /westos ##设置westos安全上下文 R-递归 v-显示过程到屏幕 F- 强制
操作前不能通过fltp看到westos里的文件 操作后 可以看到