1 selinux功能
全称:内核级加强型火墙
功能:
当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文
特定安全上下文的程序只能访问特定安全上下文的文件
当selinux开启会对服务本身相对不安全的功能加载sebool开关并且设计开关为关闭状态以保证服务安全性。
1.1 状态查询
状态类型:
enforcing 强制(开启)
disabled 关闭
permissive 警告(开启)
setenforce 0 表示警告模式(只是警告,不会造成影响)
setenforce 1 表示强制模式
当disabled《----》enforce或permissive都需要重启
实验:
1 移动到发布目录直接可以被看到
2 安全上下文为空
3 程序的安全上下文也为空
4 可以上传文件
打开selinux以上都改变:
1
2 安全上下文
2.1 临时更改安全上下文
chcon -t 安全上下文 文件
chcon -R -t 安全上下文 目录
更改后访问服务器可以被看到。
2.2 永久安全上下文
1 设定用户登录ftp服务默认家目录为/ftpuserdir
当登录这个ftp服务时/ftpuserdir中的内容无法访问,因为selinux安全上下文不匹配。
设置:
1 建立这个目录
2 semanage fcontext -l | grep /ftpuserdir得出内核安全上下文列表中无信息。
3 永久修改安全上下文
结果是:
3 sebool
可以给selinux服务添加开关
getsebool -a | grep ftp 查看ftp的功能开关
setsebool -P ftpd_anon_write=1|on 表示开启此匿名用户写的功能
拥有写权利还是不行:
打开bool则可以
4 selinux排错
排错:
1 dnf install setroubleshoot-server-3.3.19-1.el8.x86_64
2:清空日志
[root@rhel8 setroubleshoot]# > /var/log/messages
[root@rhel8 setroubleshoot]# >/var/log/audit/audit.log
3 得出错误
解决: