Так как a'r бьют меня к sed решению, я просто отправлю эквивалентный жемчуг:
perl -ne 'print if/start/../end/'
Это является более подробным все же.
Откройте/etc/selinux/targeted/booleans файл с помощью текстового редактора:
# vi /etc/selinux/targeted/booleans
Добавьте или измените значение для httpd_disable_trans следующим образом:
httpd_disable_trans=1
Сохраните и закройте файл. Введите следующие две команды:
# setsebool httpd_disable_trans 1
# /etc/init.d/httpd restart
PostInstallerF может помочь Вам
Можно взять справку от следующих ресурсов
Не отключайте SELinux. Это просто напрашивается на неприятности.
Что касается решения проблемы, я просто собираюсь заключить меня в кавычки здесь:
Кажется, что Вы создали новый каталог вне стандартной иерархии файловой системы для содержания веб-документов.
Когда Вы делаете это, SELinux не знает о Вашей пользовательской структуре каталогов и не знает, что Apache (httpd) должен иметь доступ к нему. Вы будете видеть сообщения в /var/log/audit/audit.log
показ отказов в этом случае.
Для фактического решения проблемы необходимо сказать SELinux, что Apache может получить доступ к каталогу. Сделайте это использование semanage fcontext команда:
semanage fcontext -a -t httpd_sys_content_t "/volume1/web(/.*)?"
Сопоставление с образцом сделано с регулярными выражениями, таким образом, это будет соответствовать /volume1/web
и все ниже его. То, что это использует регулярные выражения также, означает, что необходимо заключить его в кавычки как показано выше.
Затем повторно маркируйте файлы:
restorecon -r -v /volume1/web
SELinux теперь разрешит Apache получать доступ к файлам в /volume1/web
.