注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

谷搜互联网应用www.iguso.com

谷搜专注企业邮箱十二年

 
 
 

日志

 
 

SELinux 的启动、关闭与观察  

2014-08-25 09:13:45|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

并非所有的 Linux distributions 都支援 SELinux 的,所以你必须要先观察一下你的系统版本为何! 鸟哥这里介绍的 CentOS 5.x 本身就有支援 SELinux 啦!所以你不需要自行编译 SELinux 到你的 Linux 核心中! 目前 SELinux 支援三种模式,分别如下:

  enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;

  permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;

  disabled:关闭,SELinux 并没有实际运作。

  那你怎麽知道目前的 SELinux 模式呢?就透过 getenforce 吧!

  [root@www ~]# getenforce

  Enforcing <==诺!就显示出目前的模式为 Enforcing 罗!

  另外,我们又如何知道 SELinux 的政策 (Policy) 为何呢?这时可以使用 sestatus 来观察:

  [root@www ~]# sestatus [-vb]

  选项与参数:

  -v :检查列于 /etc/sestatus.conf 内的档案与程序的安全性本文内容;

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

  范例一:列出目前的 SELinux 使用哪个政策 (Policy)?

  [root@www ~]# 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 <==目前的政策为何?

  如上所示,目前是启动的,而且是 Enforcing 模式,而由设定档查询得知亦为 Enforcing 模式。谷搜企业邮箱 此外,目前的预设政策为 targeted 这一个。你应该要有疑问的是, SELinux 的设定档是哪个档案啊? 其实就是 /etc/selinux/config 这个档案喔!我们来看看内容:

  [root@www ~]# vi /etc/selinux/config

  SELINUX=enforcing <==调整 enforcing|disabled|permissive

  SELINUXTYPE=targeted <==目前仅有 targeted 与 strict

  SELinux 的启动与关闭

  上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。美国空间这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的! 同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述档案修改成为 enforcing 吧!

  所以,如果你要启动 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 后面!

  请注意到上面特殊字体的那一行,确认 kernel 后面不可以接『 selinux=0 』这个项目!因为 selinux=0 指定给核心时, 则核心会自动的忽略 /etc/selinux/config 的设定值,而直接略过 SELinux 的载入,所以你的 SELinux 模式就会变成 disabled 啦!因为我们要启动,所以这里得要确认不存在 selinux=0 才行喔!切记切记! 如果一切设定妥当,接下来就是 reboot 重新开机吧!

  不过你要注意的是,如果从 disable 转到启动 SELinux 的模式时, 由于系统必须要针对档案写入安全性本文的资讯,因此开机过程会花费不少时间在等待重新写入 SELinux 安全性本文 (有时也称为 SELinux Label) ,外贸企业邮箱而且在写完之后还得要再次的重新开机一次喔!你必须要等待粉长一段时间! 等到下次开机成功后,再使用 getenforce 或 sestatus 来观察看看有否成功的启动到 Enforcing 的模式罗!

  如果你已经在 Enforcing 的模式,但是可能由于一些设定的问题导致 SELinux 让某些服务无法正常的运作, 此时你可以将 Enforcing 的模式改为宽容 (permissive) 的模式,让 SELinux 只会警告无法顺利连线的讯息, 而不是直接抵挡主体程序的读取权限。让 SELinux 模式在 enforcing 与 permissive 之间切换的方法为:

  [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

  不过请注意, setenforce 无法在 Disabled 的模式底下进行模式的切换喔!

  评论这张
 
阅读(10)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017