Sudo

commande Unix From Wikipedia, the free encyclopedia

sudo (abréviation de « substitute user do », « super user do »[2] ou « switch user do »[3], en français : « se substituer à l'utilisateur pour faire », « faire en tant que super-utilisateur  » ou « changer d'utilisateur pour faire ») est une commande informatique utilisée principalement dans les systèmes d'exploitation de type Unix.

Créateur Robert Coggeshall (d) et Cliff Spencer (d)Voir et modifier les données sur Wikidata
Développé par Todd C. Miller (d)Voir et modifier les données sur Wikidata
Dernière version 1.9.17p2 ()[1]Voir et modifier les données sur Wikidata
Faits en bref Créateur, Développé par ...
Sudo
Description de l'image Sudo logo (2019).png.
Description de l'image Sudo on Linux screenshot.png.
Informations
Créateur Robert Coggeshall (d) et Cliff Spencer (d)Voir et modifier les données sur Wikidata
Développé par Todd C. Miller (d)Voir et modifier les données sur Wikidata
Dernière version 1.9.17p2 ()[1]Voir et modifier les données sur Wikidata
Dépôt git.sudo.ws/sudoVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Type UnixVoir et modifier les données sur Wikidata
Type Logiciel de sécurité informatique (en)
Utilitaire de ligne de commande (en)Voir et modifier les données sur Wikidata
Licence Licence ISCVoir et modifier les données sur Wikidata
Site web www.sudo.wsVoir et modifier les données sur Wikidata
Fermer

Cette commande permet à un administrateur système d'accorder à certains utilisateurs (ou groupes d'utilisateurs) la possibilité de lancer une commande en tant qu'administrateur, ou en tant qu'autre utilisateur, tout en conservant une trace des commandes saisies et des arguments.

La commande est actuellement maintenue par Todd C. Miller, un programmeur d'OpenBSD.

Histoire

Sudo a été conçu et implémenté pour la première fois par Bob Coggeshall et Cliff Spencer vers 1980 au département d'informatique de l'université d'État de New York à Buffalo. Il fonctionnait sur un VAX-11/750 sous BSD 4.1. Une version mise à jour, attribuée à Phil Betchel, Cliff Spencer, Gretchen Phillips, John LoVerso et Don Gworek, a été publiée sur le groupe de discussion Usenet net.sources en décembre 1985 [4].

Utilisation

L'utilitaire sudo s'utilise en ligne de commande, dans un terminal. Il sert par exemple à exécuter, en mode superutilisateur, des commandes ou des applications en console. Il faut faire précéder chacune des commandes à exécuter en mode superutilisateur par la commande sudo, de la manière suivante :

$ sudo <commande>

Le mot de passe demandé est celui de l'utilisateur courant. La commande sera exécutée si le mot de passe entré est correct et que l'utilisateur courant peut effectuer des tâches d'administration. Le mot de passe est mémorisé pour une durée de 15 minutes ; au terme de ce laps de temps, il faut entrer de nouveau le mot de passe. La commande pour terminer la session sudo avant la fin des 15 minutes est :

$ sudo -k

La commande suivante permet d'être connecté en tant que root en interface de commande.

$ sudo -i

Pour lancer des applications graphiques avec les privilèges d'administration, il est de mise d'utiliser les pendants graphiques gksu, pour GNOME, ou kdesu, pour KDE.

Configuration

Les autorisations de sudo sont définies dans le fichier /etc/sudoers. Ce fichier doit être modifié à l'aide de la commande visudo, car cette dernière vérifie, avant écriture du fichier, que sa syntaxe est correcte. En effet, une erreur dans le fichier peut bloquer définitivement l'accès à la machine.

Ce fichier précise quelles commandes peuvent être utilisées par quels utilisateurs avec les privilèges de quel utilisateur et s’il peut s’abstenir de taper son mot de passe. Pour obtenir le manuel complet de la configuration de ce fichier : man sudoers

Systèmes employant sudo

sudo est disponible sans être installé par défaut sur la plupart des systèmes Unix : BSD, Sun Solaris, Linux, etc. Il existe cependant des systèmes d’exploitation où le recours à sudo est systématisé.

macOS d'Apple, où l'utilisateur root est désactivé par défaut, a systématiquement recours à sudo pour effectuer des tâches d'administration depuis l'utilitaire Terminal.

La distribution Linux Ubuntu (et ses dérivées) utilise également cette commande comme moyen par défaut pour effectuer des tâches administratives, le compte root n'étant pas activé par défaut pour des raisons de sécurité et de stabilité du système.

Commandes similaires

En environnement graphique, il existe les commandes similaires gksudo et kdesudo.

Sur Windows, il existe une commande analogue à sudo, il s'agit de runas ; la partie sécurité est assurée par l'UAC (c'est l'analogue de la fonctionnalité sudoers). Depuis peu, une commande du nom de sudo peut-être activée dans Windows 11, via les paramètres développeurs[5]. La commande sudo diffère de runas car elle ne permet pas d'exécuter des programmes en tant qu'un autre utilisateur que l'administrateur, qu'elle ne demande jamais à l'utilisateur de saisir un mot de passe mais exploite l'UAC. De plus, elle propose les options de configuration inline (Le processus avec élévation de privilèges est exécuté dans la fenêtre active et peut recevoir des entrées de la console active), similaire aux distributions Linux, et disableInput (Les processus sans élévation de privilèges ne peuvent interagir avec le processus avec élévations de privilège) en plus du mode normal qui, de même que runas exécute le processus avec élévation de privilèges dans une nouvelle fenêtre[6].

Notes et références

Voir aussi

Related Articles

Wikiwand AI