当前位置: 首页 > >

SElinux解析

发布时间:

SElinux



Subjects:(主) processes...


Object:(宾) open, close, read, write, modify, delete, chmod, chown, ...


actions:(谓) 文件,进程,套接字,链接,...



user-identify:role:domain|type:sencitivity


user-identify:SELinux的用户身份标识,跟文件系统的user不一样;


role:角色


domain|type:域(进程),类型(文件)


sencitivity:敏感度,s0



D


C:C1,C2


B:B1,B2,B3


A:


共ABCD四类7个安全级别,D级是安全级别最低的,C类为自主保护级别,B类为强制保护级别,A类为验证保护级别。



strict:对于每个文件都要严格规定其类型,对于每个进程都有特定的域,进程的域和文件的类型必须要严格匹配,才能使进程访问此文件;


targeted:仅有限个进程受到SELinux的管控;在RHEL系系统中为默认级别;


只监控那些容易被***并且会对系统造成安全隐患的进程;



enforcing:启用


permissivs:警告


disabled:关闭


targeted:仅对目标进程进行保护


mls:对大多数进程进行安全保护


??查看/etc/selinux/config文件中的配置信息



1)凡是从enforcing或Permissive模式切换值disabled模式,或者从disabled模式切换至enforcing或Permissive模式,都必须要经过操作系统重新引导才能生效;


2)使用setenforce命令修改的模式不会永久生效,如果想要使SELinux的工作模式永久生效, 需要修改/etc/sysconfig/selinux文件中的SELINUX=enforcing


3)enforcing到Permissive之间的模式转换可以使用setenforce命令来完成;


setenforce {0|1}


0:Permissive


1:Enforcing


4)可以使用getenforce命令来查看当前SELinux的工作模式;



chcon [options]... CONTEXT FILE...


-t type 修改为指定类型


-R:递归修改目录中的所有文件


--reference=FILE:参考FILE的安全上下文,为目标文件设置相同的安全上下文;



使用场景:


使用httpd创建虚拟主机之后,目标页面文件的类型与httpd进程的域不相符合,将虚拟主机服务器根目录中的所有文件修改为httpd_sys_content_t即可;



可以使用restorecon命令还原某文件或目录的安全上下文为默认值;


restorecon


-R:递归



getsebool


-a:显示所有已经生效的布尔型规则;



setsebool


-P:写入策略文件,使更改永久生效;



使用场景:支持二进制策略修改的系统服务


ftp的匿名用户上传功能:


~]# setsebool -P ftpd_full_access=1


~]# setsebool -P ftpd_anon_write=1



samba用户访问自己的家目录:


~]# setsebool -P samba_enable_home_dirs=1



需要通过安装policycoreutils-python获取该应用程序



semanage port -a -t http_port_t -p tcp 8077






转载于:https://blog.51cto.com/12667170/1969262



友情链接: