SELinux 的一次探讨 -- quotacheck Permission Denied

今天在使用quotacheck  命令进行磁盘配额的时候,发现不能正确执行,如图:


发现Permission denied... ls -l /tmp/sdb1其权限是755,何况我是 root ,排除文件本身权限

带来的问题.查看日志:


很明显,  SELinux阻止了这次操作,  理论上,关了 SELinux就万事大吉了,命令是:    setenforce 0  即可


但我不希望这么做,关闭 SELinux本身就会带来安全上的一些问题,所以, 我开始追根溯源,

探究更完美的解决方案.messages里很清楚的说明要我们执行:

 

sealert -l 6a1d5e10-5a8a-4b53-beff-f75ab9520ff7


执行后, 结果如图(part):



显然,标识为quota_tcontext 是不能写入标识为dir 的文件里,需要更改 /tmp/sdb1context .

这里就需要根据具体实际情况来匹配不同的上下文,这里我选择 user_home_dir_tcontext, 执行如下命令:
   semanage -a -t user_home_dir_t/tmp/sdb1

restorecon -v/tmp/sdb1

两条命令执行完毕之后再执行

quotacheck /tmp/sdb1


 

成功执行!


总结: SELinux总会在平时的生产工作中带来各种各样的麻烦,但为了安全这是有必要的, SELinux在一定程度上保护了系统,

至少在被入侵之后能够尽可能的降低攻击带来的后果.

因此, SELinux尽可能不要关了,出现类似的问题应该根据实际情况对 SELinux进行正确的配置才是解决问题的最好办法.












posted @ 2016-10-30 22:08  tresser  阅读(233)  评论(0编辑  收藏  举报