SELinux verhindert, dass der apacheBenutzer in eine ihm gehörende Protokolldatei schreibt. Wenn ich es tue setenforce 0, funktioniert es. Andernfalls wird dieser Fehler angezeigt
IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'
Der Sicherheitskontext der Datei:
$ ll -Z k.log
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log
Die Datei wurde erstellt, als der SELinux-Modus auf "Zulässig" gesetzt wurde.
Wie wird der Sicherheitskontext festgelegt, damit der apacheBenutzer in dieses Verzeichnis schreiben kann? Ich habe diesen Verzeichnissicherheitskontext mithilfe von festgelegt chcon, kann jedoch keinen geeigneten Dateityp finden.
Von audit.log:
type=AVC msg=audit(1409945481.163:1561): avc: denied { append } for pid=16862 comm="httpd" name="k.log" dev="dm-1" ino=201614333 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file
type=SYSCALL msg=audit(1409945481.163:1561): arch=c000003e syscall=2 success=no exit=-13 a0=7fa8080847a0 a1=441 a2=1b6 a3=3 items=0 ppid=15256 pid=16862 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)