无法使SELinux上下文types变为永久的semanage

我在/ modevasive创build了一个新文件夹来保存我的mod_evasive脚本和日志目录。 我试图将上下文types更改为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" 。 我没有解释为什么,但这解决了我的问题。