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.
linux
apache-2.2
permissions
logging
user2344668
fonte
fonte
[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 )Respostas:
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
fonte
chmod go+rX /var/log/httpd