Suggested fix generates errors. SELinux is preventing /var/www/cgi-bin/cachemgr.cgi from 'getattr' accesses on the file /etc/squid/cachemgr.conf. ***** Plugin catchall (100. confidence) suggests *************************** If you believe that cachemgr.cgi should be allowed getattr access on the cachemgr.conf file by default. Then you should report this as a bug. You can generate a local policy module to allow this access. Do allow this access for now by executing: # grep /var/www/cgi-bin/cachemgr.cgi /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol.pp Additional Information: Source Context system_u:system_r:httpd_sys_script_t:s0 Target Context system_u:object_r:squid_conf_t:s0 Target Objects /etc/squid/cachemgr.conf [ file ] Source cachemgr.cgi Source Path /var/www/cgi-bin/cachemgr.cgi Port <Unknown> Host (removed) Source RPM Packages Target RPM Packages squid-3.1.9-3.fc14 Policy RPM selinux-policy-3.9.7-19.fc14 Selinux Enabled True Policy Type targeted Enforcing Mode Permissive Host Name (removed) Platform Linux (removed) 2.6.35.10-74.fc14.x86_64 #1 SMP Thu Dec 23 16:04:50 UTC 2010 x86_64 x86_64 Alert Count 1 First Seen Wed 29 Dec 2010 02:37:39 PM NZDT Last Seen Wed 29 Dec 2010 02:37:39 PM NZDT Local ID ed8723f4-a48c-4f5b-aeff-b7e2049d881c Raw Audit Messages type=AVC msg=audit(1293586659.244:48852): avc: denied { getattr } for pid=7217 comm="cachemgr.cgi" path="/etc/squid/cachemgr.conf" dev=md2 ino=42731333 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=system_u:object_r:squid_conf_t:s0 tclass=file cachemgr.cgi,httpd_sys_script_t,squid_conf_t,file,getattr type=SYSCALL msg=audit(1293586659.244:48852): arch=x86_64 syscall=fstat success=yes exit=0 a0=3 a1=7fff97c7bc10 a2=7fff97c7bc10 a3=7fff97c7baf0 items=0 ppid=2633 pid=7217 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm=cachemgr.cgi exe=/var/www/cgi-bin/cachemgr.cgi subj=system_u:system_r:httpd_sys_script_t:s0 key=(null) cachemgr.cgi,httpd_sys_script_t,squid_conf_t,file,getattr #============= httpd_sys_script_t ============== allow httpd_sys_script_t squid_conf_t:file getattr;
*** Bug 666104 has been marked as a duplicate of this bug. ***
/usr/lib/squid/cachemgr\.cgi -- gen_context(system_u:object_r:httpd_squid_script_exec_t,s0) /usr/lib64/squid/cachemgr\.cgi -- gen_context(system_u:object_r:httpd_squid_script_exec_t,s0) In their usual location they are labeled httpd_squid_script_exec_t, why are these scripts located in a different directory. You can fix the labeling with the following commands. # semanage fcontext -a -t httpd_squid_script_exec_t /var/www/cgi-bin/cachemgr.cgi # restorecon -v /var/www/cgi-bin/cachemgr.cgi If you believe this should be the default or some package installs them there, please comment in this bug.
*** Bug 665681 has been marked as a duplicate of this bug. ***
(In reply to comment #2) /usr/lib/squid/cachemgr\.cgi -- [...] I have not changed the directory for these scripts, they are as the package manager placed them, so the SELinux stuff should have been set correctly by default. So I think it is a valid bug. # semanage fcontext -a -t httpd_squid_script_exec_t /usr/sbin/semanage: bad option # The suggested fix fails.
You need to use whole suggested command # semanage fcontext -a -t httpd_squid_script_exec_t /var/www/cgi-bin/cachemgr.cgi
Sorry, I had not picked up that the second line was actually a continuation of the first... Obvious in hindsight!