Tout ordinateur a besoin d'un administrateur système. C'est la personne en charge de la configuration initiale et de la maintenance du matériel et du système d'exploitation Ubuntu : installation ou désinstallation de programmes, création de comptes d'utilisateurs, paramétrage du matériel, etc.
L'administrateur est une personne ayant un compte d'utilisateur avec des privilèges supplémentaires.
Sur Ubuntu, ces privilèges peuvent s'exécuter de différentes manières, répertoriées et détaillées sur cette page (). La plus connue d'entre elle est la commande sudo, qu'on va détailler ici-même.
sudo
ne doit pas être utilisée à la légère : elle présente un risque non négligeable pour votre système. Lisez attentivement les remarques sur la sécurité ci-dessous.
Pour effectuer des tâches privilégiées à travers l'utilitaire sudo
, votre compte d'utilisateur va devoir prendre temporairement le rôle d'administrateur (aussi appelé « root » ou encore « super-utilisateur »).
Vous disposez d'un compte ayant accès aux privilèges d'administrateur si :
Reportez-vous à la section Configuration pour plus de détails sur l'ajout ou le retrait des privilèges d'administration à un utilisateur.
Si votre compte est correctement paramétré :
sudo
. Exemple avec la commande nano
: sudo nano
Les programmes lancés par les commandes précédées de sudo
ne doivent pas être n'importe lesquels.
sudo
de programmes d'origine douteuse.sudo
de programmes qui vous demandent déjà tous seuls les droits adéquats : la plupart des programmes exigeant des droits spécifiques les demanderont eux-mêmes, c'est notamment le cas des programmes graphiques d'installation de paquets, des éditeurs de partitions, …
Seuls les administrateurs sont habilités à effectuer des tâches administratives à travers l'utilitaire sudo
. Pour augmenter les privilèges accessibles à un utilisateur, vous devez vous-même avoir d'abord accès à un compte administrateur.
Pour assigner le rôle d'administrateur à un autre compte d'utilisateur :
sudo adduser <identifiant> sudo
où <identifiant>
doit être remplacé par l'identifiant du compte d'utilisateur (sans les <chevrons>) auquel des privilèges supplémentaires doivent être accordés.
On peut configurer plus finement les privilèges accordés par l'utilitaire sudo
afin d'autoriser ou refuser l'exécution de tâches privilégiées. Plus que simplement autoriser l'exécution de toutes les tâches administratives à un groupe d'utilisateurs par l'authentification par mot de passe, sudo
peut être paramétré pour permettre à un utilisateur particulier ou un groupe d'utilisateurs particulier d'exécuter une ou des tâches bien précises, avec ou sans saisie du mot de passe.
D'autres paramètres, tels le délai d'attente avant qu'une ré-authentification soit nécessaire, l'endroit où est enregistré le journal d’événements et le niveau de courtoisie de sudo
, sont aussi paramétrables.
Reportez-vous à cette page pour découvrir la configuration avancée avec /etc/sudoers/
Le « super-utilisateur » ayant TOUS les droits sur le système, son utilisation peut être TRÈS dangereuse, pour plusieurs raisons :
sudo
.sudo
pour des commandes n'en ayant pas besoin, la sécurité est donc accrue, et moins d'actions sont requises de la part de l'utilisateur (ce sont les applications qui demandent les droits, pas l'utilisateur). Parmi les programmes capables d'utiliser PolKit, on peut citer :su
permet de se connecter en tant que super-utilisateur de manière durable. C'est extrêmement dangereux, ne faites pas ça à la légère.
Le fonctionnement de sudo
peut sembler complexe en comparaison à l'utilisation directe d'un compte root
, qu'Ubuntu a choisi de ne pas activer par défaut.
Les avantages de l'emploi de sudo
, par opposition à l'emploi direct d'un unique compte super-utilisateur (root
) via la commande su
, sont nombreux pour une utilisation dans un environnement domestique ou de PME/PMI :
sudo
conserve une trace de toutes les commandes exécutées. Si un problème apparaît, vous pourrez toujours consulter ce journal afin de retrouver la commande ayant causé le problème ;root
et essaieront de pirater celui-ci d'abord. Ils ne connaissent pas les identifiants des autres utilisateurs de votre ordinateur ;root
;sudo
peut être configuré avec de manière affinée.
L'ensemble des actions exécutées à travers l'utilitaire sudo
– qu'elles s'accomplissent avec succès ou échec – sont journalisées. Elles sont inscrites dans le fichier de journal /var/log/auth.log
.
sudo
pose a priori des problèmes pour la redirection de flux dans une console. Par exemple, la redirection suivante ne fonctionnera pas :
utilisateur@ordinateur:~$ sudo echo 2 > /proc/acpi/thermal_zone/ATF0/polling_frequency
La raison de cet échec est que sudo
n'exécute que la première tâche (echo 2
) avec l'identité empruntée ; la redirection, elle, est effectuée en mode utilisateur uniquement.
La solution, pour contourner cette limitation, est d'appeler un nouvel interpréteur de commandes et de lui faire exécuter votre redirection de flux. Par exemple :
utilisateur@ordinateur:~$ sudo sh -c 'echo 2 > /proc/acpi/thermal_zone/ATF0/polling_frequency'
De cette manière, c'est tout l'interpréteur sh
et la commande passée en argument qui est exécutée avec l'identité empruntée.
/etc/passwd
pour l'utilisateur cible (root par défaut)./etc/passwd
pour l'utilisateur cible (root par défaut). Cela signifie que des fichiers spécifiques tels que .login ou .profile seront lus par le shell ainsi lancé. Contributeurs : AlexandreP, Chatalors, Damocles, Ju, eagle08, roschan , …