Apache mencatat izin baca pengguna lainnya [ditutup]

23

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.

pengguna2344668
sumber
2
Saya meneliti beberapa artikel mencoba menemukan solusi untuk ini berdasarkan kesalahan (termasuk dokumentasi Apache); itulah satu-satunya alasan saya diposting di sini. Saya tidak tahu mengapa ini menjadi pilihan. Apakah saya harus memposting situs web yang saya teliti? Berdasarkan jawaban, sepertinya ada sesuatu tentang Linux yang tidak saya mengerti tetapi atribut khusus ini tidak disebutkan dalam artikel yang saya baca.
user2344668
1
[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 )
voretaq7
7
@ voretaq7 dan yang lainnya - Sungguh konyol bahwa pertanyaan seperti ini akan dipilih dan ditutup. - Mari kita luruskan ini: Anda seharusnya tahu jawabannya untuk mengajukan pertanyaan dengan benar? Saya melihat. Sebagai seorang programmer C ++ dan PHP yang perlu menyediakan akses non-root ke log-log ini kepada orang lain, saya kira saya ... harus malu pada diri saya sendiri karena tidak tahu bagaimana membuat ini mungkin? Aku akan menggantung kepalaku di sudut sekarang. Sebenarnya, katanya pertanyaannya bukan tentang administrasi sistem profesional. Saya mengerti - jadi sebagai programmer PHP yang mengelola sistem klien saya, saya ... palsu. Terima kasih!
Dan Nissenbaum
3
Stackoverflow dan teman-teman payah. Nazi yang tutup dan kalah sedang menghancurkannya.
Lothar
2
Ini sepertinya semacam pemungutan suara yang keras, imo. Jika ini adalah OT untuk ServerFault, kemana orang harus pergi untuk menemukan jawaban? Bagaimanapun, jawaban yang diberikan sebelum ditutup masih membantu berkat Google.
Evan Donovan

Jawaban:

26

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

Joshua Miller
sumber
2
Hanya satu catatan di sini di perintah Anda tidak perlu saklar -R, karena Anda memperbarui direktori dan bukan file. Hanya untuk membagikan itu ... Perintahnya adalah:chmod go+rX /var/log/httpd
Matija