Đâu là tất cả các tính tích cực của việc lưu trữ một tệp nhật ký


8

Tôi đang viết một chương trình và muốn nó lưu trữ một tệp nhật ký. Vấn đề là, chương trình thực sự không nên chạy như root.

Vì vậy, nếu tôi muốn duy trì truyền thống về nơi đặt các tệp, tôi có thể giữ tệp nhật ký ở đâu nếu không trong / var / log mà người dùng bình thường sẽ có quyền?

Chỉnh sửa: Tôi đang sử dụng Arch linux.

Câu trả lời:


7

Vì hệ điều hành bạn đang sử dụng bị thiếu, nên một cách tiếp cận chung hơn có thể là: Tạo một thư mục có tên ứng dụng của bạn (giả sử, foo) bên trong /var/log

# mkdir /var/log/foo

Hầu hết tất cả các hệ điều hành giống như unix sẽ cho phép bạn điều hướng qua các thư mục var_log, nhưng không xem nội dung logfiles (như mong đợi).

Trao quyền sở hữu cho người dùng mà bạn đang sử dụng để chạy chương trình của bạn và cho phép người dùng này (chỉ) xem / ghi những logfiles đó

# chown userfoo /var/log/foo
# chmod 600 /var/log/foo

Bạn cũng có thể chơi với các nhóm, cho phép truy cập đọc vào các toán tử chẳng hạn (và tất nhiên, một bộ quyền khác của chmod, như 640.

Làm xong. Điều này phải đủ chung cho bất kỳ hệ thống Unix nào, và có thể, một cách tiếp cận tốt hơn so với việc thêm người dùng vào các nhóm quản trị.


1
Thật tệ, tôi nên thêm rằng tôi đang sử dụng arch linux. Tôi không chắc chắn tôi sẽ muốn phương thức vì điều này sẽ đi vào một gói. Tôi thực sự hy vọng rằng có thể có một thư mục bên trong thư mục chính của người dùng có thể được sử dụng để giữ các tệp nhật ký.
Joshua Strot

1
Ok, giúp tôi hiểu. Chương trình này sẽ được điều hành bởi "người bình thường" (như password, cd, yes...), hoặc một daemon hoặc một số phần mềm máy chủ đó nhu cầu để chạy như một người sử dụng bình thường hoặc sử dụng hành chính để giảm rủi ro của hệ thống của bạn bị xâm nhập? Tôi không tìm thấy một nơi thích hợp hơn để đặt nhật ký người dùng, vì ngay cả FHS cũng không nói về nó - refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html . Có thể: /home/user/.your_app/logsgiống như hầu hết tất cả các ứng dụng làm trên các thư mục nhà của người dùng để xử lý các tệp cấu hình và nội dung;)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.