SELinux相关

SELinux的全称是Security Enhanced Linux, 直译就是安全加强的Linux。在SELinux之前,root账号能够任意的访问所有文档和服务;如果某个文件设为777,那么任何用户都可以访问甚至删除;这种方式称为DAC(主动访问机制),很不安全;SELinux则是基于MAC(强制访问机制),简单的说,就是程序和访问对象上都有一个标签进行区分,只有对应的标签才能允许访问。否则即使权限是777,也是不能访问的。

这个标签在程序或者进程上叫做domain(域),在访问对象或者文件上叫做context (上下文)。

查看上下文可以通过ls,查看域可以使用 ps Z -Z,技术分享

技术分享测试,在/var/www/html/下新建一个文档index.html,在其他目录下新建另一个文档index2.html,然后移动到/var/www/html/ 下

vi /var/www/html/index.html

this is a test

vi /root/index2.html

this is a test too

mv /root/index2.html /var/www/html/

网页访问:http://localhost/index.html 和http://localhost/index2.html 

技术分享

之所以会出现这种情况是因为index2.html与/var/www/html目录的标签不匹配

技术分享

如何修复?有两种方式,一种是通过restorerecon( restore context) 修复继承当前目录默认的上下文;一种是通过chcon (change context) 修改当前的上下文

自动修复 

[root@localhost html]# restorecon -R /var/www/html/

技术分享

也可以强行指定另外一个文件的上下文来设置

[root@localhost html]# chcon --reference=/var/www/html/index.html /var/www/html/index1.html

默认的上下文属性从哪里来?是通过 semanage 来配置


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。