Apa arti dari *. *; Auth, authpriv.none - / var / log / syslog artinya dalam file konfigurasi rsyslog?

11

Saya mencoba memahami /etc/rsyslog.conffile tersebut, tetapi saya kehilangan sesuatu. Sebagai contoh, ini adalah bagian dari file:

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

Menurut halaman ini :

Fasilitas ini adalah salah satu dari kata kunci berikut: auth, authpriv, cron, daemon, kern, lpr, mail, mark, berita, keamanan (sama seperti auth), syslog, pengguna, uucp dan local0 melalui local7.

Prioritas adalah salah satu dari kata kunci berikut, dalam urutan naik: debug, info, pemberitahuan, peringatan, peringatan (sama dengan peringatan), err, error (sama seperti err) crit, waspada, muncul, panik (sama seperti muncul). Kesalahan kata kunci, peringatan, dan panik sudah tidak digunakan lagi dan tidak boleh digunakan lagi. Prioritas menentukan tingkat keparahan pesan.

Tanda bintang ("*") adalah singkatan dari semua fasilitas atau semua prioritas, tergantung di mana ia digunakan (sebelum atau setelah periode). Kata kunci tidak ada artinya tanpa prioritas dari fasilitas yang diberikan.

Anda dapat menentukan beberapa fasilitas dengan pola prioritas yang sama dalam satu pernyataan menggunakan operator koma (","). Anda dapat menentukan fasilitas sebanyak yang Anda inginkan. Ingatlah bahwa hanya bagian fasilitas dari pernyataan seperti itu yang diambil, bagian prioritas akan dilewati.

Selektor ganda dapat ditentukan untuk satu aksi menggunakan pemisah titik koma (";"). Ingat bahwa setiap pemilih di bidang pemilih mampu menimpa yang sebelumnya. Dengan menggunakan perilaku ini, Anda dapat mengecualikan beberapa prioritas dari pola.

Jadi, ini bisa dimengerti tetapi bagaimana dengan path file di sebelah kanan. Itu bisa berupa jalan, atau jalan dengan |atau -sebelum itu (atau bahkan mungkin sesuatu yang lain). Apa perbedaan antara ketiganya?

Mikhail Morfikov
sumber

Jawaban:

16

Diberikan

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

*.* berarti mencatat semua fasilitas dan semua prioritas.

auth,authpriv.none berarti jangan login fasilitas auth dan authpriv.

-/var/log/syslogberarti log ke file / var / log / syslog. Dasbor sebelumnya memberi tahu syslogd untuk tidak memanggil fsync (), yaitu jangan membilas buffer kernel ke disk setelah setiap penulisan ke file.

Kyle Jones
sumber
Bagaimana auth,authpriv.noneartinya jangan login? Dari dokumen yang dikutip, "setiap pemilih dalam bidang pemilih mampu menimpa yang sebelumnya" - di mana detail perilaku itu didokumentasikan? Saya akan mengharapkan authbagian untuk mencocokkan fasilitas auth yang sudah cocok di bawah *.*, daripada menonaktifkannya.
jl6
2
auth,authprivcocok dengan keduanya authdan authpriv. Bagian ini .noneberlaku untuk keduanya. *.*;auth;authpriv.noneakan berperilaku seperti yang Anda gambarkan.
Kyle Jones
Ok terima kasih! Dan apakah itu didokumentasikan di mana saja?
jl6
1
Tersirat dalam dokumentasi di atas. Bagian prioritas dilewati (diabaikan) untuk semua kecuali fasilitas terakhir jika Anda mendaftar beberapa fasilitas menggunakan koma. Dokumen pasti dapat ditingkatkan di bidang ini.
Kyle Jones
Saya menambahkan baris *.*;auth,authpriv.none /dev/console sehingga pesan syslog juga keluar di konsol (tty1) pada Raspberry Pi saya. Saya memiliki monitor yang terhubung ke server Pi saya yang digunakan hanya untuk memantau log. Saya ssh untuk melakukan pekerjaan apa pun yang Anda lihat.
Will