我在 /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 呢?
答案1
好吧,我联系了 RedHat 支持,这是我得到的答案。
他让我做同样的步骤,除了第一个 semanage 命令,他让我做的"/modevasive(/.*)?"
不仅仅是"/modevasive"
。我不知道为什么,但这为我解决了问题。