I created a new folder at /modevasive to hold my mod_evasive scripts and for the Log Directory. I'm trying to change the context type to httpd_sys_content_t so Apache can write to the folder. I did semanage fcontext -a -t "httpd_sys_content_t" /modevasive
to change the context and then restorecon -v /modevasive
to enable the change, but restorecon didn't do anything. So I used chcon
to change it manually, did the restorecon to see what would happen and it changed it back to default_t.
semanage fcontext -l gives:
/modevasive/ all files system_u:object_r:httpd_sys_content_t:s0`
And looking at /etc/selinux/targeted/contexts/files/file_contexts.local
gives
/modevasive/ system_u:object_r:httpd_sys_content_t:s0
So why does restorecon keep setting it back to default_t?
Well, I reached out to RedHat support and this was the answer I got.
He had me do the same steps, except for in the first semanage command, he has me do
"/modevasive(/.*)?"
instead of just"/modevasive"
. I haven't got an explanation why, but that solved the problem for me.