Eu pedi ajuda em #centos, e parece que o SELinux era o problema. De acordo com aureport -a
, o SELinux negou que o processo rodando sob o acesso logrotate_t
context aos arquivos no diretório home, que tinha o user_home_t
label - não é realmente uma grande surpresa uma vez que você saiba como o SELinux funciona!
Eu decidi apenas reclassificar os diretórios para os arquivos de log (o .*
à direita torna a modificação recursiva):
# semanage fcontext -a -t var_log_t "/home/www-data/.*/logs/.*"
# restorecon -r /home/www-data/*/logs
Eu escolhi o rótulo var_log_t
porque isso meio que faz sentido e acontece de ser um que eu sei que deveria funcionar. Eu gostaria de usar um rótulo que faça mais sentido, mas não sei listar os que estão funcionando. Pode ser possível criar uma nova política, mas isso pareceu ser um exagero para meus propósitos.
Vou ter que esperar alguns dias e depois ver se funcionou, mas suspeito que vai funcionar!
Edit: funcionou como um encanto! Estou tão feliz agora.