Co oznacza linia *. *; Auth, authpriv.none - / var / log / syslog w pliku konfiguracyjnym rsyslog?


11

Próbuję zrozumieć /etc/rsyslog.confplik, ale coś mi brakuje. Na przykład jest to część pliku:

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

Według tej strony:

Obiekt jest jednym z następujących słów kluczowych: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp i local0 poprzez local7.

Priorytet jest jednym z następujących słów kluczowych, w porządku rosnącym: debugowanie, informacje, zawiadomienie, ostrzeżenie, ostrzeżenie (to samo co ostrzeżenie), err, błąd (to samo jak err) kryt, alert, emerg, panika (to samo co emerg). Słowa kluczowe error, warn and panic są przestarzałe i nie powinny być już używane. Priorytet określa ważność wiadomości.

Gwiazdka („*”) oznacza wszystkie obiekty lub wszystkie priorytety, w zależności od tego, gdzie jest używane (przed okresem lub po nim). Słowo kluczowe none oznacza brak priorytetu danego obiektu.

Możesz określić wiele obiektów o tym samym wzorcu priorytetu w jednej instrukcji, używając operatora przecinka („,”). Możesz określić tyle obiektów, ile chcesz. Pamiętaj, że brana jest tylko część obiektu z takiego oświadczenia, część priorytetowa zostanie pominięta.

Można wybrać wiele selektorów dla pojedynczej akcji za pomocą separatora średnika („;”). Pamiętaj, że każdy selektor w polu selektora może zastąpić poprzednie. Za pomocą tego zachowania można wykluczyć niektóre priorytety ze wzoru.

Jest to więc całkiem zrozumiałe, ale co ze ścieżką pliku po prawej stronie. Może to być po prostu ścieżka lub ścieżka z |lub -przed nią (a może nawet coś innego). Jaka jest różnica między tymi trzema?

Odpowiedzi:


16

Dany

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

*.* oznacza rejestrowanie wszystkich obiektów i wszystkich priorytetów.

auth,authpriv.none oznacza, że ​​nie loguj funkcji autoryzacji i autoryzacji.

-/var/log/syslogoznacza log do pliku / var / log / syslog. Poprzedni kreska informuje syslogd, aby nie wywoływał fsync (), tj. Nie opróżnia bufora jądra na dysk po każdym zapisie do pliku.


Jak to auth,authpriv.noneznaczy „nie loguj”? Z cytowanego dokumentu „każdy selektor w polu selektora może zastąpić poprzednie” - gdzie udokumentowano szczegóły tego zachowania? Oczekiwałbym, że ta authczęść będzie pasować do obiektu uwierzytelniającego, który już został dopasowany *.*, zamiast go wyłączać.
jl6

2
auth,authprivpasuje zarówno do, jak authi do authpriv. .noneCzęść odnosi się do obu z nich. *.*;auth;authpriv.nonezachowa się tak, jak to opisujesz.
Kyle Jones

Ok dzięki! I czy jest to gdziekolwiek udokumentowane?
jl6

1
Jest to sugerowane w powyższej dokumentacji. Część priorytetowa jest pomijana (ignorowana) dla wszystkich obiektów oprócz ostatniego, jeśli lista obiektów zawiera wiele przecinków. Dokumenty można z pewnością poprawić w tej dziedzinie.
Kyle Jones

Dodałem wiersz, *.*;auth,authpriv.none /dev/console aby komunikaty syslog również pojawiały się na konsoli (tty1) na moim Raspberry Pi. Mam monitor podłączony do mojego serwera Pi, który służy tylko do monitorowania dzienników. Widzę, żebym wykonał jakąkolwiek pracę.
Czy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.