禁用、启用SeLinux

SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的 实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的 任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

简介

  SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
   大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。
  SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
众所周知,标准的UNⅨ安全模型是"任意的访问控制"DAC。就是说,任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他!
   而MAC情况下的安全策略完全控制着对所有资源的访问。这是MAC和DAC本质的区别。
   SELinux提供了比传统的UNⅨ权限更好的访问控制。

关闭SELinux

1..无须重起而暂时关闭SELinux

以root用户运行以下命令

# setenforce 0

这条命令的作用是把SELinux暂时设定成Permissive模式(关于Permissive Mode在以下会有介绍)

如果要恢复运行SELinux则可以运行

# setenforce 1

这条命令会把SELinux设定成Enforcing模式

2.把SELinux永久设定为Permissive模式

这里需要讲一下Permissive和Enforcing模式的区别。 SELinux有三种模式:Enforcing, Permissive and Disable.

Enforcing模式就是应用SELinux所设定的Policy, 所有违反Policy的规则(Rules)都会被SELinux拒绝
Permissive和Enforcing的区别就在于它还是会遵循SELinux的Policy,但是对于违反规则的操作只会予以记录而并不会拒绝操作

Disable 顾名思义就是完全禁用SELinux

如果要永久设定为Permissive模式,我们就要修改SELinux的配置文件 /etc/sysconfig/selinux (在RHEL5下这是一个symbolic link to /etc/selinux/conf)
# This file controls the state of SELinux on the system.


# SELINUX= can take one of these three values:


# enforcing – SELinux security policy is enforced.


# permissive – SELinux prints warnings instead of enforcing.


# disabled – SELinux is fully disabled.


SELINUX=enforcing


# SELINUXTYPE= type of policy in use. Possible values are:


# targeted – Only targeted network daemons are protected.


# strict – Full SELinux protection.


SELINUXTYPE=targeted

修改SELINUX=permissive,然后重新启动就可以了