目录
1. selinux功能
1.1 selinux关闭状态
- 在/mnt/中建立文件文件安全上下文为空
- ftp程序安全上下文为空
- 用户可以上传文件
- 文件被移动到ftp默认发布目录中可以被访问
1.2 selinux开启状态
- 在/mnt/中建立文件文件有安全上下文
- ftp程序有安全上下文
- 用户不 可以上传文件
- 文件被移动到ftp默认发布目录中可以无法被访问
1.3 selinux功能
selinux:内核级加强型防火墙
功能:
- 当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件
- 当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为off状态,来保证服务安全性,当需要此功能时需要超级用户手动调节
2. selinux状态
2.1 状态的查看
getenforce ## 状态的查看
setenforce 0|1 ## 0表示警告模式1表示强制模式
## 状态类型:
disabled ## 关闭
enforcing ## 强制 [不只警告,还会限制]
permissive ## 警告 [只会警告,不会限制]
2.2 状态的切换
## selinux开关
vim /etc/sysconfig/selinux
SELINUX=[selinux的状态]
reboot ## 当disabled <----> [enforcing|permissive]都需要重启系统
3. 安全上下文
3.1 安全上下文的临时更改
## chcon -t 安全上下文 文件
## chcon -R -t 安全上下文 目录
chcon -t public_content_t dsdlinuxfile ## 修改文件
chcon -R -t public_content_t dsdlinuxfile ## 修改目录
## lftp访问服务器会发现此文件会被访问成功
3.2 永久更改目录或文件安全上下文
mkdir /ftpuserdir/dsddir
设定westos用户登陆ftp服务时默认家目录为/ftpuserdir
当用westos用户登陆ftp时/ftpuserdir内容无法访问,因为selinux安全上下文不匹配
semanage fcontext -l | grep ftpuserdir ## 内核安全上下文列表中无信息
semanage fcontext -a -t public_content_t /ftpuserdir'(/.*)?' ## (/.*)?表示目录中将要出现的内容,此命令只添加列表信息,当前不生效
restorecon -RvvF /ftpuserdir/ ## 刷新文件安全上下文
4. sebool
sebool:是selinux对服务功能添加的开关
getsebool -a | grep ftp ## 查看ftp的功能开关
setsebool ftpd_anon_write=1|on ## 表示开启此匿名用户写的功能
setsebool -P ftpd_anon_write=1|on ## 表示永久开启此匿名用户写的功能
5. setrouble
dnf install setroubleshoot-server-3.3.19-1.el8.x86_64 -y sealert -a
/var/log/audit/audit.log ##分析日志并提供解决方案