查看当前模式:
getenforce
更改当前模式:
setenforce [ Enforcing | Permissive | 1 | 0 ]
更改布尔值:
setsebool [ -P ] boolean value | bool1=val1 bool2=val2
恢复默认SeLinux安全上下文:
restorecon -R -v Path
restorecon -R -v /var/www/ ##恢复httpd默认根目录SeLinux安全上下文
日志文件:
/var/log/audit/audit.log
日志分析工具:
yum install setroubleshoot
图形化:
sealert -b
非图形化:
sealert -a /var/log/audit/audit.log >seReport.txt
通过上面一句命令生成分析报告,报告中列出了问题点,解决办法,部分报告如下:
SELinux is preventing /usr/sbin/httpd from name_connect access on the tcp_socket .
***** 插件 catchall_boolean (47.5 置信度) 建议 ************************************
If 您要 allow HTTPD scripts and modules to connect to the network using TCP.
Then 您必须告知 SELinux 这个情况,方法是启用 'httpd_can_network_connect' 布尔。'mysqld_selinux' man page >中有详细资料。
Do
setsebool -P httpd_can_network_connect 1***** 插件 catchall_boolean (47.5 置信度) 建议 ************************************
If 您要 allow HTTPD scripts and modules to connect to databases over the network.
Then 您必须告知 SELinux 这个情况,方法是启用 'httpd_can_network_connect_db' 布尔。'mysqld_selinux' man page 中有详细资料。
Do
setsebool -P httpd_can_network_connect_db 1***** 插件 catchall (6.38 置信度) 建议 ********************************************
If 您确定应默认允许 httpd name_connect 访问 tcp_socket。
Then 您应该将这个情况作为 bug 报告。
您可以生成本地策略模块允许这个访问。
Do
请执行以下命令此时允许这个访问:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp