linux必须运行在enforcing,Linux(入门基础):97—SELinux三种模式的启动、关闭、查看(getenforce、setenforce、sestatus、restorecon)…

linux必须运行在enforcing,Linux(入门基础):97—SELinux三种模式的启动、关闭、查看(getenforce、setenforce、sestatus、restorecon)…一、SELinux三种模式简介Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正确会发出警告Disabled:关闭模式。SELinux并没有实际运行二、getenforce命…

大家好,又见面了,我是你们的朋友全栈君。

一、SELinux三种模式简介

Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系

Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正确会发出警告

Disabled:关闭模式。SELinux并没有实际运行

二、getenforce命令

功能:查看当前SELinux的运行模式

9433a239b83ed7da17823fde49fd77d9.png

四、sestatus命令

1.功能

查看当前系统上面SELinux的策略,运行模式等信息

2.命令格式

sestatus  [-vb]

相关参数与选项

-v:检查列于/etc/sestatus.conf内的文件御锦城的安全上下文

-b:将目前策略的规则布尔值列出,亦即某些规则是否要启动(0/1)之意

3.演示案例

可以看到当前的策略为targeted。模式为enforcing

8a2423d7bdcc3f9c0ec78af9f8193cbf.png

五、SELinux的配置文件(/etc/selinux/config)

SELINUX=enforcing:当前SELinux的模式

SELINUXTYPE=targeted:当前SELinux的策略

如果想要修改策略和模式,就更改这个文件里面的内容即可

2c47dee699597343ef97f7c77a9dd040.png

六、SELinux模式的更改(setenforce命令)

1.SELinux模式的更改规则

①不论是从Enforcing或Permissive改为Disabled,还是由Disabled改为Enforcing或Permissive,系统都需要重新启动。因为SELinux是整合到内核中的

②在SELinux已经运行的模式下:只能够在Enforcing和Permissive两种模式之间进行切换,而不能直接关闭SELinux(Disabled),如果你使用getenforce发现当前SELinux模式为Disabled时,请立即到/etc/selinux/config文件中将SELinux改为Enforcing,然后重新启动系统

③如果你从Disable转到启动SELinux的模式时,系统必须针对文件写入安全上下文的信息,因此启动过程会花费不少时间等待重新写入SELinux安全上下文(有时成为SELinux Label),而且在写完之后还要再重新启动一次

④如果你在Enforcing模式,但是可能由于一些设置的问题导致SELinux让某些服务无法正常地运行,此时可以将Enforcing的模式改为宽容(Permissive)的模式,让SELinux只会警告而,而不会直接阻止主体进程的读取权限

2.setenforce命令格式

setenforce  0:转换为Permissive宽容模式

setenforce  1:转换为Enforcing强制模式

注意事项

setenforce无法设置SELinux为Disabled模式

3.演示案例

18c6a4b6aff26d19849050b25e1d3100.png

七、restorecon -Rv 命令

介绍

当你从Disabled切换为Enforcing模式时,会有一堆服务无法顺利启动,会跟你说/lib/xxx里面的数据没有权限读取,所以启动失败。原因:大多是重新写入SELinux类型时出错的缘故

解决办法:切换为Permissive宽容模式,然后使用restorecon  -Rv  /  重新还原所有SELinux的类型,就能解决这个问题

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153541.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea激活码永久免费【2021免费激活】

    (idea激活码永久免费)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsa…

    2022年3月21日
    103
  • 从源码的角度分析mybatis的核心流程(上)

    从源码的角度分析mybatis的核心流程(上)

    2021年8月4日
    56
  • html使用vue axios,使用 Vue和axios

    html使用vue axios,使用 Vue和axios昨天写完了博客以后,有人就在我的博客下面留言说现在不是使用了Axios了吗?我赶紧再把Axios的例程给补上,并且做一个更新。其实vue-resource并不复杂,就是不稳定。Vue官方放弃它也是对的,作者是这样子说的最近团队讨论了一下,Ajax本身跟Vue并没有什么需要特别整合的地方,使用fetchpolyfill或是axios、superagent等等都可以起到同等…

    2025年6月29日
    2
  • contextpath有什么用_context的用法

    contextpath有什么用_context的用法使用基于Java的后端(即servlet和JSP),如果我需要JavaScript的contextPath,那么推荐的模式是什么?为什么?我可以想到几种可能性。我缺少任何吗?1.将SCRIPT标记刻录到在某些JavaScript变量中设置的页面中varctx=””这是准确的,但在加载页面时需要脚本执行。2.在一些隐藏的DOM元素中设置contextPath这是准确的,并且在加载页面时不需要任…

    2025年11月24日
    5
  • TTL232和RS232的区别

    逻辑电平定义不同:TTL232的0是用0v表示。1是用5V表示。RS232的0是用+3V–+15V表示,1是用-3V—15V表示。接口一般都用三根线,1:地线。2:写入。3:导出。他们不可直连,中间需接电平转接板,…

    2022年4月9日
    62
  • java 长轮询_基于springboot 长轮询的实现操作

    java 长轮询_基于springboot 长轮询的实现操作springboot长轮询实现基于@EnableAsync,@Sync@SpringBootApplication@EnableAsyncpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}@Req…

    2022年10月14日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号