Le Petit Journal du Linuxien Novice
© 1999-2007 César Alexanian. Hébergé officiellement chez Linux-France. Serveur principal tournant sous GNU/Linux chez NFrance Conseil
À SUIVRE...
STATS

[ Nedstat ]
Dernière mise à jour : vendredi 30 novembre 2007

Ciel ! j'ai perdu mon mot de passe...

Il existe au moins deux méthodes afin de pouvoir se connecter et modifier son mot de passe si ce dernier a été oublié.

Première méthode : au démarrage, passer l'argument single à lilo (linux single). Puis, à l'invite, taper passwd root. (Merci à Jérôme et à Nicolas qui m'ont tous deux envoyé cette méthode...). Je ne l'ai pas testée. Voir plus loin la même procédure décrite dans le Guide du Rootard.

Deuxième et troisième méthodes, glanées dans le Guide du Rootard d'Eric Dumas (quoi, vous ne l'avez pas encore ?) :

  • La première :
    1. bootez avec les disquettes boot et root de votre distribution.
    2. loguez-vous en root (là, pas de mot de passe).
    3. montez la racine du disque dur : mount -t ext2 /dev/hda1 /mnt
    4. allez dans le répertoire /mnt. Il ne reste plus qu'à éditer le fichier /mnt/etc/passwd, y supprimer le mot de passe de root : root::0:0:root:/root:/bin/bash.
      Vous rebootez Linux normalement, et en principe, vous n'avez plus besoin de mot de passe pour vous loguer en root.
  • Bon, passons à d'autres solutions : rebooter le pc en mode dit single-user. Pour cela, lors du boot avec LILO, fournir LILO: linux single (remplacer ici "linux" par le nom sous lequel LILO connaît votre noyau). Un shell root va apparaître. Attention : le clavier est en qwerty et la partition en lecture seule. Pour y remédier :

      loadkeys /usr/lib/kbd/keytables/fr.map
      mount -w -n -o remount /

    Soit vous utilisez la commande passwd, soit vous éditez le fichier /etc/passwd
    Si vous n'avez pas de disquette de boot, vous pouvez souvent vous en sortir en passant init=/bin/sh lors de l'amorçage. Ensuite, monter la racine et éditer à la main le fichier /etc/passwd.

Ce qui implique une certaine insécurité : Comment limiter le reboot en single user ?

Le problème du reboot en single user, c'est que n'importe qui peut alors réussir à passer sur la machine en root. Pour les entreprises ou les universités, cela pose un problème de sécurité. Certaines stations Unix permettent de mettre un mot de passe dans l'EPROM de la machine. Linux permet de demander le mot de passe root même en single-user.

Pour cela, vous devez récupérer les sources du programme init qui est lancé lors de l'amorçage du système. Au début du programme init.c, modifiez, la définition de la constante SOME_USER pour qu'elle ait la valeur 2, recompilez init, et réinstallez-le.

Cette première solution peut toutefois se révéler insuffisante car une personne peut toujours booter sur un autre périphérique (en utilisant l'option root = MonLinux).

En utilisant Lilo, pas de problème ! Il suffit alors d'ajouter les lignes suivantes pour chacune des images dans le fichier /etc/lilo.conf :

    password = le mot de passe en clair
    restricted

(pensez à mettre ce fichier en lecture seule pour le super-utilisateur et aucun droit pour les autres !)

Le boot normal de chaque image se passe sans problème et sans demander le mot de passe (important si l'on veut que la machine redémarre seule en cas de pépin : EDF, reboot à distance, ...) mais si l'on veut passer des paramètres au noyau lors du boot, lilo demande alors le mot de passe.
Merci à Eric Dumas encore une fois !

[ Retour ]

Remonter

Site réalisé sous Gnu-Linux en PHP mis en forme avec Quanta et mis en ligne grâce à gFTP sous la Mandrake 9.1