Dòng *. *; Auth, authpriv.none - / var / log / syslog có nghĩa gì trong tệp cấu hình rsyslog?


11

Tôi đang cố gắng để hiểu các /etc/rsyslog.conftập tin, nhưng tôi đang thiếu một cái gì đó. Ví dụ: đây là một phần của tệp:

auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none      -/var/log/syslog
cron.*              /var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log

Theo này trang:

Cơ sở này là một trong những từ khóa sau: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (giống như auth), syslog, user, uucp và local0 đến local7.

Ưu tiên là một trong những từ khóa sau, theo thứ tự tăng dần: gỡ lỗi, thông tin, thông báo, cảnh báo, cảnh báo (giống như cảnh báo), err, error (giống như err) crit, alert, nổi lên, hoảng loạn (giống như nổi lên). Các từ khóa lỗi, cảnh báo và hoảng loạn không được dùng nữa và không nên sử dụng nữa. Ưu tiên xác định mức độ nghiêm trọng của tin nhắn.

Dấu hoa thị ("*") là viết tắt của tất cả các cơ sở hoặc tất cả các ưu tiên, tùy thuộc vào nơi nó được sử dụng (trước hoặc sau giai đoạn). Từ khóa không có nghĩa là không có sự ưu tiên của cơ sở nhất định.

Bạn có thể chỉ định nhiều cơ sở có cùng mẫu ưu tiên trong một câu lệnh bằng cách sử dụng toán tử dấu phẩy (","). Bạn có thể chỉ định nhiều cơ sở như bạn muốn. Hãy nhớ rằng chỉ có phần cơ sở từ một tuyên bố như vậy được thực hiện, một phần ưu tiên sẽ bị bỏ qua.

Nhiều bộ chọn có thể được chỉ định cho một hành động bằng cách sử dụng dấu phân cách dấu chấm phẩy (";"). Hãy nhớ rằng mỗi bộ chọn trong trường bộ chọn có khả năng ghi đè lên các bộ chọn trước. Sử dụng hành vi này, bạn có thể loại trừ một số ưu tiên khỏi mẫu.

Vì vậy, điều này là khá dễ hiểu nhưng những gì về đường dẫn tập tin ở bên phải. Nó có thể chỉ là một con đường, hoặc con đường có |hoặc -trước nó (hoặc thậm chí là một cái gì đó khác). Sự khác biệt giữa ba là gì?

Câu trả lời:


16

Được

*.*;auth,authpriv.none      -/var/log/syslog

*.* có nghĩa là đăng nhập tất cả các cơ sở và tất cả các ưu tiên.

auth,authpriv.none có nghĩa là không đăng nhập các cơ sở auth và authpriv.

-/var/log/syslogcó nghĩa là đăng nhập vào tập tin / var / log / syslog. Dấu gạch ngang trước nói với syslogd không gọi fsync (), tức là không xóa bộ đệm kernel vào đĩa sau mỗi lần ghi vào tệp.


Làm thế nào có auth,authpriv.nonenghĩa là không đăng nhập? Từ tài liệu được trích dẫn, "mỗi bộ chọn trong trường bộ chọn có khả năng ghi đè lên các tài liệu trước" - chi tiết về hành vi đó được ghi lại ở đâu? Tôi đã mong đợi authphần phù hợp với cơ sở xác thực đã được khớp với *.*, thay vì vô hiệu hóa nó.
jl6

2
auth,authprivphù hợp với cả authauthpriv. Phần .noneáp dụng cho cả hai. *.*;auth;authpriv.nonesẽ hành xử như bạn mô tả.
Kyle Jones

Được rồi cảm ơn! Và đó là tài liệu ở bất cứ đâu?
jl6

1
Nó được ngụ ý trong tài liệu trên. Phần ưu tiên được bỏ qua (bỏ qua) cho tất cả trừ cơ sở cuối cùng nếu bạn liệt kê nhiều cơ sở sử dụng dấu phẩy. Các tài liệu chắc chắn có thể được cải thiện trong lĩnh vực này.
Kyle Jones

Tôi đã thêm dòng *.*;auth,authpriv.none /dev/console để các thông báo nhật ký hệ thống cũng xuất hiện trên bảng điều khiển (tty1) trên Raspberry Pi của tôi. Tôi có một màn hình được cắm vào máy chủ Pi của tôi, được sử dụng chỉ để theo dõi nhật ký. Tôi ssh in để làm bất kỳ công việc trên đó bạn nhìn thấy.
Sẽ
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.