一、selinux
1、selinux的状态
enforcing:强制,每个受限的进程都必然受限
permissive:允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志
disabled:禁用
相关的命令
getenforce: 获取selinux当前状态
sestatus :查看selinux状态
setenforce 0|1
0: 设置为permissive 宽容模式( 允许你不按要求做)
1: 设置为enforcing 强制模式
seinfo -t 可以看到所有的安全上下文类型
yum provides seinfo 使用命令找到 seinfo 命令来自于那个安装包
怎么看命令来源于那个安装包?yum provides 命令
[root@localhost ~]#yum provides seinfo
[root@localhost ~]#yum -y install setools-console-3.3.8-4.el7.x86_64
[root@localhost ~]#seinfo -a
文件类型与 进程类型相同
使用命令可以看到目前两个文件类型都属于http类型文件,所以web程序可以打开
实际上是用httpd进行打开index.html
如果我们修改文件类型为var_t:s0,那么就打不开了
[root@node2 html]#chcon -t var_t /var/www/html/index.html
#把 index.html文件类型修改 为 var_t
再次访问报错
7-2如果我们修改文件类型后,关闭核心防护,就可以访问了
7-3如果我们不修改文件类型,开启核心防护
如果修改了文件类型,就会导致访问报错,和7-2的结果就会一样
哪些进程能打开那些文件类型,是由严格控制的
进程要和文件的安全上下文相匹配,进程才可以打开文件
如果你要添加端口?
selinux类似与防火墙的软件,比防火墙更加精细,要求严格,所以建议是关掉,如果出现端口不给绑定,多数是开了selinux,用selinux的话比较安全,可能操作会比较复杂
selinux配置文件所在位置