Назад | Перейти на главную страницу

SELinux: разрешить Zend webapp читать / писать в дерево вне htdocs

У меня есть веб-приложение Zend, работающее на сервере CentOS с SELinux, работающим в разрешающем режиме (т.е. решения по управлению доступом записываются в /var/log/audit/audit.log но не принудительно). Приложение позволяет людям загружать файлы, которые сохраняются в структуре каталогов вне htdocs (например. /var/acme/myapp/files). Приложению необходимо записывать и удалять файлы в этом каталоге, а также создавать, изменять и удалять каталоги в этом каталоге.

FWIW, httpd начинается как root, затем порождает процессы как отдельного пользователя с именем apache.

Я хотел бы перевести SELinux в принудительный режим, но все же разрешить приложению Zend выполнять операции ввода-вывода, описанные выше. Я также хочу, чтобы эти настройки SELinux сохранялись после перезапуска. Как мне это сделать?

Вам необходимо изменить метку папки, чтобы она была доступна для записи httpd.

Если http - единственное, что будет писать в него (например, ftp или ssh), то это должно сработать.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/acme/myapp/files(/.*)?'
fixfiles restore /var/acme/myapp/files

Попробуйте записать в папку, все должно работать.