Apache บันทึกสิทธิ์การอ่านของผู้ใช้รายอื่น [ปิด]


23

เรามีนักพัฒนาหลายคนที่ดูแลระบบและฉันต้องการให้พวกเขาอ่านไฟล์บันทึกใน / var / log / httpd ได้อย่างง่ายดายโดยไม่จำเป็นต้องมีการเข้าถึงรูท ฉันตั้งค่าสิทธิ์ในการอ่านสำหรับผู้ใช้ 'อื่น ๆ ' แต่เมื่อฉันเรียกใช้ tail บนไฟล์บันทึกฉันได้รับการปฏิเสธสิทธิ์:

[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

บางทีฉันอาจพลาดอะไรบางอย่างเกี่ยวกับการอนุญาต แต่ฉันไม่พบคำตอบง่ายๆ


2
ฉันค้นคว้าบทความหลายบทความที่พยายามหาวิธีแก้ปัญหาโดยอ้างอิงจากข้อผิดพลาด (รวมถึงเอกสารของ Apache) นั่นเป็นเหตุผลเดียวที่ฉันโพสต์ที่นี่ ฉันไม่รู้ว่าทำไมสิ่งนี้ถึงลงมติ ฉันต้องโพสต์เว็บไซต์ที่ฉันค้นคว้าหรือไม่ จากคำตอบมันดูเหมือนว่ามีบางอย่างเกี่ยวกับ Linux ฉันไม่เข้าใจ แต่คุณลักษณะนี้ไม่ได้กล่าวถึงในบทความที่ฉันอ่าน
user2344668

1
[me@ourserver ~]$ tail -f /var/log/httpd/oursite.com/error.log<--- ดังนั้นสิ่งที่มีสิทธิ์ใน/var/log/httpd/oursite.com/error.log- นี้จะเป็นอย่างมากที่เกี่ยวข้อง (โปรดสังเกตคำตอบของโจชัวด้านล่าง )
voretaq7

7
@ voretaq7 และคนอื่น ๆ - มันไร้สาระที่คำถามเช่นนี้ได้รับการโหวตและปิด - ลองตรงนี้: คุณควรรู้คำตอบเพื่อถามคำถามอย่างถูกต้องหรือไม่ ฉันเห็น. ในฐานะที่เป็นโปรแกรมเมอร์ C ++ และ PHP ที่ต้องการให้สิทธิ์การเข้าถึงบันทึกเหล่านี้แก่ผู้อื่นฉันคิดว่าฉันควรละอายใจที่ไม่รู้ว่าจะทำสิ่งนี้ได้อย่างไร ฉันจะไปวางหัวที่มุมห้องแล้ว จริงๆแล้วมันบอกว่าคำถามไม่ได้เกี่ยวกับการบริหารระบบมืออาชีพ ฉันเห็น - ดังนั้นในฐานะที่เป็นโปรแกรมเมอร์ PHP ที่จัดการระบบลูกค้าของฉันฉันเป็น ... ปลอม ขอบคุณ!
Dan Nissenbaum

3
Stackoverflow และเพื่อน ๆ ดูด การปิดและทำลายนาซีกำลังทำลายล้างพวกมัน
Lothar

2
นี่ดูเหมือนจะเป็นการลงคะแนนอย่างรุนแรง ถ้านี่คือ OT สำหรับ ServerFault ผู้คนควรไปหาคำตอบที่ไหน? ไม่ว่าในกรณีใดคำตอบที่ให้ไว้ก่อนที่จะถูกปิดจะยังคงมีประโยชน์ขอบคุณ Google
Evan Donovan

คำตอบ:


26

ไดเรกทอรี (เช่น / var / log / httpd) ต้องการทั้งสิทธิ์ในการอ่านและดำเนินการเพื่อให้สามารถทำการสำรวจได้ ดังนั้นเมื่อคุณเพิ่ม "r" ลงในไดเรกทอรีมันจะทำให้โลกเห็นเนื้อหาเท่านั้น แต่จะไม่เข้าไปในไดเรกทอรีนั้นและไปยังไดเรกทอรีอื่น

ลอง chmod -R go+rX /var/log/httpd


2
เพียงโน้ตเดียวที่นี่ในคำสั่งคุณไม่จำเป็นต้องใช้สวิตช์ -R เนื่องจากคุณกำลังอัพเดตไดเร็กทอรีและไม่ใช่ไฟล์ เพียงเพื่อแบ่งปันว่า ... คำสั่งจะเป็น:chmod go+rX /var/log/httpd
Matija
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.