13.1 selinux功能
selinux关闭状态:
在/mnt/中建立文件文件安全上下文为空文件被移动到ftp默认发布目录中可以被访问
ftp程序安全上下文为空 用户可以上传文件
当selinux开启时,以上操作均失败
- selinux:内核级加强型火墙
- selinux功能: 当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文
- 特定安全上下文的程序只能访问特定安全上下文的文件
当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全性
当需要此功能时需要超级用户手动调节
13.2 selinux状态
getenforce ##查看selinux状态
状态类型:
- Disabled ##关闭
- enforcing ##强制
- permissive ##警告
- setenforce 0|1 ##0表示警告模式 1表示强制模式
selinux开关:
vim /etc/sysconfig/selinux
SELINUX=[selinux的状态]
reboot #当Disabled(被)转换[enforcing|permissive] 都需要重启系统
13.3 安全上下文
1. 安全上下文的临时更改
- chcon -t 安全上下文 文件
- chcon -R -t 安全上下文 目录
chcon -t public_content_t testfile
lftp 访问服务器会发现此文件可被访问成功
2. 永久更改目录或文件的安全上下文
mkdir /ftpuserdir/testdir
设定test用户登陆ftp服务时默认家目录为/ftpuserdir
当用test用户登陆ftp时/ftpuserdir中的内容无法访问,因为selinux安全上下文不匹配
semanager fcontent -l | grep /ftpuserdir ##内核安全上下文列表中无信息
semanager fcontent -a -t public_content_t /ftpuserdir'(/.*)?' ##此命令只添加列表信息,当前不生效
restorecon -RvvF /ftpuserdir/ ##刷新文件安全上下文
13.4 sebool
SEBOOL: selinux 对服务功能能添加的开关
- getsebool -a | grep ftp ##查看ftp的功能开关
- setsebool -P ftpd_anon_write=1|on ##表示开启此匿名用户写的功能
13.5 setrouble
yum install setroubleshoot-server.x86_64
sealert -a /var/log/audit/audit.log ##分析日志并提供解决方案