1.啥是selinux
 安全增强型Linux(Security-Enhanced Linux)简称selinux,它是一个Linux内核模块,也是Linux的一个安全子系统。
 selinux的状态:
 Enforcing:强制模式,在selinux运作时,已经开始限制domain/type
 permissive:警告模式,在selinux运作时,会有警告信息,但不会限制domain/type的存取
 disabled:关闭模式
 使用getenforce命令查看当前模式
 更改selinux的状态命令:
             setenforce 1		##更改selinux的状态为Enforcingsetenforce 0		##更改selinux的状态为Permissive
注 : 当selinux关闭时,该命令无法使用
 使用该命令只能切换开启时的两种状态,即Enforcing和Permissive
 使用该命令切换selinux状态时,不需要重启电脑
selinux对文件的作用
 当开启selinux后,selinux会给每个文件加载标签context,安全上下文必须配对,否则文件不能访问
 开启selinux为Enforcing强制模式
 在根目录下创建一个目录在此目录中新建一个文件,并且移动到ftp中的pub目录
 
 用户登陆ftp查看文件
 
 可以发现移动的文件看不到
 使用ls -Z /var/ftp/命令查看该文件的安全上下文
 
 临时更改安全上下文
 chcon -t public_content_t /westos/ -R 临时更改安全上下文
 
 
chcon只是对安全上下文的临时修改,当系统selinux重启后,修改会失效
semanage  fcontext  -l | grep  /westos       查看该文件是否有默认的安全上下文
semanage  fcontext -a -t public_content_t  '/westos(/.*)?'  永久更改目录安全上下文
restorecon  -FvvR   /westos/         同步该目录的安全上下文

 
.本地用户上传权限的开启
 getsebool -a | grep ftp 查看seLinux对ftp开关状态
 
 setsebool -P ftp_home_dir on 允许本地用户上传文件 -P为永久开启
 chmod 775 /home/*
 chgrp ftp /home/*
 登陆ftp,本地用户可以上传文件
 
匿名用户上传权限的开启
 vim /etc/vsftpd/vsftpd.conf 在配置文件中打开匿名用户上传参数
 
 写好之后重启服务
 systemctl restart vsftpd
setsebool  -P  ftpd_anon_write  on    ##打开selinux匿名用户上传开关
semanage  fcontext -a -t public_content_rw_t   /var/ftp/pub   ##安全上下文加入可写的权限说明
restorecon -FvvR  /var/ftp/pub/     ##同步该目录的安全上下文
chmod  775  /var/ftp/pub
chgrp  ftp  /var/ftp/pub

测试一下:
 