Я создал новую папку в / modevasive для хранения моих сценариев mod_evasive и для каталога журналов. Я пытаюсь изменить тип контекста на httpd_sys_content_t, чтобы Apache мог писать в папку. я сделал semanage fcontext -a -t "httpd_sys_content_t" /modevasive
чтобы изменить контекст, а затем restorecon -v /modevasive
чтобы включить изменение, но restorecon ничего не сделал. Так что я использовал chcon
чтобы изменить его вручную, выполнил команду restorecon, чтобы посмотреть, что произойдет, и вернул значение default_t.
semanage fcontext -l дает:
/modevasive/ all files system_u:object_r:httpd_sys_content_t:s0`
И глядя на /etc/selinux/targeted/contexts/files/file_contexts.local
дает
/modevasive/ system_u:object_r:httpd_sys_content_t:s0
Так почему же restorecon продолжает возвращать значение default_t?
Я обратился в службу поддержки RedHat, и это был ответ, который я получил.
Он попросил меня сделать те же шаги, за исключением первой команды semanage, он заставил меня сделать "/modevasive(/.*)?"
вместо просто "/modevasive"
. У меня нет объяснения почему, но это решило проблему для меня.