2012-03-05 30 views
10

Đối với một số thử nghiệm tôi đang thực hiện, tôi được yêu cầu từ xa đuôi nhật ký truy cập apache qua ssh. Tôi có thể thực hiện thành công điều đó chỉ khi các quyền được đặt chính xác cho nhật ký. Tôi đã nhận thấy rằng mỗi tuần một lần, một access.log apache mới được tạo ra và các điều khoản được thiết lập lại.Nhật ký truy cập Apache tự động đặt quyền cho phép

công việc hiện tại của tôi xung quanh là chỉnh sửa các điều khoản trên nhật ký mỗi tuần một lần:

chmod 777 /var/log/apache2/access.log 

tôi đã tự hỏi nếu có một giải pháp lâu dài hơn như mở rộng thời gian mà các bản ghi cũ vẫn hay tự động thiết lập quyền khi nhật ký mới được tạo.

Nếu có vấn đề, tôi đang chạy máy chủ trên Ubuntu 11.10

Trả lời

19

Chỉnh sửa tệp logrotate.conf của bạn để đặt đúng chủ sở hữu/quyền đối với tệp apache.log. Một cái gì đó như thế này:

/var/log/apache2/access.log { 
    weekly 
    create 0644 root utmp 
    rotate 1 
} 

(Edit:. Thay đổi chế độ từ 0744 đến 0644. Không cần phải thiết lập các bit thực thi)

+7

Trong một số trường hợp, cấu hình có thể nằm trong '/ etc/logrotate.d/apache2'. – jevon

+4

Tuy nhiên, nếu bạn chỉnh sửa '/ etc/logrotate.d/apache2', thì các thay đổi của bạn sẽ bị mất vào lần sau khi bạn nâng cấp Apache. Bạn nên thay đổi trực tiếp 'logrotate.conf', sau' include' (để ghi đè cấu hình của bạn). – jevon

+0

@jevon đề xuất của bạn tạo ra lỗi: 'mục nhập nhật ký trùng lặp cho/var/log/apache2/access.log' – GergelyPolonkai

0

Có thể một ứng dụng khác, như logrotate, đang thay đổi nhật ký? (Nghe có vẻ như nó, vì nó chỉ xảy ra hàng tuần) Tôi không nghĩ chính Apache chịu trách nhiệm về cơ hội cho phép.

Một nơi tốt để bắt đầu là kiểm tra /etc/cron./* để xem có bất kỳ công việc cron nào đang chạm vào access.log

Chúc may mắn!

+0

tôi nghĩ anh ấy ** muốn ** để thiết lập 'access.log' để '777' để mọi người có thể xem nhật ký. Cũng có lẽ '744' là tốt hơn để những người khác không thể sửa đổi nhật ký. – hobbes3

+1

Không, tốt hơn là nên tìm chương trình nào sửa đổi quyền của nhật ký, thay vì thiết lập quyền hạn một cách mù quáng. Nếu nó là logrotate, sau đó nó có thể phá vỡ bởi vì nó không có đủ quyền. – Wesley

Các vấn đề liên quan