管理selinux

管理selinux

作者:LAMP小白  点击:2161  发布日期:2014-06-03 00:58:42  返回列表

基本selinux安全性概念


selinux是一组可确定哪个进程能访问那些文件、目录、端口等的安全规则。每个文件、进程、目录和端口都具有专门的安全标签,称为selinux上下文。默认情况下,该策略不允许任何交互,因此明确的规则授予访问权限。如果没有允许规则,则不允许访问。

selinux具有若干个上下文,但我们最关注的是第三个上下文:类型上下文。


selinux模式
为了进行故障排除,我们可以临时禁用selinux,使用selinux模式。
强制模式中,selinux不仅记录而且提供保护。
许可模式中,selinux允许所有交互,而且记录所有被拒绝的交互。
禁用模式中,selinux将关闭。


显示和修改selinux模式

[haha@MIO-02 test]$ vi /etc/selinux/semanage.conf ^C
[haha@MIO-02 test]$ getenforce^C
[haha@MIO-02 test]$ setenforce^C


显示和修改selinux文件上下文

许多助理文件的命令都具有一个用于显示或设置selinux上下文的选项(通常是-Z),例如:

[root@MIO-02 testmount]# ps auxZ
LABEL                           USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
system_u:system_r:init_t:s0     root         1  0.0  0.1  19228  1460 ?        Ss   Jun01   0:00 /sbin/init
system_u:system_r:kernel_t:s0   root         2  0.0  0.0      0     0 ?        S    Jun01   0:00 [kthreadd]
system_u:system_r:kernel_t:s0   root         3  0.0  0.0      0     0 ?        S    Jun01   0:00 [migration/0]

[root@MIO-02 testmount]# ls -lZ
-rw-rwxr--+ root root unconfined_u:object_r:default_t:s0 a.dat
drwxrwxr-x+ root root unconfined_u:object_r:default_t:s0 test

如何确定文件的初始selinux上下文?通过是父目录的上下文制定给新创建的文件。该策略中有一些特殊规则,称为类型转换规则,可以从默认更改类型上下文。

semanage fcontext可用于显示或修改restorecon用来设置默认文件上下文规则,restorecon是policycoreutil的一部分,semanage是policycoreutil-python中的一部分。

policycoreutils

[root@MIO-02 testmount]# semanage fcontext -a -f "" -t httpd_sys_content_t '/testmount(/.*)?'
[root@MIO-02 testmount]# restorecon -RFvv /testmount/
restorecon reset /testmount context unconfined_u:object_r:default_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /testmount/a.dat context unconfined_u:object_r:default_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /testmount/test context unconfined_u:object_r:default_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /testmount/test/1 context unconfined_u:object_r:default_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /testmount/new context unconfined_u:object_r:default_t:s0->system_u:object_r:httpd_sys_content_t:s0

[root@MIO-02 testmount]# touch 1.html
[root@MIO-02 testmount]# ll -Z
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 1.html
-rw-rwxr--+ root root system_u:object_r:httpd_sys_content_t:s0 a.dat
-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 new
drwxrwxr-x+ root root system_u:object_r:httpd_sys_content_t:s0 test


管理selinux布尔值

selinux布尔值是更改selinux策略行为的开关。selinux布尔值是可以启用或禁用的规则。

显示布尔状态和解释
[root@MIO-02 testmount]# semanage boolean -l


getsebool
setsebool -p


监控selinux冲突

必须安装setroubleshoot-server软件包,才能将selinux消息发送至message




上一篇:控制对文件的访问 下一篇:快递查询API
0