Linux中SELinux三种模式的启动、关闭与查看方式

 更新时间:2024年02月01日 15:04:53   作者:魏大橙  
这篇文章主要介绍了Linux中SELinux三种模式的启动、关闭与查看方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

SELinux三种模式的启动、关闭与查看

目前SELinux依据启动与否,共有三种模式,分别如下:

  • Enforcing:强制模式,代表SELinux运行中,且已经正确开始限制domain/type
  • Permissive:宽容模式,代表SELinux运行中,不过仅会有警告信息并不会实际限制domain/type的读写(这种模式可以用来作为SELinux的debuug之用)
  • Disabled:关闭模式,SELinux并没有实际运行

我们要知道,并不是所有的进程都会被SELinux管制,所以我们需要知道进程有没有受限(confined)

举例来说:

我们查看一下crond和bash这两个进程是否被限制

 我们可以看到crond确实是受限的主体进程,而bash因为是本机进程,就是不受限(unconfined_t)的类型。也就是说bash是直接去判断rwx

三种模式的运行状态:

  • Disabled的模式,那么SELinux将不会运行,受限的进程也不会经过SELinux,直接去判断rwx
  • Permissive的模式,不会阻止主体进程,但是当没有通过策略规则或安全上下文判断时,此读写操作将会被记录起来(log),可作为未来检查问题的判断依据
  • Enforcing的模式,就是将受限主体进入规则比对、安全上下文比对的流程,若失败,就直接阻止主体进程的读写操作,并且将它记录下来。如果通通没问题就进入到rwx的判断

查看SELinux模式

使用getenforce查看

查看SELinux的策略

sestatus 【-vb】

选项与参数:

  • -v:检查列于/etc/sestatus.conf内的文件与进程的安全上下文内容
  • -b:将目前策略的规则布尔值列出

SELinux的启动与关闭

SELinux的配置文件为/etc/selinux/config

其中非注释的内容只有两行为:

除了强制模式与宽容模式之间相互转换之外,其他的模式变换都需要直接在配置文件中修改,并且变换模式后,都需要重新启动

让SELinux在Enforcing与Permissive之间切换

setenforce 【0/1】

选项与参数:

  • 0:转为Permissive宽容模式
  • 1:转为Enforcing强制模式

不过请注意,setforce无法再Disabled模式下切换模式

 

补充:

问题:

  • 在某些特殊情况下
  • 我们从Disabled切换到Enforcing之后
  • 有一大堆服务不能顺利启动
  • 并且错误为/lib/xxx里面的数据没有权限读取
  • 这是因为重新写入SELinux类型出错
  • 使用Permissive就没有这个错误

处理:

  • 在Permissive的状态下
  • 使用【restorecon -Rv/】重新还原所有SELinux的类型就能解决这个问题

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • centos6利用yum安装php mysql gd的步骤

    centos6利用yum安装php mysql gd的步骤

    我在84vps中利用yum顺利安装mysql php 及gd库,因为vps本身自带了apahce2.2所以没有apache安装过程
    2012-09-09
  • CentOS 7 YUM源配置错误的解决方法

    CentOS 7 YUM源配置错误的解决方法

    在使用虚拟机安装 CentOS 7 系统时,我们可能会遇到 YUM 源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换 YUM 源,本文给大家详细介绍了操作步骤,需要的朋友可以参考下
    2025-06-06
  • Linux中gpio接口的使用方法示例

    Linux中gpio接口的使用方法示例

    这篇文章主要给大家介绍了关于Linux中gpio接口的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Linux系统之authconfig命令的使用解读

    Linux系统之authconfig命令的使用解读

    authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项来启用和配置LDAP、Kerberos、NIS等多种认证机制,并可以根据需要调整系统如何处理用户认证、账户信息检索等任务
    2025-03-03
  • Linux多线程环境下 关于进程线程终止函数总结

    Linux多线程环境下 关于进程线程终止函数总结

    下面小编就为大家带来一篇Linux多线程环境下 关于进程线程终止函数总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • ubuntu下chorme提示输入秘钥环的解决方法

    ubuntu下chorme提示输入秘钥环的解决方法

    这篇文章主要给大家介绍了ubuntu下chorme提示输入秘钥环的解决方法,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Centos7设置postgresql数据库开机自启动方式

    Centos7设置postgresql数据库开机自启动方式

    本文介绍了在Linux系统上配置PostgreSQL开机自启动的方法,包括复制启动脚本、修改环境变量以及设置开机启动等步骤
    2026-05-05
  • windows10安装ubuntu20.04双系统详细图文教程

    windows10安装ubuntu20.04双系统详细图文教程

    这篇文章主要介绍了windows10安装ubuntu20.04双系统详细图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Yum安装中出现错误mirrorlist.txt的解决方法

    Yum安装中出现错误mirrorlist.txt的解决方法

    前几天在使用Yum install命令安装软件的时候一直提示一个mirrorlist.txt错误,通过查找相关的资料现在找到了解决的方法,所以这篇文章就整理出来和大家分享一下,有同样遇到这个问题的朋友们可以参考借鉴下。
    2016-10-10
  • Centos7远程桌面 vnc/vnc-server的设置详解

    Centos7远程桌面 vnc/vnc-server的设置详解

    这篇文章主要介绍了Centos7远程桌面 vnc/vnc-server的设置详解的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论