selinux

selinux:Security Enhanced Linux安全加强的linux
早期是美国国安局(NSA)发起的一个项目,目的是使操作系统通过一种机制进行加固,直到操作系统的安全性能够达到让军方使用的程度而设计的。selinux是对MAC的一种解决方案。

MAC:强制访问控制mandatory access control
定义一个类型,用户只可以访问此类型或者此类型的子类型的文件,其它文件不允许访问。当一个文件被移动时它的类型会随着所处的位置发生改变,这是selinux定义的访问控制策略所设定的。

一个用户能访问的文件取决于
1、文件的权限
2、用户的权限
3、文件的类型
他们就是用户定义的规则,定义过后一个用户能否访问就取决于这些规则

/etc/selinux/config
/etc/sysconfig/selinux这两个是一个文件。在文件里面
strict:
工作在此进程下的是全局的,所有进程都被控制、使用这个很困难,一不小心,系统就不能正常运行。
targeted:(由红帽开发)
指定只有谁被限定不能做什么,其他的不进行限定。


策略policy
把规则组合起来就叫策略
规则为了提高效率是以二进制格式的形式存在的。
/etc/selinux目录下是各种策略的文件
他们都是布尔类型,更改后将不用重新启动系统,直接生效
使用
getsebool -a 查看所有由selinux定义的bool型的控制。

通过修改文件的类型,可以扩大和缩小用户的域

查看一个文件的标签
ls -Z
下面会出现类似这样的一段标签共5段,redhat只用三段
用户 角色 类型
root:object_r:user_home_t

ps -Z查看一个进程的域,如果出现
unconfined_t  //表示这个服务不受selinux控制

在不同位置建立的文件类型不同,这里我们可以修改它们的类型使用
chcon (change context)
-R  递归修改
-v  显示信息,vv显示更详细的信息,最多3个v
-t  更改类型指定为特定类型
--reference 以某个文件的类型为参照,改成那个类型
如:
chcon -R --reference=/var/www/html /www
以/var/www/html类型为参照把/www的所有文件都改成那个类型
chcon -R -t samba_share_t /share/
把/share/下目录的类型都改为samba_share_t的类型


restorecon恢复selinux安全上下文
 -R递归
 -v显示信息
 -F强制恢复
如:恢复上面被修改的/www下的文件的类型
restorecon -R -v -F /www

查看定义bool型的开关
getsebool -a就可以查看
如:这里想查看与httpd相关的
getsebool -a | grep httpd

如何开启和关闭呢?
这里使用setsebool
-P表示修改后永久有效,不加临时有效
让一个类型=1或者=on表示开启,=0或者=off表示关闭。
如:
setsebool httpd_enable_cgi=1   表示开启
setsebool httpd_enable_cgi=0  表示关闭

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章