setroubleshoot是查看SElinux日志报错的命令,对于这个命令的用法,本人现总结如下,如有有用得着的朋友,可以瞅瞅哦
1.首先查看一下个个的主机上是否安装了setroubleshoot,如果没有安装 则yum安装就行了(yum的配置暂不赘述)
2.检查是否有安装http vsftp 若没有安装,则也先要安装下
3.重启httpd服务 service httpd restart 或 /etc/init.d/httpd restart
4.回到根目录下,echo 一个html文件 即:echo "test" > index.html
5.cd /var/www/html目录下将里面所有内容删除掉
6.将根目录下的index.html文件 mv 到 /var/www/html (这个文件是Apache的网页文件所在位置)
7.通过elinks 来访问此文件 elinks 192.168.1.111 (以本机测试为例),因为不会成功,所以最终会显示一个 deny的报错回传信息 为了收集这个报错信息,需要这样处理
elinks 192.168.1.111 -dump 如图:
8,因为对系统 操作的所有日志报错广场均是在/var/log/messages 我们只需grep出 setroubleshoot那一行即可看到报错的真实内容
总结:1 所有操作之前需要在配置文件里面需要将SElinux的状态改为enforcing
2.在根目录和在 /var/www/html/下新的文件或文件夹,其安全性文本的type是不一样的,
因而导致在访问时受限 (若想要破除受限,restorecon target-file 或 在/var/www/html下新建一下文件,用chcon -t (字段改成和新建字段一样的) index.html )
3.此文档的书写只是提供一个查看日志报错的参考,给我们判断问题提供一个思路
谢谢各位。