Recherche de site Web

Comment vérifier l'historique Sudo sous Linux


Lorsque vous partagez votre ordinateur avec d'autres personnes et que vous leur avez accordé un accès sudo, il est prudent de surveiller la façon dont ils l'utilisent. Heureusement, il est facile de consulter l'historique sudo. Voyons comment.

Contenu

  • Le journal d'authentification
  • Donner un sens au chaos
  • Coup normal
  • Journalctl
  • Programmes spécifiques à l'interface graphique
  • Questions fréquemment posées

Lire aussi : Qu'est-ce que Doas et comment l'installer

Le journal d'authentification

De nombreux services Linux conservent des journaux pour vous aider à résoudre les problèmes. Heureusement, entre autres choses, il conserve également une liste détaillée des informations précises que nous recherchons dans cet article. Dans cette liste, vous pouvez vérifier qui et quand a émis quelle commande en utilisant sudo. Pour trouver ces informations, si vous utilisez une distribution basée sur Debian ou Ubuntu, saisissez ce qui suit dans votre terminal préféré :

sudo nano /var/log/auth.log

Dans d'autres distributions, l'emplacement peut varier. Ces informations peuvent se trouver dans « /var/log/secure » ou « /var/log/audit/audit.log ». Vous pouvez trouver l'emplacement de ce fichier journal en vérifiant le fichier sudoer. Celui-ci peut également se trouver à un endroit différent selon la distribution. Habituellement, vous le trouverez dans "/etc/sudoers". Ouvrez-le avec votre éditeur de texte préféré et recherchez l'entrée du fichier journal. Sa valeur correspond à l'endroit où se trouve le fichier que nous recherchons, alors remixez la commande ci-dessus pour vérifier la vôtre à la place.

Donner un sens au chaos

Le fichier journal contiendra une tonne d’entrées qui ne présentent probablement aucun intérêt. Vous pouvez le faire défiler et le parcourir ou utiliser la fonction de recherche de votre éditeur de texte pour localiser chaque utilisation de sudo.

C'est mieux, cependant, si vous utilisez grep à la place. De cette façon, vous pouvez filtrer le contenu du journal en fonction d'une simple requête. Pour y trouver toutes les entrées sudo, utilisez :

sudo grep sudo /var/log/auth.log

N'oubliez pas de mettre à jour le chemin du journal avec celui correspondant à votre distribution.

Cette commande affichera les résultats directement dans votre terminal.

Si vous préférez les avoir au format fichier, ajoutez une redirection après la commande :

sudo grep sudo /var/log/auth.log > sudolist.txt

Lorsque vous le consultez, vous trouverez une série d'entrées contenant la date, l'heure, le nom de l'ordinateur et la commande utilisée.

Lire aussi : Comment modifier la disposition du clavier sous Linux

Coup normal

Si vous recherchez simplement toutes les commandes saisies dans le terminal, vous pouvez consulter le fichier ".bash_history" situé dans le dossier Accueil. Vous pourriez, par exemple, saisir ce qui suit dans un terminal :

sudo nano /home/USERNAME/.bash_history

Cela vous montrera toutes les commandes que vous (ou d’autres utilisateurs) exécutez dans le terminal.

Journalctl

Avec cela, une autre façon de voir ce que sudo a fait est d'utiliser le journalctl de systemd. En cela, il s'agit d'un programme de journalisation système fourni avec chaque distribution Linux utilisant systemd.

Il s'agit non seulement de Debian et Ubuntu, mais également d'autres distributions populaires telles que Arch Linux et Fedora. En tant que tel, journalctl peut être un utilitaire utile si vous basculez déjà constamment entre les distributions Linux basées sur systemd.

Sachant cela, utiliser journalctl pour consulter les journaux sudo est incroyablement simple. Tout d’abord, vous devez vous connecter soit à l’utilisateur root, soit à un compte doté des privilèges de superutilisateur.

Exécutez la commande suivante pour afficher tous les journaux du programme sudo :

sudo journalctl -e /usr/bin/sudo

Cela demandera à son tour au programme journalctl de consulter le programme sudo, de rechercher toutes les entrées de journal, puis d'imprimer tous les journaux mentionnant sudo. À partir de là, journalctl transmettra toutes ces informations au pager du système où vous pourrez facilement faire défiler tout l'historique des journaux liés à sudo.

À partir de là, journalctl mettra ensuite en évidence toutes les instances où un utilisateur a invoqué une commande sudo. Comme indiqué ci-dessus, cela peut être utile si vous essayez de réparer un système multi-utilisateurs et que vous souhaitez savoir qui a exécuté des commandes privilégiées et à quel moment.

Lire aussi : Comment copier et coller du texte, des fichiers et des dossiers dans un terminal Linux

Programmes spécifiques à l'interface graphique

Sachant tout cela, il est également possible de lire les journaux sudo de votre système via une interface dédiée fournie avec votre environnement de bureau. En procédant de cette façon, vous réduisez la complexité et les commandes que vous devez apprendre pour surveiller votre système.

Une chose importante à noter est que ces programmes seront toujours inclus dans une installation de base d'un environnement de bureau. Cependant, les distributions Linux créent souvent des versions personnalisées qui ne contiennent pas ces petits utilitaires. En tant que tel, vous devrez d’abord vérifier si ces outils sont déjà installés sur votre système.

Journal GNOME

L'utilitaire GNOME Log est l'enregistreur système graphique par défaut pour les distributions qui utilisent l'environnement de bureau GNOME. Il s'agit notamment d'Ubuntu 21.10, 22.04 ainsi que de Fedora 36.

