对SELinux开始了解是因为最近在搭建或者配置各种服务时因为SELinux策略导致服务失败或者受限,在我们搭建ftp、ddns、samba时一般都会遇到SELinux,所以很有必要进一步了解一下这个东东。
1. SELinux是什么
SELinux(Security-Enhanced Linux) 是NSA (United States National Security Agency)和SELinux社区联合实现的强制访问控制系统,可以让应用程序运行在其所需的最低权限上。
Security-Enhanced linux (SELinux)由以下两部分组成:
1) Kernel SELinux模块(/kernel/security/selinux)
2) 用户态工具
SELinux是一个安全体系结构, 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。
SELinux提供了一种灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中。SELinux定义了系统中每个【用户】、【进程】、【应用】和【文件】的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。
SELinux对系统用户(system users)是透明的,只有系统管理员需要考虑在他的服务器中如何制定严格的策略。策略可以根据需要是严格的或宽松的。
2. SELinux配置文件
SELinux配置文件(configuration)或策略文件(policy)位于/etc/目录下。
2.1 /etc/sysconfig/selinux配置文件
/etc/sysconfig/selinux是一个符号链接,真正的配置文件为:/etc/selinux/config
配置SELinux有如下两种方式:
1) 使用配置工具:Security Level Configuration Tool (system-config-selinux)
2) 编辑配置文件 (/etc/sysconfig/selinux).
/etc/sysconfig/selinux中包含如