SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换…

SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换…

http://blog.sina.com.cn/s/blog_5aee9eaf0100y44q.html

在CentOS6.2 中安装intel 的c++和fortran 的编译器时,遇到来一个关于SELinux的强制模式不可执行的情况,
需要关闭SELinux 或者 将enforcing改为 permissive 模式,查询来一些资料后,先对SELinux的几种模式,以及其之间的关系和转换方法做一小结,以备以后查看和学习。

SELinux 的启动、关闭与查看

1、并非所有的 Linux distributions 都支持 SELinux 
目前 SELinux 支持三种模式,分别如下:
enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了; •permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用; •disabled:关闭,SELinux 并没有实际运作。

2,查看SELinux的模式
# getenforce Enforcing <==就显示出目前的模式为 Enforcing

3,查看 SELinux 的政策 (Policy)?
  [root@master oracle]# sestatus
  SELinux status: enabled <==是否启动 SELinux
  SELinuxfs mount: /selinux <==SELinux 的相关文件资料挂载点
  Current mode: enforcing <==目前的模式
  Mode from config file: enforcing <==设定档指定的模式
  Policy version: 21
  Policy from config file: targeted <==目前的政策为何?

4,通过配置文件调整SELinux的参数
  [root@www ~]# vi /etc/selinux/config   SELINUX=enforcing <==调整 enforcing|disabled|permissive
  SELINUXTYPE=targeted <==目前仅有 targeted 与 strict 5,SELinux 的启动与关闭 【重要常识】
 上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机
  如果由 enforcing 或 permissive 改成disabled ,或由 disabled 改成其他两个,那也必须要重新开机。这是因为 SELinux 是整合到核心里面去的, 你只可以在    SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的!
  同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!
【重点】如果要启动SELinux必须满足以下两个点:
所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当,并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢? [root@www ~]# vi /boot/grub/menu.lst default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-92.el5)       root (hd0,0)
      kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0       initrd /initrd-2.6.18-92.el5.img
# 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面!


【问题】通过上面的学习我们知道,如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢? 【答案】将强制模式改为宽松模!
[root@www ~]# setenforce [0|1] 选项与参数: 0 :转成 permissive 宽容模式; 1 :转成 Enforcing 强制模式 范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看 [root@www ~]# setenforce 0 [root@www ~]# getenforce Permissive [root@www ~]# setenforce 1 [root@www ~]# getenforce Enforcing 6,查看已启动程序的type设定 [root@master oracle]# ps aux -Z LABEL USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND system_u:system_r:init_t root 1 0.0 0.4 2060 520 ? Ss May07 0:02 init [5 system_u:system_r:kernel_t root 2 0.0 0.0 0 0 ? S< May07 0:00 [migra] system_u:system_r:kernel_t root 11 0.0 0.0 0 0 ? S< May07 0:00 [kacpi] system_u:system_r:auditd_t root 4022 0.0 0.4 12128 560 ? S<sl May07 0:01 auditd system_u:system_r:auditd_t root 4024 0.0 0.4 13072 628 ? S<sl May07 0:00 /sbin/a system_u:system_r:restorecond_t root 4040 0.0 4.4 10284 5556 ? Ss May07 0:00 /usr/sb 说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!

小结附:

#---------------------------------------------------------------

关闭SELinux的方法:
修改/etc/selinux/config文件中的SELINUX=”” 为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce 0
注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux

#—————————————————————
查看selinux状态:
/usr/bin/setstatus -v
如下:
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          enforcing
Policy version:                 21
Policy from config file:        targeted
 
getenforce/setenforce查看和设置SELinux的当前工作模式
#———————————————————————–
   发现服务一启动,马上停止,在网上查找资料,找到安装时要先禁用SELinux,再安装MySQL,步骤是:

1. 关闭SELinux,重启系统;
2. 安装MySQL(MySQL server应该可以启动了);
3. 启用SELinux,重启系统,之后MySQL server就可以正常启动了。

   启用禁用SELinux的方法是:

   vi /etc/selinux/config(也有人说是/etc/sysconfig/selinux文件,其实两个之间是链接关系,随便改其中一个,另一个也改了)

   SELINUX=disable 禁用SeLinux

   SELINUX=enforcing 启用SeLinux

#———————————————————————–

CentOS系统如何快速关闭SELINUX

SELinux是一种基于 域-类型 
模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了
SELinux的补丁,最后还有一个相应的安全策略。虽然CentOS系统相比较而言相对安全稳定。我在长期的linux实践中总结的经验
是:SElinux是php的天敌

  我们经常由于CentOS系统默认系统的安全性配置导致些莫名其妙的问题,比如SElinux本来是用于安全子系统的权限控制,可是搞不好就发现限制多多,我们可以用如下方法快速关闭SElinux。

  /usr/sbin/setenforce 0 立刻关闭SELINUX

  /usr/sbin/setenforce 1 立刻启用 SELINUX

  加到系统默认启动里面

  echo “/usr/sbin/setenforce 0” >> /etc/rc.local

  这样,我们在不需要在CentOS系统中开启SELINUX的时候,就可以快速的去关闭了,以及在需要的时候,在开启它。

 

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

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

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


相关推荐

  • chrome frame使用记录「建议收藏」

    chrome frame使用记录「建议收藏」chromeframe使用记录参考:http://blog.csdn.net/xiaoyu411502/article/details/12619881http://www.cystc.org/?p=259…

    2022年7月16日
    16
  • 什么是有氧运动和无氧运动_SKU编码

    什么是有氧运动和无氧运动_SKU编码首先,搞清楚商品与单品的区别。例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了。商品:淘宝叫item,京东叫product,商品特指与商家有关的商品,每个商品有一个商家编码,每个商品下面有多个颜色,款式,可以有多个SKU。SPU=StandardProductUnit(标准化产品单元)SPU是商品信息聚合的最小单位,是一组可复用、易检…

    2022年8月30日
    0
  • 软件测试:测试用例&八大要素&模板

    软件测试:测试用例&八大要素&模板一、通用测试用例八要素  1、用例编号;  2、测试项目;  3、测试标题;  4、重要级别;  5、预置条件;  6、测试输入;  7、操作步骤;  8、预期输出二、具体分析通用测试用例八要素  1、用例编号  一般是数字和字符组合成的字符串,可以包括(下划线、单词缩写、数字等等),但是需要注意的是,尽量不要写汉语拼音,因为拼音的意义可能有好几种,有可能会导致乱码;  用例编号具有唯一性和易识别性。(比如说我们唯一标识一个人:中国-上海市-xx区xx号-xx楼–xx室-x

    2022年6月28日
    35
  • git切换分支并与远程分支关联_git 拉取分支

    git切换分支并与远程分支关联_git 拉取分支git切换远程分支为developgitpush–set-upstreamorigin分支名gitpush–set-upstreamorigindevelop

    2022年9月21日
    0
  • jquery.tmpl 基础用法

    jquery.tmpl 基础用法jQuer.tmpl通过动态请求返回数据时通过HTML显示到页面快速便捷实用的方法。只需要在预先定义好一个模板在动态数据返回后调用jQuery对应实现的方法即可对HTML进行拼接同时显示出来。并且定义模板时可以使用一些逻辑判断的标签。个人认为jQuer.tmpl有个不好的地方就是没有错误提示;例如在使用标签进行判断时可能有个地方字段写错的但是没有提示需要花一点时间去找问题,那就会有一些苦恼。…

    2022年6月28日
    42
  • javaweb-spring-52

    javaweb-spring-52

    2021年5月17日
    89

发表回复

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

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