SELinux mencegah apache
pengguna menulis ke file log yang dimilikinya. Ketika saya melakukannya setenforce 0
itu berhasil. Kalau tidak, ini menunjukkan kesalahan ini
IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'
Konteks keamanan file:
$ ll -Z k.log
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log
File dibuat ketika mode SELinux diatur ke permisif.
Bagaimana cara mengatur konteks keamanan sehingga apache
pengguna dapat menulis di direktori itu? Saya memang mengatur konteks keamanan direktori menggunakan chcon
tetapi saya tidak dapat menemukan jenis file yang cocok.
Dari 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)
Ini akan mengubah izin:
sumber