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

Контексты SELinux с общими ресурсами NFS

Я пытаюсь настроить общий ресурс NFS между двумя серверами CentOS (filesrv и websrv) для папки, которая должна быть доступна для чтения и записи для процесса Apache. У меня проблемы с записываемой стороной этого, которую я сузил до конфигурации SELinux: Apache может писать в общую папку, если я setenforce 0 на клиенте NFS.

Соответствующая строка в файле экспорта для сервера NFS:

/data/files/sitefiles websrv(rw,sync,no_root_squash)


Контекст SELinux для общей папки на сервере NFS:

system_u:object_r:httpd_sys_rw_content_t:s0


Запись в моем fstab на клиенте NFS:

filesrv:/data/files/sitefiles /var/www/html/webroot/files nfs context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0


Насколько я могу судить, это должно смонтировать общий ресурс NFS с httpd_sys_rw_content_t контекст, но когда я это проверяю, на самом деле это:

system_u:object_r:httpd_sys_content_t:s0


Что могло заставить его применить более строгий контекст к общему ресурсу?

Простым решением должно быть использование логического значения SELinux. httpd_use_nfs чтобы позволить вашему веб-серверу отображать и записывать контент, хранящийся в общей папке NFS:

setsebool -P httpd_use_nfs=1 

Эта проблема возникла из-за того, что я монтировал несколько общих ресурсов NFS с одного сервера, не все из которых имели одинаковый контекст.

В соответствии с Документация RedHat о нескольких монтированиях NFS, Мне нужно было добавить безболезненная боль в мою строку fstab для креплений. Затем применяется правильный контекст SELinux для каждого монтирования.

Рабочая строка в моем fstab следующая:

filesrv:/data/files/sitefiles /var/www/html/webroot/files nfs nosharecache,context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0