Recherche de site Web

Comment modifier le fichier journal Sudo par défaut sous Linux


Modifier les emplacements des fichiers journaux Sudo sous Linux : un guide pour Debian, Ubuntu, CentOS, Fedora et openSUSE

Ce bref guide explique comment modifier le fichier journal sudo par défaut dans les distributions Linux telles que Debian, Ubuntu, CentOS, Fedora et openSUSE.

Introduction

Pourquoi devrions-nous modifier le fichier journal sudo par défaut ? Vous pourriez vous demander. Par défaut, tous les incidents sudo seront enregistrés dans le fichier /var/log/auth.log dans les systèmes basés sur Debian comme Ubuntu. Dans les systèmes basés sur RPM comme CentOS et Fedora, les activités sudo sont stockées dans le fichier /var/log/secure/. Dans openSUSE, les journaux sudo sont stockés dans le fichier /var/log/messages.

Cependant, ils ne sont pas dédiés aux logs sudo. Si vous examinez ces fichiers, vous remarquerez qu'il existe également d'autres types de journaux, tels que cron, ssh, systemd, etc., qui y sont également stockés. Donc, si vous souhaitez configurer un fichier dédié pour enregistrer les tentatives sudo réussies et infructueuses (ainsi que les erreurs), suivez les étapes ci-dessous.

Modifier le fichier journal Sudo par défaut sous Linux

Par défaut, sudo se connectera via syslog, mais cela peut être modifié via le fichier "/etc/sudoers". Tout d’abord, nous verrons comment procéder dans les systèmes basés sur Debian.

1. Comment modifier le fichier journal Sudo par défaut dans Ubuntu

Dans Ubuntu, les activités sudo sont stockées dans le fichier /var/log/auth.log.

Pour modifier ou définir un fichier journal dédié pour sudo dans Ubuntu 20.04, modifiez le fichier « /etc/sudoers » à l'aide de la commande :

sudo visudo

Ajoutez la ligne suivante à la fin :

Defaults syslog=local1

Définir l'emplacement du fichier journal Sudo dans Debian, Ubuntu

Appuyez sur CTRL+X suivi de Y pour enregistrer et quitter le fichier.

Ensuite, éditez le fichier « /etc/rsyslog.d/50-default.conf » :

sudo nano /etc/rsyslog.d/50-default.conf

Ajoutez la ligne suivante (ligne numéro 8) marquée en rouge avant la ligne "auth,authpriv.*".

[...]
local1.*                        /var/log/sudo.log
auth,authpriv.*                 /var/log/auth.log
[...]

Modifier l'emplacement du fichier journal Sudo dans Debian, Ubuntu

Ici, /var/log/sudo.log est le fichier dans lequel tous les journaux sudo vont être stockés. Enregistrez et fermez le fichier (CTRL+X et Y).

Enfin, redémarrez le service rsyslog pour appliquer les modifications :

sudo systemctl restart rsyslog

Désormais, toutes les tentatives sudo seront enregistrées dans le fichier /var/log/sudo.log. Par exemple, je vais exécuter la commande suivante :

sudo apt update

Maintenant, laissez-moi vérifier s'il est connecté au fichier /var/log/sudo.log :

cat /var/log/sudo.log

Exemple de résultat :

May 2 12:14:18 ostechnix sudo: sk : TTY=pts/0 ; PWD=/home/sk ; USER=root ; COMMAND=/usr/bin/apt update

Vous voyez la dernière ligne de la sortie ci-dessus ? La commande "apt update" est enregistrée dans le fichier /var/log/sudo.log.

2. Comment modifier le fichier journal Sudo par défaut dans Debian

Modifiez le fichier « /etc/sudoers » dans Debian à l'aide de la commande :

sudo visudo

Ajoutez la ligne suivante à la fin :

Defaults syslog=local1

Enregistrez et fermez le fichier.

Ensuite, éditez le fichier « /etc/rsyslog.conf » :

sudo nano /etc/rsyslog.conf

