O Apache registra outras permissões de leitura do usuário [fechadas]

23

Temos vários desenvolvedores que mantêm o sistema e quero que eles leiam facilmente os arquivos de log em / var / log / httpd sem precisar de acesso root. Defino a permissão de leitura para 'outros' usuários, mas quando executo a cauda nos arquivos de log, recebo permissão negada:

[root@ourserver httpd]# chmod -R go+r /var/log/httpd
[root@ourserver httpd]# ls -la
drwxr--r--  13 root root 4096 Oct 25 03:31 .
drwxr-xr-x.  6 root root 4096 Oct 20 03:24 ..
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite.com
drwxr-xr-x   2 root root 4096 Oct 20 03:24 oursite2.com
-rw-r--r--   1 root root    0 May  7 03:46 access_log
-rw-r--r--   1 root root 3446 Oct 24 22:05 error_log

[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log
tail: cannot open `/var/log/httpd/oursite/error.log' for reading: Permission denied

Talvez eu esteja perdendo algo sobre como as permissões funcionam, mas não encontrei respostas fáceis.

user2344668
fonte
2
Eu pesquisei vários artigos tentando encontrar uma solução para isso com base no erro (incluindo a documentação do Apache); essa é a única razão pela qual postei aqui. Não sei por que isso foi rejeitado. Preciso postar quais sites eu pesquisei? Com base na resposta, parecia que havia algo sobre o Linux que eu não entendia direito, mas esse atributo em particular não foi mencionado nos artigos que li.
user2344668
1
[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log<--- Então, quais são as permissões /var/log/httpd/oursite.com/error.log- isso seria EXTREMAMENTE RELEVANTE . (Observe também a resposta de Joshua abaixo )
voretaq7
7
@ voretaq7 e outros - É ridículo que uma pergunta como essa seja votada e encerrada. - Vamos esclarecer : você deve saber a resposta para fazer a pergunta corretamente? Entendo. Como um programador de C ++ e PHP que precisa fornecer acesso não raiz a esses logs para outras pessoas, suponho que eu ... deveria ter vergonha de mim mesmo por não saber como tornar isso possível? Vou pendurar minha cabeça em um canto agora. Na verdade, diz que a questão não é sobre administração profissional de sistemas. Entendo - então, como programador PHP gerenciando o sistema do meu cliente, sou um ... falso. Obrigado!
Dan Nissenbaum
3
Stackoverflow e amigos são péssimos. Os nazistas de fechamento e de votação baixa estão arruinando isso.
Lothar
2
Isso parece ser uma votação dura e íntima. Se este é o OT for ServerFault, para onde as pessoas devem procurar uma resposta? De qualquer forma, a resposta que foi dada antes de ser fechada ainda é útil, graças ao Google.
Evan Donovan

Respostas:

26

Diretórios (como / var / log / httpd) requerem permissões de leitura e execução para serem percorridos. Portanto, quando você adiciona "r" ao diretório, ele permite apenas ao mundo ver o conteúdo, mas não entra nele e continua em outros diretórios.

Experimentar chmod -R go+rX /var/log/httpd

Joshua Miller
fonte
2
Apenas uma nota aqui no comando, você não precisa da opção -R, porque está atualizando o diretório e não os arquivos. Só para compartilhar isso ... O comando seria:chmod go+rX /var/log/httpd
Matija