全部博文(2065)
分类: LINUX
2010-01-18 14:23:10
SElinux 在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访问控制系统(DAC)之上的。
通过运行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
察看系统的状态