当前位置: 代码网 > 服务器>服务器>Linux > Linux中SELinux三种模式的启动、关闭与查看方式

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

2024年05月18日 Linux 我要评论
selinux三种模式的启动、关闭与查看目前selinux依据启动与否,共有三种模式,分别如下:enforcing:强制模式,代表selinux运行中,且已经正确开始限制domain/typeperm

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的类型就能解决这个问题

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com