ผมติดตั้ง awstats บนเซิร์ฟเวอร์ใหม่ของฉันอูบุนตูสุวิมล แต่เมื่อ cron พยายามที่จะเรียกว่าเป็นผู้ใช้ก็บ่นว่าwww-data
cannot access /var/log/apache2/access.log: Permission denied
ใน/usr/share/doc/awstats/README.Debian
ย่อหน้านี้มี:
ตามค่าเริ่มต้น Apache จะเก็บ logfiles (ตั้งแต่รุ่น 1.3.22-1) ด้วย uid = root และ gid = adm ดังนั้นคุณต้องเลือก ...
1) เปลี่ยนสิทธิ์ของ logfiles ใน /etc/logrotate.d/apache เพื่อให้ www-data มีการเข้าถึงแบบอ่านอย่างน้อย
2) เป็น 1) แต่เปลี่ยนเป็นผู้ใช้เฉพาะและใช้คุณลักษณะ suEXEC ของ Apache เพื่อเรียกใช้เป็นผู้ใช้เดียวกัน (และเปลี่ยนสิทธิ์ของ / var / lib / awstats ด้วยหรือใช้ไดเรกทอรีอื่น) นี่คือความซับซ้อนมากขึ้น แต่แล้วบันทึกไม่สามารถเข้าถึงเซิร์ฟเวอร์โดยทั่วไป (ซึ่งอาจเป็นจุดเริ่มต้นของ Apache)
3) เปลี่ยน awstats.pl เป็นกลุ่ม adm (แต่ระวังว่าคุณเสี่ยงต่อการอนุญาตให้ CGI-script เข้าถึงสิ่งต่างๆของผู้ดูแลระบบบนเครื่อง!)
ฉันจะไปกับ 1 แต่สิทธิ์ที่แนะนำในการอนุญาตคืออะไร
chmod 755 /var/log/apache2
แล้วและchmod 644 access.log
แต่ฉันต้องการ "นี่คือการฝึกฝนที่ดีที่สุด" - คำตอบ :) ขอบคุณสำหรับการตีระฆังใน!
chown www-data:www-data <yourFile>
chmod 655 <yourFile>