之前在搭建zabbix服务时,遗留了一个问题没有解决,就是selinux安全标签
在开启selinux状态下,zabbix web页面会不断提示zabbix server is not running the information displayed may not be current,实则为selinux标签问题
SElinux基本用法
查看所有的 booleans 设置状况
getsebool -a
设置booleans值
setsebool -P httpd_disable_trans 1
来将 httpd_disable_trans 停用,这样其实也就等于是停用 SELinux 对 httpd 的保护了
chcon 命令则是用来设置 SELinux 对文件或目录的 content 标签的
chcon
检查文件或目录的 SELinux content
fixfiles check
修正(还原)文件或目录的 SELinux content
fixfiles restore
重新修正(还原)所有的文件或目录的 SELinux content
fixfiles relabel
最初以为将zabbix php目录的安全标签设置为与httpd默认目录一样的标签即可
于是查看默认目录selinux标签信息
ls -Zd /var/www/html drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/设置zabbix php目录标签为上面的输出值
chcon -u system_u -t httpd_sys_content_t /site/zabbix
这样设置后,发现还是不行,于是搜了下,可查看selinux日志信息
tail -f /var/log/audit/audit.log type=AVC msg=audit(1447931028.371:96): avc: denied { name_connect } for pid=2666 comm="httpd" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket type=SYSCALL msg=audit(1447931028.371:96): arch=c000003e syscall=42 success=no exit=-13 a0=f a1=7faf082a3980 a2=10 a3=7faf0402514c items=0 ppid=2496 pid=2666 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=MAC_CONFIG_CHANGE msg=audit(1447931029.816:97): bool=httpd_can_network_connect val=1 old_val=0 auid=501 ses=1 type=SYSCALL msg=audit(1447931029.816:97): arch=c000003e syscall=1 success=yes exit=2 a0=3 a1=7fffbae0fa00 a2=2 a3=0 items=0 ppid=2893 pid=3767 auid=501 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="setsebool" exe="/usr/sbin/setsebool" subj=unconfined_u:unconfined_r:setsebool_t:s0-s0:c0.c1023 key=(null) type=CRYPTO_KEY_USER msg=audit(1447931194.862:98): user pid=4021 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg=‘op=destroy kind=server fp=fb:9d:21:ab:44:c9:66:e9:70:4e:e8:2f:60:43:f9:ba direction=? spid=4021 suid=0 exe="/usr/sbin/sshd" hostname=? addr=127.0.0.1 terminal=? res=success‘
通过这个日志信息我也看不出是哪个安全标签的问题,有关SELINUX介绍的书是很厚很厚的一本(据说),而设置这个,貌似只能凭经验判断是哪个安全标签
不过没关系,可搜索,搜索给出了设置https://www.zabbix.com/forum/showthread.php?t=23878&page=3
如此设置后,就可以了
setsebool -P httpd_can_network_connect on
我遇到的是selinux标签导致的,可能还有一些别的原因导致的,可参考http://fengzhige.blog.51cto.com/3691377/1034485
本文出自 “morrowind” 博客,请务必保留此出处http://morrowind.blog.51cto.com/1181631/1714809
原文地址:http://morrowind.blog.51cto.com/1181631/1714809