SELinux impedisce apache
all'utente di scrivere su un file di registro di cui è proprietario. Quando lo faccio setenforce 0
funziona. Altrimenti mostra questo errore
IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'
Il contesto di sicurezza del file:
$ ll -Z k.log
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log
Il file è stato creato quando la modalità SELinux è stata impostata su permissiva.
Come impostare il contesto di sicurezza in modo che l' apache
utente possa scrivere in quella directory? Ho impostato quel contesto di sicurezza della directory usando chcon
ma non riesco a trovare un tipo di file adatto.
Da 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)