GuideLinux.Org

http://www.guidelinux.org/

Obtenir temporairement les privilèges administrateur


(Source image)
Introduction
Obtenir les privilèges root
Cas particulier : Ubuntu
Mot de passe root perdu
Liens externes



Introduction

Sous Linux il existe 2 sorte d'utilisateurs : l'administrateur et le simple utilisateur. Certaines tâches ne peuvent être effectuées que par l'administrateur (Super User en anglais, appellé aussi root). La plupart du temps cependant vous utiliserez un compte d'utilisateur normal.

Vous aurez donc parfois besoin de changer de casquette, en clair obtenir les privilèges d'administration. Pour des raisons de sécurité, il est fortement déconseillé d'ouvrir une session KDE, Gnome etc. en utilisant le compte Root. A la place, on ouvre cette session avec un compte d'utilisateur et on obtient temporairement les privilèges root dans une console.

Une fois que êtes en console en tant qu'admin, vous pouvez modifier la configuration du système et donc bien sûr tout casser. Prudence donc. Entrer le mot de passe root sert donc aussi d'avertissement.

Souvent quand on vous propose de taper une commande en console, le signe $­­­­­­ ou # la précède. Il ne faut pas taper ces symboles car # signifie que cette commande doit être lancée avec les privèles admin alors que $­­­­­­ indique que la commande est accessible à l'utilisateur normal.

Plus de détails sur le rôle de l'administrateur dans cet article.


Obtenir les privilèges root

Pour lancer une commande console

C'est simple : ouvrez donc une console. Puis tapez cette commande :

$­­­­­­ su root
Après avoir validé la commande par Entrée, il faut saisir dans le vide le mot de passe du compte admin que vous avez du configurer lors de l'installation. Validez par Entrée. Indiquer 'root' est facultatif. su signifie 'Super User'.

Vous êtes dorénavant administrateur. Notez qu'il peut être utile de rajouter le signe - afin que su mette à jour les variables d'environnement de root. Tapez donc
su - root ou bien simplement su - .

Pour revenir à l'utilisateur normal, vous pouvez utiliser l'une de ces 3 méthodes au au choix :
Exemple : su george. Root n'aura pas à entrer le mot de passe du compte utilisateur.

Un simple utilisateur peut aussi lancer la commande su nom_utilisateur. Il lui faudra néanmoins l'éventuel mot de passe de l'utilisateur qu'il veut devenir. Là encore, su - nom_user permet de mettre les variables d'environnement.

Notez qu'un CTRL+D ou exit lancés comme simple utilisateur ferment la console (ou bien vous déconnectent si vous êtes en dehors d'une interface graphique).

Enfin, une option est pratique :

$­­­­­­ su -c commande_quelconque
Ceci permet de lancer une unique commande (quelqu'elle soit) avec les privilèges root. Bien entendu vous aurez à entrer votre mot de passe root. Mais une fois la commande terminée, vous redevenez simple utilisateur. Assez pratique. Ne mettez pas d'espace entre le - et le 'c', sinon cela sera mal interprété...

Pour lancer une interface graphique

Certaines distributions autorisent l'utilisation de su pour se connecter comme admin, lequel lancera une application graphique (une fenêtre si vous préférez). Exemple :

$­­­­­­ su -c konqueror
Ceci devrait ouvrir l'application konqueror (gestionnaire de fichiers sous KDE) avec les privilèges admin. C'est parfois très utile. Sois dit en passant, Konqueror est également un navigateur Internet : ne vous en servez JAMAIS comme tel avec les privlèges root !!

Parfois, certaines distributions refusent cette commande. Il faut alors utiliser une autre commande, qui dépend de votre interface graphique :
Voici un petit screenshot :



Si la commande n'existe pas, votre installateur de paquetages devrait régler le problème très vite (un simple # urpmi gksu sous Mandriva par exemple).

Il est conseillé d'utiliser cette méthode lorsqu'on veut ouvrir une application graphique avec les droits root.


Ubuntu : un cas particulier

Ubuntu (et bien sûr Kubuntu, Xubuntu et Edubuntu) gère les relations user/root de manière assez différente. Ce qui surprend au début les habitués de Linux.

Il est déconseillé sous Ubuntu d'affecter un mot de passe au compte root. Pour effectuer les taches d'administration, il faut donc utiliser le mot de passe utilisateur ! Cette fois-ci c'est la commande sudo qui est utilisée. Exemple :

$­­­­­­ sudo apt-get upgrade
Il faut alors rentrer votre mot de passe utilisateur pour exécuter cette commande (mise à jour des paquetages en l'occurence). C'est une commande à usage unique : à la fin de la commande, vous revenez simple utilisateur.

Si vous désirez entrer plusieurs commandes sans avoir à rentrer plusieurs fois le mot de passe, essayer alors plutôt :

$­­­­­­ sudo -s
Entrez votre mode passe utilisateur. Vous avez alors une console super-utilisateur. Faites 'exit' pour revenir comme simple user.

Vous pouvez donc utiliser sudo pour effectuer vos tâches d'administration. Durant l'installation d'Ubuntu, vous avez créé un utilisateur. Sudo a été alors configuré pour autoriser cet user à executer des commandes en tant que super-utilisateur.

Pour lancer des applications graphiques, il est fortement recommandé d'utiliser les commandes
gksudo (Gnome) et kdesu (KDE). N'utilisez jamais sudo pour lancer une application graphique.

Lisez cet article sur le wiki officiel d'Ubuntu (explications, conseils en cas de pannes, ajouts de privilèges etc).



Mot de passe root perdu

Vous avez oublié le mot de passe administrateur ? C'est ennuyeux. Bon, il y a 2 moyens de réparer ça :
Admettons donc que vous ayez démarré une autre distribution. Faites alors dans une console en root :

# mkdir /mnt/tmp
Créé le dossier pour recevoir le point de montage.

# mount /dev/hda1 /mnt/tmp
Adaptez bien sûr hda1 avec la partition qui contient le point de montage racine de la distribution pour laquelle vous avez perdu le mot de passe root.

Ensuite, utilisez votre éditeur de texte préféré pour modifier le fichier /mnt/tmp/etc/shadow. Vous devriez voir une ligne du genre :


root:$­­­­1$­­­­fxuzaKhaZ1:13364:0:99999:7:::

La partie $­­­­1$­­­­fxuzaKhaZ1 (entre les deux-points) constitue le mot de passe encrypté. Effacez la et sauvez le fichier. Notez que le fichier /mnt/tmp/etc/passwd ne contient qu'une entrée fictive (un 'x') qui réfère en fait au mot de passe encrypté dans /mnt/tmp/etc/shadow. Plus d'explications sur ces 2 fichiers. Terminez alors par :

# umount /mnt/tmp
Démonte la partition

# rm -r /mnt/tmp && reboot
On est propre sous Linux.

Une fois que vous avez redémarré sur la distribution qui posait problème, le mot de passe root n'est pas configuré (évidemment, vous venez de l'effacer...). Faites alors :

$­­­­ su -c passwd root
Vous devrez alors entrer l'actuel mot de passe root (c'est-à-dire une entrée vide) puis saisir 2 fois le futur mot de passe root.

Evidemment, tout ceci ne concerne pas les gens sous Ubuntu ! Sudo est d'une utilisation différente.



Liens externes

Tutoriel lea-linux (su et sudo)
/etc/shadow et /etc/passwd expliqués