selinux:内核上的插件
改变后要重启
disabled-->enforcing
permissive/enforcing 开启的两种形式
enforcing(强制警告) :拒绝并且警告
setenforce 0 :警告但是不拒绝
setenforce 1 :警告并拒绝
getenforce 查看状态
rm -fr /etc/vsftpd/
yum reinstall vsftpd -y
- selinux:内核级的加强形火墙
安全上下文匹配可以访问
特定的程序只能访问安全上下文匹配的文件
如果不匹配会被内核禁止
还会影响服务本身的功能
给服务加上一个开关
boolean布尔型 开关0 1
on ->开 off–> 关
有选择性的打开
文件上的标签和所能访问的服务上的标签不一致则不能访问
1.临时的更改安全上下文:
chcon -t public_content_t /westos
实验:
mkdir /westos
ls -Zd /westos
安全上下文为default_t
更改匿名用户家目录anon_root=/westos
chcon -t public_content_t /westos
ls -Zd /westos
查看安全上下文
vim /etc/sysconfig/selinux
写入:disabled
重启服务后 ls -Zd /westos
安全上下文恢复默认default_t
lftp 172.25.254.218
ls
查看不了/westos
里的文件
内核上的安全上下文记录
default_t
默认
目录及目录里面的内容:/westos/(/.*)?
2.永久更改安全上下文
semanage fcontext -a -t public_content_t '/westos(/.*)?'
semanage fcontext -l | grep westos ##查看
restorecon -FvvR /westos/
ls -Zd /westos/
测试: lftp 172.25.254.218
3.本地用户可上传
systemctl start vsftpd ##打开服务
lftp 172.25.254.200 -u student
ls
put /etc/group ##550报错,没有开启这项功能
getsebool -a | grep ftp ##查看功能是否开启
setsebool -P ftp_home_dir on ##开启上传文件功能
测试:
lftp 172.25.254.200 -u student
ls
put /etc/group ##文件上传成功
4.匿名用户上传
1)
mkdir /var/ftp/pub/
chmod 775 /var/ftp/pub/
chgrp ftp /var/ftp/pub/
2)
vim /erc/vsftpd/vsftpd.conf
写入:
anon_upload_enable=YES
systemctl restart vsftpdc
3)
getsebool -a | grep ftp
setsebool -P ftpd_anon_write on
semanage fcontext -a -t public_content_rw_t /var/ftp/pub
restorecon -RvvF /var/ftp/pub/
setenforce 0 :警告但是不拒绝
setenforce 1 :警告并拒绝
getenforce :查看状态
setenforce 1
:警告并拒绝
实验:
cd /mnt
touch file
mv /mnt/test/ /var/ftp
lftp 172.25.254.218
ls ##看不到
setenforce 0 :警告但是不拒绝
lftp 172.25.254.218
ls ##看得到
报错解决方案:
[root@localhost mnt]# rm -fr /var/ftp/pub/
[root@localhost mnt]# mkdir /var/ftp/pub/
[root@localhost mnt]# chmod 775 /var/ftp/pub/
[root@localhost mnt]# chgrp ftp /var/ftp/pub/
lftp:172.25.254.218 ##上传文件
rpm -qa | grep setroubleshoot