Description of problem: Happens during login in the web interface of cobbler SELinux is preventing /usr/sbin/httpd from 'unlink' accesses on the file sessionidc075d0b4ce9f36444b2ba81e2c3d695c_out_2aUHY8. ***** Plugin catchall (100. confidence) suggests *************************** If you believe that httpd should be allowed unlink access on the sessionidc075d0b4ce9f36444b2ba81e2c3d695c_out_2aUHY8 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 /usr/sbin/httpd /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol.pp Additional Information: Source Context system_u:system_r:httpd_t:s0 Target Context system_u:object_r:cobbler_var_lib_t:s0 Target Objects sessionidc075d0b4ce9f36444b2ba81e2c3d695c_out_2aUH Y8 [ file ] Source /usr/sbin/httpd Source Path /usr/sbin/httpd Port <Unknown> Host (removed) Source RPM Packages httpd-2.4.4-2.fc18.x86_64 Target RPM Packages Policy RPM selinux-policy-3.11.1-87.fc18.noarch Selinux Enabled True Policy Type targeted Enforcing Mode Enforcing Host Name (removed) Platform Linux (removed) 3.8.6-203.fc18.x86_64 #1 SMP Tue Apr 9 19:33:01 UTC 2013 x86_64 x86_64 Alert Count 1 First Seen 2013-04-14 18:12:02 CEST Last Seen 2013-04-14 18:12:02 CEST Local ID 05340e46-47b2-44ee-9797-e74439d8d218 Raw Audit Messages type=AVC msg=audit(1365955922.714:397): avc: denied { unlink } for pid=2385 comm="/usr/sbin/httpd" name="sessionidc075d0b4ce9f36444b2ba81e2c3d695c_out_2aUHY8" dev="dm-1" ino=666754 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:cobbler_var_lib_t:s0 tclass=file type=SYSCALL msg=audit(1365955922.714:397): arch=x86_64 syscall=unlink success=no exit=EACCES a0=7f1fe7495eb0 a1=1 a2=7f1fd45cca08 a3=20 items=0 ppid=1306 pid=2385 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 ses=4294967295 tty=(none) comm=/usr/sbin/httpd exe=/usr/sbin/httpd subj=system_u:system_r:httpd_t:s0 key=(null) Hash: /usr/sbin/httpd,httpd_t,cobbler_var_lib_t,file,unlink audit2allow #============= httpd_t ============== #!!!! This avc is allowed in the current policy allow httpd_t cobbler_var_lib_t:file unlink; audit2allow -R require { type httpd_t; } #============= httpd_t ============== cobbler_manage_lib_files(httpd_t) Additional info: hashmarkername: setroubleshoot kernel: 3.8.6-203.fc18.x86_64 type: libreport
*** Bug 951946 has been marked as a duplicate of this bug. ***
*** Bug 951945 has been marked as a duplicate of this bug. ***
*** Bug 951942 has been marked as a duplicate of this bug. ***
*** Bug 951940 has been marked as a duplicate of this bug. ***
*** Bug 951939 has been marked as a duplicate of this bug. ***
*** Bug 951930 has been marked as a duplicate of this bug. ***
*** Bug 951931 has been marked as a duplicate of this bug. ***
We had apache_content_template(cobbler) in F17 but there were issues with this policy. I am thinking just add httpd_run_cobbler and allow manage these cobbler lib files. Niki, did you try to add a local policy to make this working?
I have added this atm, and this part of cobbler seems to be working here now. The commented out lines is because I at first forgot to enable the httpd_can_network_connect_cobbler boolean. =============================== module net.guldbrand.ipa_cobbler-web_httpd 1.0; require { type httpd_t; # type cobbler_port_t; type cobbler_var_lib_t; # class tcp_socket name_connect; class dir { write read add_name remove_name }; class file { rename write create unlink }; } #============= httpd_t ============== #allow httpd_t cobbler_port_t:tcp_socket name_connect; allow httpd_t cobbler_var_lib_t:dir { write read add_name remove_name }; allow httpd_t cobbler_var_lib_t:file { rename write create unlink }; =============================== There may be errors in this, as my knowledge of SELinux is quite limited to be honest. But all httpd has to do is server static files from /var/lib/cobbler/, and that as far as I can see is something httpd always has to do for cobbler to work (That is if I have understood cobbler correctly).
Just a thought, why not call it httpd_serve_cobbler_files (the boolean), it seems more descriptive to me :-)
cobblerd also needs a cache folder in /var/cache/cobblerd, and it tries to create it if it's missing Don't know if this line is correct, and I haven't figured out how to add it yet, if I should just dump the line at the end of /etc/selinux/targeted/modules/active/file_contexts, or how it all fits together /var/cache/cobbler(/.*)? system_u:object_r:cobbler_var_lib_t:s0 Would that line allow cobblerd to recreate the dir and all content in it that it needs ?
bf7a1621089a1044e5835f1ae15a617db13fa955 fixes this in git.
selinux-policy-3.11.1-91.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/selinux-policy-3.11.1-91.fc18
Package selinux-policy-3.11.1-91.fc18: * should fix your issue, * was pushed to the Fedora 18 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing selinux-policy-3.11.1-91.fc18' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-6018/selinux-policy-3.11.1-91.fc18 then log in and leave karma (feedback).
selinux-policy-3.11.1-91.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.