1.SElinux,内核级加强型防火墙, SELinux[Security Enhanced Linux (安全强化 Linux)],是工作在内核中的MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。强制访问控制系统的用途在于增强系统 抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复。
对于selinux的通俗理解:
selinux,它给一些特定程序(这些程序也在不断增加)做了一个沙箱,它将文件打上了一个安全标签,这些标签属于不同的类,也只能执行特定的操作,也就是规定了某个应用程序设定了你可以访问那些文件或目录。
SElinux对系统的影响:
对每个文件加标签,不同类的标签无法相互访问
会影响的某些服务的功能
一般情况下disabled,设置完后需要重启内核生效
2.SElinux管理级别
selinux开启或者关闭
vim /etc/sysconfig/selinux
selinux=disabled 关闭状态
selinux=Enforcing 强制状态
selinux=Permissive 警告状态
getenforce 查看状态
当selinux开启时 两个运行运行级别
setenforce 0 警告状态
setenforce 1 强制状态
(临时更改)
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R
vsftpd/vsftpd.conf里更改匿名登陆加目录
新建匿名加目录,由于新建的westos目录的上下文为default,所以在selinux开启的情况下,匿名用户lftp登陆无法看见
更改westos的上下文为public_content_t,更改后,匿名用户可以看见里头的文件
上述方法修改上下文,重启selinux服务后会消失,下面为永久生效的方法
(1)本地用户在开启SElinux情况下上传文件设置
在开启selinux服务后,服务禁止上传文件,开启家目录可执行动作的选项之后,可以上传文件
(2)匿名用户在开启SElinux情况下上传文件设置
vim /etc/vsftpd/vsftp.conf ,开启匿名可以上传的权限
修改/var/ftp/pub权限后可以上传
5.监控selinux的错误信息
setroubleshoot-server 服务
创建文件file1,将文件移动到/var/ftp/pub/下,由于selinux文件上下文不一致,所以无法看见pub下的file1文件
清空日志 >/var/long/message
看看登陆日志 cat /var/long/message
日志中有selinux的错误代码和解决建议
按照restorecon -v 的方案解决
修复后,再次匿名登陆,可以看见文件
本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1953887,如需转载请自行联系原作者