我在 /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"
. 我没有解释为什么,但这为我解决了问题。