错误原因

配置关闭SELinux,结果误操作

应修改配置文件/etc/selinux/config中的“SELINUX”参数的值,

# SELINUX=enforcing  原始配置
SELINUX=disabled    正确

但是误将“SELINUXTYPE”看成“SELINUX”,设置了SELINUXTYPE参数:

#SELINUXTYPE=targeted  原始配置 这个不必修改。
SELINUXTYPE=disabled  错误
错误结果

重启后 机器就报 Failed to load SELinux policy. Freezing 错误 导致一直不能启动

解决办法:

1. 重启时在启动页面,选择你要启动的内核 按 E, 进入 grub 编辑页面。

2. 找到 linux16 那一行,在language 后面 也就是LANG=zh_CN.UTF-8,空格 加上 selinux=0 或者 enforcing=0 (备注:我是加入selinux=0 生效的。)

3. 然后 ctrl + x 启动,就看到熟悉的登录界面。

4 .修改selinux配置文件,正确关闭selinux ~!

vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#    enforcing - SELinux security policy is enforced.
#    permissive - SELinux prints warnings instead of enforcing.
#    disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#    targeted - Targeted processes are protected,
#    minimum - Modification of targeted policy. Only selected processes are protected.
#    mls - Multi Level Security protection.
SELINUXTYPE=targeted

修改完毕后,重启。查看是否会报错 。over。

安全增强型 Linux(Security-Enhanced Linux)

SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。SELinux 的作用及权限管理机制

1.1 SELinux 的作用

SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

目前系统文件权限的管理有两种:DAC(传统的) 和 MAC(SELinux)

1.2 DAC

传统的文件权限与帐号关系:自主式存取控制, DAC(Discretionary Access Control, DAC)

在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(读、写、执行)。

只要访问这个资源的进程符合以上的条件就可以被访问。

而最致命问题是,root 用户不受任何管制,系统上任何资源都可以无限制地访问。

这种权限管理机制的主体是用户,也称为自主访问控制(DAC)。

1.3 MAC

以政策规则订定特定程序读取特定文件:委任式存取控制,MAC

在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。

这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。

即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。

这种权限管理机制的主体是进程,也称为强制访问控制(MAC)。

而 MAC 又细分为了两种方式,一种叫类别安全(MCS)模式,另一种叫多级安全(MLS)模式。
在 DAC 模式下,只要相应目录有相应用户的权限,就可以被访问
在 MAC 模式下,还要受进程允许访问目录范围的限制。

总结理解

DAC是以用户为出发点来管理权限的
MAC是以程序为出发点来管理权限的

以前:root--->启动httpd---->httpd可以访问系统任何文件
现在:root--->启动httpd---->httpd只能访问/var/www/目录(这是MAC)规则的约束

如果httpd想要访问其他目录,那么必须满足两个条件:DAC的rwx + MAC的规则

原文来自:

本文地址://gulass.cn/selinux-error-example.html编辑:roc_guo,审核员:逄增宝

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: