selinux
1.selinux
内核级加强型防火墙
1.针对文件,会对系统中的每个文件添加安全上下文(context) ##ls -Z 文件
2.针对进程,会对系统中的每个进程添加安全上下文(context) ##ps auxZ | grep 进程
3.会在系统服务上设定sebool开关
4.当进程安全上下文和文件的安全上下文不匹配时,那么进程无法访问此文件
测试:
5.sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值
2.管理selinux
selinux的开关
vim /etc/sysconfig/selinux
SELINUX=enforcing ##selinux开启,级别为强制
SELINUX=permissive ##selinux开启,级别为警告
SELINUX=disabled ##selinxu关闭
注意:当selinux从开到关,或者从关到开,都需要重启系统
selinux中对文件安全上下文的设定
1>.临时更改适用于更改文件
chcon -t 安全上下文 文件
chcon -t public_content_t /var/ftp/file2
2>.永久性更改安全上下文
semanage fcontext -l | grep westos
semanage fcontext -a -t public_content_t '/westos(/.*)?'
restorecon -RvvF /westos/ ##刷新
selinux的bool值的设定
sebool值是控制服务功能开关
getsebool | grep 服务名称
setsebool -P bool值 on | off
3.监控selinux冲突
必须安装setroubleshoot-server软件包,才能将selinux消息发送至/var/log/messages
yum install setroubleshoot-server -y
在配置文件中修改匿名用户登录的家目录为/westos/
vim /etc/vsftpd/vsftpd.conf
anon_root=/westos/
systemctl restart vsftpd.service
restorecon -v /westos/* ##刷新
建立文件,登录ftp服务,并观察日志
因为安全上下文不同,所以匿名用户无法看到file2
浏览日志
/var/log/audit/audit.log
/var/log/messages ##会给出解决安全上下文的办法
cat /var/log/messages
依据日志给出的解决办法,输入命令匿名用户即可看到file2