Ajoutez la ligne suivante (ligne numéro 61) marquée en rouge avant la ligne "auth,authpriv.*;local1.none".

[...]
local1.*                        /var/log/sudo.log
auth,authpriv.*;local1.none     /var/log/auth.log
[...]

Enregistrez et fermez le fichier en appuyant sur CTRL+X suivi de Y.

Redémarrez le service rsyslog pour appliquer les modifications :

sudo systemctl restart rsyslog

Désormais, toutes les tentatives sudo seront enregistrées dans le fichier /var/log/sudo.log.

3. Comment modifier le fichier journal Sudo par défaut dans CentOS, Fedora

Les journaux sudo sont conservés dans le fichier "/var/log/secure" dans les systèmes basés sur RPM tels que CentOS et Fedora.

Pour définir un fichier journal Sudo dédié dans CentOS 8, modifiez le fichier "/etc/sudoers" à l'aide de la commande :

sudo visudo

Cette commande ouvrira le fichier /etc/sudoers dans l'éditeur Vi. Appuyez sur "i" pour passer en mode insertion et ajoutez la ligne suivante à la fin :

[...]
Defaults syslog=local1

Appuyez sur ESC et tapez :wq pour enregistrer et fermer.

Ensuite, éditez le fichier « /etc/rsyslog.conf » :

sudo nano /etc/rsyslog.conf

Ajoutez/modifiez les lignes suivantes (numéros de ligne 46 et 47) :

[...]
*.info;mail.none;authpriv.none;cron.none;local1.none   /var/log/messages
local1.*                /var/log/sudo.log
[...]

Modifier l'emplacement du fichier journal Sudo dans CentOS

Appuyez sur CTRL+X suivi de Y pour enregistrer et fermer le fichier.

Redémarrez rsyslog pour appliquer les modifications.

sudo systemctl restart rsyslog

Désormais, toutes les tentatives sudo seront enregistrées dans le fichier /var/log/sudo.log.

sudo cat /var/log/sudo.log

Exemple de résultat :

May 3 17:13:26 centos8 sudo[20191]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/systemctl restart rsyslog
May 3 17:13:35 centos8 sudo[20202]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/systemctl status rsyslog
May 3 17:13:51 centos8 sudo[20206]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/yum update

Afficher les fichiers journaux sudo dans CentOS

4. Comment modifier le fichier journal Sudo par défaut dans openSUSE

Les journaux sudo sont conservés dans le fichier "/var/log/messages" dans SUSE et openSUSE.

Pour définir un fichier journal Sudo dédié dans openSUSE, modifiez le fichier "/etc/sudoers" à l'aide de la commande :

sudo visudo

Cette commande ouvrira le fichier /etc/sudoers dans l'éditeur Vi. Appuyez sur "i" pour passer en mode insertion et ajoutez la ligne suivante à la fin :

[...]
Defaults syslog=local1

Appuyez sur ESC et tapez :wq pour enregistrer et fermer.

Ensuite, éditez le fichier « /etc/rsyslog.conf » :

sudo nano /etc/rsyslog.conf

Ajoutez/modifiez les lignes suivantes (numéro de ligne 168, 180) :

Add the following line at line number 168:
*.*;mail.none;news.none;local1.none     -/var/log/messages

line 180: remove [local1]
local0.*                      -/var/log/localmessages

Add this line at the end:
local1.*                       -/var/log/sudo.log

Enregistrez et fermez le fichier. Redémarrez rsyslog pour appliquer les modifications :

sudo systemctl restart rsyslog

J'espère que cela t'aides.

Lecture suggérée :

  • Comment modifier le délai d'expiration du mot de passe Sudo sous Linux
  • Comment ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs sous Linux
  • Comment restaurer les privilèges Sudo d'un utilisateur
  • Comment trouver tous les utilisateurs Sudo sur votre système Linux
  • Comment exécuter des commandes particulières sans mot de passe Sudo sous Linux

Articles connexes