Linux: jak wymusić określone uprawnienia na nowo utworzone dzienniki, które są tworzone przez obracanie dziennika?

15

Zauważyłem, że tworzone dzienniki poczty /var/logsą tworzone i należą do użytkownika root (użytkownik i grupa). Napisałem czek Nagios, który monitoruje dziennik i aby umożliwić użytkownikowi Nagios dostęp do niego, dałem othergrupie uprawnienia do odczytu, to znaczy:

chmod o+r /var/log/maillog

Teraz, gdy o tym myślę, jest to tylko jeden plik dziennika, gdy plik dziennika zostanie wypełniony, mechanizm obracania dziennika zmieni nazwę tego pliku i otworzy nowy, ale nowy maillogplik nie będzie miał read writedozwolonego.

Moje pytanie brzmi: w jaki sposób mogę się upewnić, że mechanizm obracania dziennika utworzy wszystkie nowe pliki mailllog z odpowiednimi uprawnieniami dla użytkownika Nagios?

Z góry dziękuję

Itai Ganot
źródło

Odpowiedzi:

21

logrotatema createopcję:

create mode owner group

Natychmiast po rotacji (przed uruchomieniem skryptu postrotate) tworzony jest plik dziennika (o tej samej nazwie co właśnie obrócony plik dziennika). modeokreśla tryb pliku dziennika w formacie ósemkowym (taki sam jak chmod (2)), właściciel określa nazwę użytkownika, który będzie właścicielem pliku dziennika, a grupa określa grupę, do której należy plik dziennika. Dowolny z atrybutów pliku dziennika można pominąć. W takim przypadku atrybuty nowego pliku będą miały takie same wartości, jak oryginalny plik dziennika pominiętych atrybutów. Tę opcję można wyłączyć za pomocą opcji nocreate.

Więcej informacji z man logrotate.

Używaj go w ten sposób:

/var/log/maillog {
....
        create 664 user group
....
}

albo w /etc/logrotate.confosobnym pliku w, /etc/logrotate.di sprawdź, czy żaden inny plik nie przesłania tego. To, jak to jest skonfigurowane, zależy od twojego systemu operacyjnego (np. W Ubuntu, jest to obsługiwane w rsyslogkonfiguracji).

Sven
źródło
Jak mogę skonfigurować, aby tylko /var/log/maillogprzyszłe pliki dziennika były tworzone z pożądanymi uprawnieniami użytkownika bez zmiany jakichkolwiek domyślnych ustawień, które są już zastosowane do maillog?
Itai Ganot
Zobacz moje edytować i czytać man logrotate(i spojrzeć /etc/logrotate.confi /etc/logrotate.dna wiele przykładów).
Sven
2
@ItaiGanot Powinieneś również naprawić konfigurację syslog, aby tworzyła plik z odpowiednimi uprawnieniami, zamiast wykonywania początkowego chmod.
Jenny D,
@JennyD, Dzięki, to znaczy, że powinienem usunąć /var/log/mailloglinię z, /etc/logrotate.d/syslogaby ustawienia zostały /etc/logrotate.confwprowadzone?
Itai Ganot
2
@ItaiGanot Nie! Oznacza to, że należy dowiedzieć się, co syslog programu używasz (prawdopodobnie albo syslog-ngalbo rsyslog) i zmienić jego konfigurację. Jest to konieczne, ponieważ po ponownym uruchomieniu systemu lub ponownym uruchomieniu programu syslog z innego powodu może on ponownie utworzyć plik z niewłaściwym uprawnieniem.
Jenny D,