Chinaunix首页 | 论坛 | 博客
  • 博客访问: 916893
  • 博文数量: 632
  • 博客积分: 2778
  • 博客等级: 大尉
  • 技术积分: 3387
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 09:09
个人简介

123

文章分类

全部博文(632)

文章存档

2014年(36)

2013年(33)

2012年(563)

分类: LINUX

2012-12-11 11:59:45

转自:http://humanux.blog.51cto.com/448382/346228

Selinux是强大的,复杂的。通过一段时间的学习应该说对Selinux的掌握情况不是很好,但是在实际搭建各种服务中遇到的关于Selinux的问题却已经基本上可以全部解决了。
    现在特将Selinux的一些基本功能、设置、学习方法总结一下希望能给大家一点帮助。
 
1、Selinux的三种模式:
Enforcing强制模式:默认模式,按照Selinux的策略来进行验证和管理系统安全。如果发现和Selinux的规定不相符合则强制阻止程序的运行或者访问,同时给出提示。
Permissive允许模式:系统记录所有违反策略的行为并给与一定的提示,同时不中阻止程序的运行。
Disabled禁用模式:关闭Selinux
getenforce:查询当前的Selinux模式
setenforce 0 |1 0:允许模式 1:强制模式
禁用selinux: 修改/etc/sysconfig/selinux 然后重新引导系统。
2、selinux下的环境元素:不同的安全需要使用不同的元素
Ls -Z 查看目标文件或者目录的策略
Ps -Z 查看进程的策略
*目前有5种支持元素,但不一定出现在所有系统中。
User:role:type:sensitivity:category
User_u:object_r:tmp_t:s0:c0
************************************************************
[root@server ~]# ls -Z /home
drwx------ redhat redhat system_u:object_r:user_home_dir_t redhat
drwxrwxrwx root root root:object_r:public_content_rw_t share
**************************************************************
用户(user)
指登陆到系统的用户类型;根用户登陆,则用户类型就是root;其他用户类型是user_u,即便是使用su命令提高访问权限也还是user_u;进程类型是system_u。
角色(role)
定义某个文件、进程、或用户的目的。文件角色是object_r;进程角色是system_r;用户角色也是system_r;
类型(type)
“强制类型”用来指定文件或者进程中数据的性质。策略中的规则指定那个进程类型可以使用哪个文件类型。
敏感性(sensitivity)
被政府、军事等部门使用的安全级别。
类别(cagegory)
与组类似,但可以阻止root访问的保密数据。
备注:类型为unconfined_t得到进程是尚未被selinux限制的进程。
3、Selinux目标策略:
chcon –t tmp_t /path 修改目标对象的安全环境类型。
**********************************************************
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t test
[root@server ~]# chcon -t etc_t test
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:etc_t test
************************************************************
Chcon –reference 对象1 对象2 把对象1的安全环境类型应用到对象2上
************************************************************
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:etc_t test
[root@server ~]# chcon --reference ./install.log ./test
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t test
************************************************************
restorecon /path 自动判断并应用对象的默认环境策略。
************************************************************
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:etc_t test
[root@server ~]# restorecon ./*
[root@server ~]# ls -Z
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t test
********************************************************
4、selinux策略的控制:策略文件位置/selinux/booleans
system-config-selinux 图形模式下修改各个项目的selinux的设置,要重新引导才能生效。
命令法:
1)getsebool 控制策略 :查看某个控制策略启用情况 on 启用 off关闭。
     getsebool –a |grep XXX 可以过滤所有XXX的策略的启用情况。
2)setsebool –P 控制策略 on|off
     setsebool –P 控制策略=1|0
     -P表示始终;开启或者关闭某个策略。
 
    Selinux 总是针对服务和进程出现的,要学好Selinux就不要禁用它。这样在做练习时,才会遇上相关的问题,才能看到Selinux给你解决问题的提示,也只有这样才能学好Selinux。
    针对某个服务的Selinux相关设置我都总结在XXX服务的RHCE心得中。

阅读(146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~