Kami memiliki beberapa pengembang yang memelihara sistem dan saya ingin mereka dengan mudah membaca file log di / var / log / httpd tanpa perlu akses root. Saya menetapkan izin baca untuk pengguna 'lain' tetapi ketika saya menjalankan ekor pada file log saya mendapat izin ditolak:
[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
Mungkin saya kehilangan sesuatu tentang cara kerja izin, tetapi saya tidak menemukan jawaban mudah untuk itu.
linux
apache-2.2
permissions
logging
pengguna2344668
sumber
sumber
[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log
<--- Jadi izin apa yang ada/var/log/httpd/oursite.com/error.log
- ini akan sangat RELEVAN . (Perhatikan juga jawaban Joshua di bawah ini )Jawaban:
Direktori (seperti / var / log / httpd) membutuhkan izin baca dan eksekusi agar dapat dilalui. Jadi ketika Anda menambahkan "r" ke direktori, itu hanya memungkinkan dunia untuk melihat konten, tetapi tidak masuk ke dalamnya dan melanjutkan ke direktori lain.
Mencoba
chmod -R go+rX /var/log/httpd
sumber
chmod go+rX /var/log/httpd