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
#vi /etc/selinux/config
将文件中的SELINUX="enforcing" 改为 disabled ,重启生效。
立即生效:#setenforce 0 (关闭)
#sentnforce 1 (打开)
注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式 在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux
查看SELinux状态:
1、getenforce ##也可以用这个命令检查
2、/usr/sbin/sestatus -v ####Current mode为 permissive状态,即selinux已关闭。
Current mode: permissive