Ceci est une ancienne révision du document !
Ce document traite du compte système, aussi connu sous le nom de root
. Le terme "root" représente aussi la racine du système de fichiers.
Activer le compte système (root)
Par défaut, sous Ubuntu, l'accès direct au compte système (root) est désactivé. La logique du système est d'utiliser sudo
pour effectuer toutes les tâches administratives. Il est totalement déconseillé d'activer l'accès et d'utiliser directement le compte root sous Ubuntu ; le présent document n'est rédigé qu'à titre informatif.
Avant que vous n'effectuiez votre choix, prenez quelques secondes pour prendre connaissance des nombreux bénéfices apportés par sudo et son utilisation dans Ubuntu. Rappelons aussi que sudo
n'est pas moins sécurisé que l'utilisation d'un compte root.
Si vous désirez tout de même activer le compte root, le document présent vous y aidera. Il n'est ici qu'à titre informatif.
Obtenir un terminal root
Si sudo
est pratique pour exécuter une ou deux commandes avec les droits d'administration (ce qui sera généralement le cas), il peut être agaçant pour effectuer une série de tâches administratives. Si vous avez besoin d'exécuter plusieurs commandes réservées à root à la suite, il est inutile d'activer le compte root ; ouvrez simplement une console et exécutez la commande suivante sudo -i
. Il vous est ensuite demandé de saisir votre mot de passe (celui du compte courant) afin d'activer la session système.
$ sudo -i [sudo] password for <votre identifiant>:
Dans ce terminal uniquement, le compte courant sera root pour une durée indéterminée. Pour reprendre votre identité, saisissez la commande suivante :
# exit
Comment utiliser le vrai compte root ? Je préfère ça à sudo
Pour activer le compte root, exécutez la commande sudo passwd root
. Le mot de passe du compte courant est demandé une première fois, pour autoriser l'utilisateur à effectuer des tâches administratives. Puis, une invite vous demande le mot de passe désiré pour le compte root. Il vous est demandé de le saisir une seconde fois, pour valider le tout.
$ sudo passwd root [sudo] password for <votre identité>: Entrez le nouveau mot de passe UNIX : (inscrire un nouveau mot de passe) Retapez le nouveau mot de passe UNIX : (répéter le nouveau mot de passe) passwd : le mot de passe a été mis à jour avec succès
Note : écrire root n'est pas indispensable car le fait d'écrire sudo au début indique déjà que l'on fait appel au compte root.
Une fois le mot de passe défini pour le compte root, exécutez la commande su
dans un terminal pour en prendre l'identité. Le mot de passe du compte root est alors demandé :
$ su root Mot de passe : (inscrire le mot de passe de root)
On peut aussi écrire simplement su
sans préciser root.
sudo / gksu / kdesu continue de me demander le mot de passe de l'utilisateur courant...
Vous pouvez configurer sudo
de façon à ce que le mot de passe du compte root soit demandé plutôt que le mot de passe de l'utilisateur courant. Pour ce faire, exécutez visudo
:
# visudo
Si vous n'aimez pas vi
, changez l'éditeur par défaut du système avec la commande suivante (sélectionnez nano
par exemple) :
# update-alternatives --config editor
Puis exécutez visudo
.
Recherchez la ligne débutant par Defaults
; en bout de ligne, ajoutez rootpw
. Cette ligne ressemblera donc à celle-ci :
Defaults env_reset,rootpw
Defaults env_reset,rootpw,insults
Sauvegardez vos modifications et quittez l'éditeur de texte.
Re-désactiver le compte root
Si vous avez activé le compte root (avec passwd par exemple), et que vous souhaitez le re-desactiver, voici deux solutions
1ère solution : désactiver totalement le compte root
Cette 1ère solution consistera simplement à verouiller le mot de passe de root, via une simple commande. Le gros problème de cette méthode est que vous ne pouvez plus utiliser la console root, même en mode de récupération !
Pour verouiller le compte root, taper cette commande dans un terminal :
sudo passwd -l root
2ème solution : désactiver manuellement le compte root
Cette 2ème solution est légerement plus complexe. Elle permet d'interdire la connexion normale au compte root, tout en permettant de pouvoir utiliser le mode de récupération normalement (comme avant l'activation du compte root). <note warnig>Cette opération modifiera des fichiers d'authentifactions systèmes ! Pensez à faire des copies avant toute intervention de cette manière ! [code]sudo cp /etc/passwd /etc/passwd.old[/code] [code]sudo cp /etc/shadow /etc/shadow.old[/code]
Etape 1 : Supprimer le mot de passe de root
Nous allons commencer par supprimer le mot de passe de root… pensez à désactiver les connexions entrantes par sécurité ! Dans un terminal :
sudo passwd -d root
Etape 2 : Modifier le fichier /etc/passwd
Nous allons modifier le fichier /etc/passwd, ouvrez-le donc avec votre logiciel favori (avec les droits administrateurs), par exemple avec nano :
sudo nano /etc/passwd
La prèmière ligne devrait commencer par root et devrait ressembler à ceci :
root:x:0:0:root:/root:/bin/bash
Remplacer le x entre le premier et le deuxième ":" par une étoile (*) de cette façon :
root:*:0:0:root:/root:/bin/bash
Ensuite, sauvegarder le fichier
Etape 3 : Modifier le fichier /etc/shadow
Nous allons modifier le fichier /etc/shadow, ouvrez-le en admin avec votre logiciel favori comme dans l'étape 2… La première ligne devrait commencer par "root:", suivi de caracères bizzare, du genre :
root:$17/:'ù$*ee":::
Enlevez tout ce qui suit "root:" et remplacer par un point d'exclamation (!) de cette façon :
root:!
Sauvegarder
Etape 4 : Redemarrer
Tout est dans le titre ;)