实验环境准备
1.删除配置文件
rm -fr /etc/vsftpd/
2.重新安装ftp
dnf reinstall vsftpd -y
3.授予权限
ls -ld /var/ftp/pub/
chmod 775 /var/ftp/pub/
chgrp ftp /var/ftp/pub/
ls -ld /var/ftp/pub/
4.允许匿名用户登陆
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
lftp 172.25.254.129
更改权限和所有组
打开本地ftp服务
1.Selinux的功能
对于文件的影响:
当selinux开启时,内核会对每个文件及每个开启的程序进行标签加载
标签内记录程序和文件的安全上下文(context)
对于程序功能的影响:
当selinux开启会对程序的功能加载开关,并设定此开关的状态为关闭
当需要此功能时需要手动开启功能开关
此开关叫做sebool
Selinux的bool值: 布尔值的调整:功能开关
2.Selinux的状态及管理
vim /etc/selinux/config
设置
SELINUX=enforcing
##selinux开机设定为强制状态,此状态为selinux开启
SELINUX=permissive
##selinux开机设定为警告状态,此状态为selinux开启
SELINUX=disabled
##selinux关闭
当前开启强制模式
更改之后需要重启
否则不生效
更改完需要重启系统,否则不生效
getenforce
查看selinux状态
selinux开启后强制和警告级别的转换
setenforce 0 #警告
setenforce 1 #强制
selinux日志位置
/var/log/audit.log
3.selinux的安全上下文
临时修改安全上下文
chcon -t public_content_t /westosdir1/
chcon -Rt public_content_t /westosdir1/ #修改目录及目录中所有子文件的安全上下文
ls -Z #查看文件安全上下文
ls -Zd #查看目录的安全上下文
ls axZ #查看进程的安全上下文
touch /.autorelabel #此文件存在selinux在开机时会自动初始化文件标签
可以看到新建的目录的安全上下文是 default
然后更改安全上下文
然后加上R表示递归 更改安全上下文
然后重启电脑
开机之后发现 安全上下文又恢复之前的样子了
那么如何永久更改呢?
semanage fcontext -l | grep /var/ftp #查看内核安全上下文列表
semanage fcontext -a -t public_content_t ‘/westosdir1(/.)?’ #修改安全上下文,(/.)指的是westosdir1的子文件
然后刷新一下 目录
restorecon -RvvF /westosdir1 #刷新
4.SEBOLL
getsebool -a | grep ftp #现实服务的bool值
setsebool -P ftpd_anon_write on#更改为开启
5.SEPORT
semanage port -a -t ssh_port_t 1111 -p tcp #添加1111端口
semanage port -l | grep ssh #查看
semanage port -d -t ssh_port_t 1111 -p tcp #删除1111端口
6.setrouble
/var/log/audit/audit.log #selinux警告信息
/var/log/messages #selinux问题解决方案
setroubleshoot-server #此软件功能是采集警告信息并分析得到解决方案存放到messages
测试:
/var/log/audit/audit.log #清空日志
/var/log/messages #清空日志
touch /mnt/lee
mv /mnt/lee /var/ftp #将lee移到ftp发布目录
lftp 172.25.254.113 #ls
cat /var/log/audit/audit.log #能够看到警告信息
cat /var/log/messages #能看到警告信息和解决方案
rpm -qa | grep setrouble #查看setroubleshoot-server 服务
这样是可以看到messages信息的
dnf remove setroubleshoot-server-3.3.22-2.el8.x86_64 #删除此服务,此时做相同的动作,但看不到message内容