Eu tenho 2 usuários no meu servidor. Um com sudo acessa outro sem. Como posso dar acesso aos logs do nginx
/var/log/nginx/error.log
Para outro usuário sem sudo
permissão para usar cat /var/log/nginx/error.log
? Posso criar algo como um link simbólico para fazer login no diretório / home / username?
Portanto, minha pergunta é: como um usuário sem sudo
permissão pode verificar os logs do nginx?
sudo
acesso a quê? Não está claro em sua pergunta. Eu sei que algumas pessoas fazem 'acesso sudo' como 'acesso root', mas isso não é tecnicamente preciso. Por favor, elabore.sudo
para conceder as permissões, dependendo de como você deseja configurá-lo.setfacl -m 'user:someuser:r' /var/log/nginx/error.log
. Não tenho certeza de como isso funcionaria com o logrotate.sudo
acesso a cat / tail / etc o log provavelmente é uma opção melhor de qualquer maneira. 'Respostas:
Por exemplo, assim:
chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz
dessa forma, qualquer pessoa poderá codificar e ler o conteúdo do diretório / var / log / nginx e ler os arquivos * .log.
Você também deve verificar a configuração de rotação do log para que as permissões não sejam alteradas novamente. Nas últimas versões do Nginx, até a versão 1.6.2, o arquivo
/etc/logrotate.d/nginx
usou a linhacreate 0640 www-data adm
para definir permissões ao girar logs. Isso deve ser alterado para algo comocreate 0644 www-data adm
. Note-se que esta solução permite que todos os usuários no servidor leiam todos os logs do Nginx.Atualização: as configurações do logrotate também devem ser atualizadas para incluir o
su www-data adm
para permitir que o utilitário logadm funcione sem reclamar das permissões de diretório incorretas.fonte
/etc/logrotate.d/nginx
écreate 0640 www-data adm
. Isso está na versão 1.6.2, mas não acho que essa linha tenha mudado há algum tempo.