在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://blog.51cto.com/12909280/2088428

SELinux 宽容模式、 强制模式、关闭模式转换相关推荐

  1. IOS 应用中从竖屏模式强制转换为横屏模式

    在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦然),CocoaChina 会员 "alienblue" 为我们提供了两种思路第一种:通过人为的办法改变vi ...

  2. 在应用中从竖屏模式强制转换为横屏模式

    转自: http://www.cocoachina.com/iphonedev/sdk/2010/1130/2410.html 在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦 ...

  3. linux宽松模式,SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换...

    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换 在Android的root相关的文章里经常会看到关于SElinux,An ...

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

    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换 SELinux 的启动.关闭与查看 1.并非所有的 Linux dist ...

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

    http://blog.sina.com.cn/s/blog_5aee9eaf0100y44q.html 在CentOS6.2 中安装intel 的c++和fortran 的编译器时,遇到来一个关于S ...

  6. Oracle数据库的启动过程和关闭模式

    一 启动数据库 Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT.MOUNT.OPEN. NO ...

  7. 【数据库】Oracle数据库的启动过程和关闭模式

    Oracle数据库的启动过程和关闭模式. 一 启动数据库 Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:N ...

  8. android屏幕关闭屏幕,如何在设备进入睡眠模式(屏幕关闭)时显示屏幕android?...

    嗨我需要显示屏幕时,手机进入睡眠模式,即屏幕关闭模式.我用白日梦,但问题是,它只适用于充电!如何在设备进入睡眠模式(屏幕关闭)时显示屏幕android? 但我的要求是,即使手机进入睡眠模式(没有充电) ...

  9. mysql 严格模式_MySQL 开启/关闭 严格模式(Strict Mode)

    [广告:最高 ¥2000 红包]阿里云服务器.主机等产品通用,可叠加官网常规优惠使用 | 限时领取 查看 Mysql 是否开启严格模式: 打开 MySQL 配置文件 my.cnf(windows为my ...

最新文章

  1. Asp.net中时间格式化的几种方法
  2. 计算机基础知识综合试卷一,计算机基础知识试题及答案a
  3. 基于docker+gunicorn部署sanic项目
  4. How to access the folder of Android
  5. vue 给标签添加data属性_vue之data属性
  6. 实现对gridview删除行时弹出确认对话框的四种方法
  7. centos7 安装 vsftpd 过程
  8. 排序算法之选择排序(简单选择排序、堆排序)
  9. 在线JSON格式化工具
  10. 图像分割并存储 matlab,matlab图像分割算法源码.pdf
  11. 谷歌邮箱lmap服务器填什么_google邮箱设置方法是什么?
  12. AI新贵「蓦然认知」首秀,这个和百度有点关系的公司要让机器认知世界
  13. 清华计算机考研报考人数,2020部分院校考研报考人数统计
  14. 虚拟机复制镜像操作方法
  15. 第2-1课:非线性方程与牛顿迭代法
  16. 迅捷路由器设置找不到服务器,迅捷FAST无线路由器设置好了上不了网原因及解决方法...
  17. Sql Server服务远程过程调用失败。[0x800706be]
  18. 打印后台程序没有运行,怎么办?
  19. javaweb高并发量网站解决方案
  20. 西电李航 操作系统课程笔记 day10 IO hardware principles

热门文章

  1. Kaggle经典项目——房价预测
  2. 游戏本自动掉帧_玩游戏掉帧怎么办?
  3. 伦敦国王学院计算机读研要求,伦敦国王学院高级计算机理学硕士
  4. 台式计算机怎么加一个硬盘,如何给台式机添加硬盘?给电脑添加硬盘的方法
  5. android 7双排设置菜单,联想拯救者电竞手机优化横屏UI 设置菜单呈左右双排显示...
  6. Flink SQL 流计算可视化 UI 平台
  7. mysql 创建用户、授权、修改密码
  8. Netflix继续开源,更多猴子进入视野
  9. nginx配置+redis使用以及同步
  10. 网证你申请了吗?怎么使用?