版权声明:https://blog.csdn.net/weixin_42499593 https://blog.csdn.net/weixin_42499593/article/details/86675600
一、selinux简介
1.selinux是什么
selinux是内核级加强型火墙
开启或关闭selinux时只能通过重启电脑来实现设置
作用:限制服务功能,限制服务访问功能
2.selinux的状态
状态 | 解释 |
---|---|
Enforcing | 警告并拒绝 |
Permissive | 警告并允许 |
Disabled | 关闭 |
注:产生的警告信息会保存在/var/log/message或/var/log/audit/audit.log
- 查看selinux状态命令
getenforce ##selinux状态
- 更改selinux的状态命令
setenforce 1 ##更改selinux的状态为Enforcing
setenforce 0 ##更改selinux的状态为Permissive
注:
(1)当selinux关闭时,该命令无法使用
(2)使用该命令只能切换开启时的两种状态,即Enforcing和Permissive
(3)使用该命令切换selinux状态时,不需要重启电脑
3.selinux帮助解决方案
系统中必须有setroubleshoot-server.x86_64软件
lftp报错后,若是与selinux有关的报错解决方案会生成在/var/log/message
4.配置环境
vim /etc/sysconfig/selinux ##开启selinux
reboot ##重启电脑
rm -fr /etc/vsftpd/* ##更新ftp环境
yum reinstall vsftpd -y ##重装vsftpd
二、selinux的使用
1.文件安全上下文对ftp服务的影响
(1)什么是安全上下文
ls -Z file ##查看文件安全上下文
(2)安全上下文的作用
例如:/var/ftp/下的某个文件若是从其他目录创建并复制过来的,客户端通过lftp是看不到该文件的,因为不同目录的安全上下文不一样。
(3)更改文件安全上下文
- 临时更改
在重启selinux后,会恢复为原来目录的安全上下文
chcon -t public_content_t /var/ftp/file1 ##更改file1的安全上下文为public_content_t
- 永久更改
semanage fcontext -l | grep /westos ##查看该文件是否有默认的安全上下文
semanage fcontext -a -t public_content_t '/westos(/.*)?' ##永久更改目录安全上下文为public_content_t,使用该命令后须同步
restorecon -FvvR /westos/ ##同步该目录安全上下文
2.本地用户上传权限的开启
getsebool -a | grep ftp ##查看关于ftp的所有sebool值
getsebool -P ftp_home_dir on ##打开selinux本地用户上传开关,-P为永久开启
chmod 775 /home/*
chgrp ftp /home/*
3.匿名用户上传权限的开启
vim /etc/vsftpd/vsftpd.conf ##在配置文件中打开匿名用户上传参数
setsebool -P ftpd_anon_write on ##打开selinux匿名用户上传开关,-P为永久开启
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