日期:2014-05-16  浏览次数:20665 次

Linux --SELinux简介

?

起因:安装软件时,出现以下信息。

SELinux is enabled, please disable SELinux or set enforce policy to permissive in /etc/selinux/config, then restart installation program.

?不懂,查了资料。

Security-Enhanced Linux 是一个在2.6核心中整合的一个新的安全构架

Linux security modules(LSM),是美国国家安全局(NAS)和SElinux社区的一个联合项目,经过NAS 和红帽子公司的努力 ,seliunx被整合进入了红帽子linux企业版

Selinux简介

SElinux 在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访问控制系统(DAC)之上的。
DAC是指系统的安全访问控制都是由系统管理员root自由管理的,不是系统强制行为
MAC运行的时候,比如一个应用程序或者一个线程以某个用户UID或者SUID运行的时候同样对一些其他的对象拥有访问控制限制,比如文件,套接子 (sockets)或者其他的线程

通过运行SElinux MAC内核可以保护系统不受到恶意程序的侵犯,或者系统本身的bug不会给系统带来致命影响(把影响限定在一定范围内)

SElinux为每一个用户,程序,进程,还有文件定义了访问还有传输的权限。然后管理所有这些对象之间的交互关系

对于SELinux设定的对象全限是可以根据需要在安装时候规定严格程度,或者完全禁用
在大多数情况下,SElinux对于用户来说是完全透明的,普通用户根本感觉不到Selinux的存在,只有系统管理员才需要对这些用户环境,以及策略进 行考虑。这些策略可以按照需要宽松的部署或者应用严格的限制,Selinux提供了非常具体的控制策略,范围覆盖整个linux系统

比如,当一个对象如应用程序要访问一个文件对象,内核中的控制程序检查访问向量缓存(AVC),从这里寻找目标和对象的权限,如果在这里没有发现权限定 义,则继续查询安全定义的上下关联,以及文件权限,然后作出准许访问以及拒绝访问的决定。如果在var/log/messages出现avc: denied信息,则表明访问拒绝。
目标和对象通过安装的策略来决定自身的安全关联,同时这些安装的策略也负责给系统产生安全列表提供信息。
除了运行强制模式以外,SELinux可以运行在许可模式,这时候,检查AVC之后,拒绝的情况被记录。Selinux不强制使用这种策略.

以下介绍一下SELinux相关的工具

/usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v
察看系统的状态
以下是运行输出,请参考
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Policy version: 18

?

编辑/etc/selinux/config

编辑/etc/sysconfig/selinux

则2个文件都要编辑成

SELINUX=disabled

?然后必须reboot,我没有重启安装时虽然不报selinux警告,但是报如下错误

cannot restore segment prot after reloc:...
?