selinux简介

selinux #内核加强型火墙
准备工作:
vim /etc/sysconfig/selinux ##开启内核加强型火墙
SELINUX=enforcing (强制并拒绝)

在这里插入图片描述

reboot

rm -rf /etc/vsftpd
yum reinstall vsftpd ##重装vsftpd服务保持一个纯净的环境

mkdir /westos
touch /westos/westosfile{1…3}

1.上下文访问标签的更改

vim /etc/vsftpd/vsftpd.conf
anon_root=/westos ##设定默认用户的家目录为/westos
在这里插入图片描述

此时通过匿名登陆216,并不能看到/westos下的文件

在这里插入图片描述

原因为当selinux开启后,只有上下文访问标签相同才能正常显示
ls -Zd /westos/ ##查看/westos的上下文访问标签
在这里插入图片描述
ls -Zd /var/ftp/pub/ ##查看/pub的上下文访问标签

在这里插入图片描述

解决方法:

1:临时设定:
chcon -t public_content_t /westos/ -R ##临时设定/westos的上下文访问标签
ls -Zd /westos/ ##再次查看/westos的上下文访问标签

在这里插入图片描述

此时
在这里插入图片描述
可以正常链接

restorecon -FvvR /westos/ ##执行刷新

在这里插入图片描述
ls -Zd /westos/ ##由于是临时的所以执行刷新后又变了回来(selinx的开启和关闭也会导致临时设定失效)

在这里插入图片描述

2:永久设定

semanage fcontext -a -t public_content_t ‘/westos(/.*)?’
##永久设定
semanage fcontext -l | grep westos
在这里插入图片描述

此时查看/westos的上下文访问标签发现并未更改
ls -Zd /westos/
在这里插入图片描述

执行刷新
restorecon -FvvR /westos/
在这里插入图片描述

再次查看/westos的上下文访问标签发现发生了更改
ls -Zd /westos/

在这里插入图片描述

此时便可正常连接
lftp 172.25.254.216
在这里插入图片描述

2.服务默认bool值的设置

chmod 775 /home/student ##给家目录权限

##本地用户开启上传权限
lftp 172.25.254.216 -u student

在这里插入图片描述

getsebool -a | grep ftp ##查看ftp服务的bool值

在这里插入图片描述

setsebool -P ftp_home_dir on ##更改默认bool值 -P(永久)

在这里插入图片描述
此时本地用户便可正常上传

lftp 172.25.254.216 -u student

在这里插入图片描述

##匿名用户开启上传权限

vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
systemctl restart vsftpd.service
在这里插入图片描述

getsebool -a | grep ftp

在这里插入图片描述

setsebool -P ftpd_anon_write on ##更改默认bool值

在这里插入图片描述

semanage fcontext -a -t public_content_rw_t /var/ftp/pub
##将pub目录的安全上下文改为可写
restorecon -RvvF /var/ftp/pub/ ##执行刷新
在这里插入图片描述

此时匿名用户便可正常上传

4.如何更改selinux工作状态

selinux的工作状态:

Enforcing ##强制并拒绝
Permissive ##警告 可以在/var/log/audit/audit.log查看警告
disabled ##不工作

getenforce ##查看当前工作状态

在这里插入图片描述

setenforce 0|1 ##更改当前工作状态1(Enforcing) 0(Permissive)

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章