Introduction
Este documento descreve a resolução de falhas de Logrotation devido a problemas de permissão nos diretórios pai do log.
Problema
Quando temos problemas de espaço em disco, alterna os logs susceptíveis para evitar problemas futuros.
Quando você verifica o logrotation após ele ter sido configurado, este erro é esperado:
[root@localhost logrotate.d]# logrotate /etc/logrotate.conf
error: syslog:1 duplicate log entry for /var/log/boot.log
error: found error in file syslog, skipping
error: skipping "/var/pari/dash/webui/tomcat/logs/catalina.out" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
Solução
Duas preocupações exigem intervenção:
1. O primeiro erro sugere uma entrada duplicada para o log /var/log/boot.log
no arquivo syslog. A solução é eliminar a entrada duplicada.
2. A solução para o segundo erro, Parent DIrectory has insecure permissions
, é mais complicado.
O diretório dos logs que tentamos localizar não é seguro. Há mais detalhes nesta mensagem.
It is world writable or writable by group which is not "root"
Essa mensagem indica que o pai do log de arquivo tem permissão que permite que o grupo (que não é raiz) ou outros gravem.
Ambos os padrões são considerados como não seguros com base nas regras definidas :
a. Altere as regras e permita que esse grupo (no nosso caso, nccmuser) tenha permissão para gravar
Ou
b. Remova a permissão de gravação do grupo do diretório pai no qual o arquivo de log está presente.
Essa alternativa é recomendável porque o grupo nccmuser faz parte do usuário nccmuser que já tem as permissões graváveis.
É sempre aconselhável não alterar as regras padronizadas definidas pelo sistema operacional.
Para evitar esse problema, remova a permissão de gravação do grupo ncmuser nos logs disponíveis para nccmuser:
[root@localhost tomcat]# pwd
/var/pari/dash/webui/tomcat
[root@localhost tomcat]# ls -l
total 140
drwxrwxr-x. 2 nccmuser nccmusers 4096 Oct 11 2021 bin
-rwxrwxr-x. 1 nccmuser nccmusers 18949 Oct 11 2021 BUILDING.txt
drwxrwxr-x. 3 nccmuser nccmusers 4096 Oct 11 2021 conf
-rwxrwxr-x. 1 nccmuser nccmusers 6210 Oct 11 2021 CONTRIBUTING.md
drwxrwxr-x. 2 nccmuser nccmusers 4096 Oct 11 2021 lib
-rwxrwxr-x. 1 nccmuser nccmusers 57092 Oct 11 2021 LICENSE
drwxrwxr-x. 2 nccmuser nccmusers 4096 May 23 11:50 logs
-rwxrwxr-x. 1 nccmuser nccmusers 2333 Oct 11 2021 NOTICE
-rwxrwxr-x. 1 nccmuser nccmusers 3372 Oct 11 2021 README.md
-rwxrwxr-x. 1 nccmuser nccmusers 6898 Oct 11 2021 RELEASE-NOTES
-rwxrwxr-x. 1 nccmuser nccmusers 16507 Oct 11 2021 RUNNING.txt
drwxrwxr-x. 2 nccmuser nccmusers 4096 May 20 20:23 temp
drwxrwxr-x. 6 nccmuser nccmusers 134 Oct 18 2021 webapps
drwxrwxr-x. 3 nccmuser nccmusers 22 Oct 11 2021 work
[root@localhost tomcat]# chmod 755 logs
[root@localhost tomcat]#
Ao executar o comando logrotate, você não verá estes erros depois que ambas as correções forem executadas:
[root@localhost tomcat]# logrotate /etc/logrotate.conf
[root@localhost tomcat]#