Pour commencer à utiliser le programme, vous devrez d'abord ouvrir le menu Application. À partir de là, vous pouvez ensuite taper « Journaux » pour rechercher l'utilitaire de journalisation GNOME.

Une fois ouvert, le programme présentera un certain nombre d'onglets dans lesquels vous pourrez consulter le journal pour un aspect particulier de votre système. Afin de vérifier vos journaux sudo, vous devrez cliquer sur "Sécurité".

Cela imprimera à son tour toutes les dernières informations de sécurité concernant votre machine. Cela inclut tous les processus exécutés avec les privilèges root, qu'ils utilisent ou non sudo. À partir de là, vous pouvez ensuite appuyer sur l'icône de la loupe dans le coin supérieur droit de la fenêtre pour lancer une recherche sur toutes ces entrées de journal.

Avec cela, vous pouvez taper le mot « sudo » pour indiquer aux journaux GNOME que vous souhaitez uniquement voir les commandes et les processus exécutés via sudo.

KSystemLog

KSystemLog est l'utilitaire de journalisation par défaut pour les distributions telles que Kubuntu 21.10, 22.04 et Manjaro KDE, qui utilisent toutes l'environnement KDE Plasma pour leur bureau. Semblable à GNOME Log, il s'agit également d'un programme complet qui peut fournir une vue étendue de votre machine.

Avec cela, utiliser KSystemLog pour consulter l'historique sudo de votre système est incroyablement simple. Tout d'abord, vous devez ouvrir le lanceur d'applications en cliquant sur l'icône Plasma dans le coin inférieur gauche de votre écran.

À partir de là, vous pouvez ensuite taper « KSystemLog » dans la barre de recherche du lanceur. Celui-ci recherchera à son tour l'utilitaire et l'exécutera dès que vous appuierez sur Entrée.

Une fois terminé, KSystemLog affichera immédiatement un journal pour les programmes en cours d'exécution dans le système. À partir de là, vous pouvez ensuite taper « sudo » dans la barre de filtre pour consulter uniquement tous les journaux provenant de sudo.

Journal système MATE

Enfin, MATE System Log est un programme de journalisation graphique minimal fourni par défaut dans les distributions basées sur MATE. Contrairement aux enregistreurs GUI précédents, il fournit uniquement un simple navigateur de fichiers pour tous les journaux système disponibles sur la machine. En tant que tel, MATE System Log peut sembler intimidant à utiliser correctement pour un débutant.

Malgré cela, utiliser ce programme pour afficher votre journal d'historique sudo est relativement simple. Pour commencer, vous devez d'abord ouvrir votre menu d'application en cliquant sur le bouton Menu situé dans le coin supérieur gauche de votre bureau.

À partir de là, vous pouvez ensuite vous concentrer sur la barre de recherche et taper « Log File Viewer ». Cela indiquera à MATE de rechercher le programme de journal système et de l'exécuter.

Une fois terminé, le programme MATE System Log répertoriera tous les journaux actuels disponibles dans votre système. Avec cela, la dernière chose que vous devez faire pour afficher votre historique sudo est de cliquer sur "auth.log".

Comme décrit ci-dessus, il s'agit du fichier journal qui prend note de toutes les commandes liées à sudo exécutées sur votre système. Dans mon cas, cela a montré que j'avais récemment exécuté une mise à jour du système sur mon système via sudo.

Lire aussi : Le guide du débutant sur l'utilisation de Cron sous Linux

Questions fréquemment posées

Est-il possible d'afficher uniquement les dernières entrées du journal Sudo de journalctl ?

Oui! Il est possible d'afficher uniquement une quantité limitée de journaux de journalctl. Cela peut être particulièrement utile si vous gérez une machine très utilisée et que vous souhaitez uniquement connaître les derniers journaux liés à Sudo. Vous pouvez exécuter la commande suivante dans votre terminal :

sudo journalctl --lines=10 -e /usr/bin/sudo

Cela indiquera à journalctl que vous souhaitez uniquement qu'il affiche les 10 dernières entrées liées à Sudo qu'il a enregistrées pendant son exécution.

Il est également possible d'afficher uniquement les journaux temporels de journalctl. Cette commande demandera à journalctl d'imprimer uniquement tous les journaux liés à sudo qui ont été validés entre hier et aujourd'hui :

sudo journalctl --since=hier --until=aujourd'hui -e /usr/bin/sudo

Je n'utilise pas Bash, est-il toujours possible de consulter mon historique sudo ?

Cela dépendra en grande partie du shell que vous utilisez actuellement. Cependant, pour la plupart, chaque shell système devrait être capable de produire un historique d'exécution de toutes les commandes que vous avez exécutées sur votre machine.

Par exemple, le fichier historique des systèmes basés sur Debian est souvent étiqueté « .history ». En tant que tel, vous pouvez ouvrir ce fichier au lieu du ".bash_history" par défaut.

KSystemLog demande et refuse mon mot de passe lorsque je l'ouvre, ma copie est-elle cassée ?

Par défaut, KSystemLog tentera de s'ouvrir avec des privilèges élevés. Ceci, à son tour, lui permet non seulement d'afficher les journaux, mais également de gérer les processus en cours d'exécution dans le système.

Pour cette raison, KSystemLog essaiera toujours de s'exécuter en tant qu'utilisateur root lorsque vous l'ouvrirez pour la première fois. Cependant, pour y parvenir, il doit d'abord connaître le mot de passe de votre compte root.

Malgré cela, il est toujours possible d'utiliser KSystemLog sans fournir de privilèges root. Pour ce faire, vous pouvez appuyer sur le bouton "Ignorer" lorsque KSystemLog demande des privilèges élevés.

Crédit image : Unsplash

Articles connexes