Sur un système Linux, la commande sudo permet à un utilisateur quelconque d'exécuter des commandes avec les droits du superutilisateur. Un réglage fin des droits (qui peut exécuter quoi) est possible gràce au fichier /etc/sudoers (man sudoers est votre ami).
Ce matin, je recherchais comment paramétrer une notification par mail des utilisations indues de cette commande. Devant le bruit [1] présent sur le web autour de cette commande, je récapitule ci-dessous quelques paramètres de configuration bien utile.
Defaults mail_badpass
Defaults mailerpath=/usr/sbin/sendmail
Defaults mailto="admin@tharkun.fr"
Defaults mailsub="*** ATTENTION : utilisation de sudo sur %h ***"
Defaults mailerflags=”-t” 
Plusieurs critères possibles pour la notification :
  • mail_always : un mail sera envoyé à chaque utilisation de sudo ;
  • mail_badpass : mail envoyé uniquement si le mot de passe saisi est erroné ;
  • mail_no_host : mail envoyé si l’utilisateur est présent dans le sudoers, mais non autorisé à exécuter des commandes sur l’hôte courant ;
  • mail_no_perms : mail envoyé si l’utilisateur tente une commande qui ne lui est pas explicitement autorisé ;
  • mail_no_user : mail envoyé si l’utilisateur qui tente le sudo n’est pas sudoer...
Et quelques autres paramètres :
  • mailto et mailfrom pour indiquer l'adresse du destinataire et celui de l'expéditeur. Par défaut, respectivement root et l'utilisateur qui exécute le sudo ;
  • mailsub pour indiquer le sujet du mail. %h est remplacé par le hostname de la machine ;
  • mailerflags : options données en paramètre au mail. Par défaut, c'est "-t". Je préfère le préciser de manière explicite. Par expérience, j'évite de me fier au "paramètre implicite par défaut...".

[1] : la commande sudo a été "démocratisé" par Ubuntu. Il est probablement très bien que la distribution Ubuntu rende les systèmes Linux utilisable par tout un chacun, y compris ceux qui veulent bidouiller sans rien comprendre à ce qu'ils font. Mais au risque de passer pour un intégriste élitiste, il est assez agaçant, lorsque l'on tente une recherche sur sudo, de tomber sur des dizaines de pages relatant les expériences/questions d'utilisateurs ayant saisi n'importe quoi, sans chercher à comprendre, et qui s'étonne que leur système ne fonctionne plus.
Je vais finir par comprendre les vieux barbus aigris qui ne veulent pas d'installeur graphique pour OpenBSD ;-)