SELinux заважає Apache писати у файл


12

SELinux не дозволяє apacheкористувачеві записувати файл журналу, яким він володіє. Коли я setenforce 0це роблю, це працює. В іншому випадку вона показує цю помилку

IOError: [Errno 13] Permission denied: '/var/www/webapp/k/site/k.log'

Контекст безпеки файлу:

$ ll -Z k.log 
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 k.log

Файл створено, коли для режиму SELinux було встановлено дозвільний характер.

Як встановити контекст безпеки, щоб apacheкористувач міг писати в цей каталог? Я встановив контекст безпеки цього каталогу за допомогою, chconале не можу знайти відповідний тип файлу.

Від 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)

Відповіді:



18

Як уже було сказано, ви повинні доручити SELINUX дозволити запис у цей файл. Правильне, що потрібно зробити, - це маркувати /var/www/webapp/k/site/за типомhttpd_sys_rw_content_t

Щоб назавжди позначити цей каталог як httpd_sys_rw_content_t, ви можете скористатися командою semanage fcontext -a -t httpd_sys_rw_content_t /var/www/webapp/k/site(/.*)?; restorecon -RF /var/www/webapp/k/site/ Це дозволить пережити оновлення бінарної політики SELINUX та відновлення файлової системи.


2
це повинно було бути позначено як правильну відповідь. і рекомендується постійно позначити каталог (як зазначено в цій відповіді).
skidadon

1
Можливо, вам потрібно вийти з дужок з оболонок.
Майкл Хемптон

6

Це дозволить змінити дозволи:

chcon --type httpd_sys_rw_content_t /var/www/webapp/k/site/k.log

1
Я отримую цю помилку: -bash: синтаксична помилка поблизу несподіваного маркера `('
Деррік Міллер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.