31. Just sudo it

Un petit article pour préciser divers usages du compte root.

Comme le dit le titre, il est tout-à-fait possible, et souvent nécessaire, de réaliser des opérations en mode de Super Utilisateur : su. Plusieurs possibilités s’offrent à nous.

  • sudo, qui est une manière de gérer l’accès d’un utilisateur courant à certaines commandes réservées au super utilisateur,
  • sudo -s, …
  • sudo -i, …
  • sudo su … et
  • su, qui offre un accès complet et sans limites au système.

Accès au super utilisateur

Généralement, il n’est pas nécessaire de se connecter su le compte root. Non seulement cela peut être risqué en raison des erreurs qu’on peut y commettre, mais aussi pour des raisons de sécurité.

La commande sudo est donc généralement celle utilisée pour effectuer des opérations spécifiques nécessitant le lancement d’une unique commande, comme la mise-à-jour des paquets par exemple. Cette commande est hautement paramétrable grâce à l’utilitaire visudo, qui ne sera pas décrite ici, mais qui permet d’attribuer une ou plusieurs commandes à faire sous root, à un utilisateur particulier.

sudo -s, est une commande donnant accès au commandes du compte root, mais pas au compte root. Les variables d’environnement, le répertoire root, le changement du mot de passe root, … ne sont pas accessibles.

sudo -i va un peut plus loin que sudo -s. C’est le mot de passe utilisateur qui est toujours demandé et les commandes restent déléguées par setuid root, mais le shell est initialisé comme au login de l’utilisateur.

sudo su est totalement identique à sudo root, décrit ci-dessous, à l’exception que le mot de passe demandé sera celui de l’utilisateur référencé dans les sudoers. Ainsi, il est possible, pour autant qu’on y soit autorisé, de se connecter en root sans connaître le mot de passe root.

Enfin la commande su, qui est identique à su root (on peut aussi faire su unautreutilisateur), remplace l’utilisateur courant par le super utilisateur, avec tous ses pouvoirs. C’est très pratique, mais nécessite de connaître le mot de passe du super utilisateur.

Gestion des comptes

Par ailleurs, il est nécessaire d’évoquer ici la gestion des comptes et mots de passe dans le cadre du super utilisateur. Notamment, la possibilité d’imposer des changements de mots de passe ou de désactiver des comptes après un temps donné.

La commande « chage » sert à « modifier les informations de validité d’un mot de passe ». Un man chage nous fournit la description suivante :

« La commande chage modifie le nombre de jours entre les changements de mot de passe et la date du dernier changement. Ces informations sont
utilisées par le système pour déterminer si un utilisateur doit changer son mot de passe. »

man chage

Ainsi, si vous êtes confrontés, lors d’une tentative de vous connecter en super utilisateur via la commande su, à une information spécifiant que le compte a été désactivé, c’est que l’administrateur à trouvé nécessaire de vous obliger à reconsidérer votre accès au compte à un moment donné ou au bout d’un certain temps.

La désactivation de l’obligation de changer le mot de passe root se fait par la commande :

chage -E -1 -I -1 -M -1 root

dont l’explication est la suivante :

  • -E : date d’expiration du compte ; -1 supprime l’expiration,
  • -I : durée d’inactivité avant le blocage du compte ; -1 supprime cette durée d’inactivité,
  • -M : nombre de jours maximums pendant les quels un mot de passe est valable ; -1 supprime cette durée.

Voilà pour ces quelques précisions.

Laisser un commentaire