web-dev-qa-db-fra.com

Linux: comment appliquer des autorisations spécifiques sur les journaux nouvellement créés qui sont créés par rotation de journal?

J'ai remarqué que les journaux de messagerie en cours de création dans /var/log sont en cours de création et appartiennent à root (utilisateur et groupe). J'ai écrit un chèque Nagios qui surveille le journal et afin de permettre à l'utilisateur Nagios d'y accéder, j'ai donné au groupe other des autorisations de lecture, c'est-à-dire:

chmod o+r /var/log/maillog

Maintenant, quand j'y pense, ce n'est qu'un seul fichier journal, lorsque le fichier journal sera rempli, le mécanisme de rotation du journal renommera ce fichier et en ouvrira un nouveau, mais le nouveau fichier maillog n'aura pas le read write que j'ai autorisé.

Donc ma question est, comment puis-je m'assurer que le mécanisme de rotation des journaux créera tous les nouveaux fichiers mailllog avec les bonnes autorisations pour l'utilisateur Nagios?

Merci d'avance

15
Itai Ganot

logrotate a l'option create:

create mode owner group

Immédiatement après la rotation (avant l'exécution du script de post-rotation), le fichier journal est créé (avec le même nom que le fichier journal qui vient de pivoter). mode spécifie le mode du fichier journal en octal (le même que chmod (2)), le propriétaire spécifie le nom d'utilisateur qui sera propriétaire du fichier journal et le groupe spécifie le groupe auquel le fichier journal appartiendra. N'importe lequel des attributs du fichier journal peut être omis, auquel cas ces attributs pour le nouveau fichier utiliseront les mêmes valeurs que le fichier journal d'origine pour les attributs omis. Cette option peut être désactivée à l'aide de l'option nocreate.

Plus d'infos avec man logrotate.

Utilisez-le comme ceci:

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

soit en /etc/logrotate.conf ou un fichier séparé dans /etc/logrotate.d et vérifiez qu'aucun autre fichier ne l'emporte déjà. La façon dont cela est configuré dépend de votre système d'exploitation (par exemple, sur Ubuntu, cela est géré dans la configuration rsyslog).

21
Sven