Page précédente : Scénario d'urgence I-II (Problèmes au démarrage)
Dépannage d'urgence IV
Sommaire :
- Scénario III : Échec de Login
- Scénario IV : Le système se bloque lors du chargement de X
- Scénario V : Le système se bloque
- Scénario VI : Récupérer des fichiers perdus
Scénario III: Échec de Login
Notez que ce scénario se base sur le mode console traditionnel. Pour des problèmes en relation avec X, regardez le scénario suivant .
Avant de paniquer, assurez-vous que vous n'avez pas été victime … d'une faute de frappe : vérifiez si la touche 'MAJUSCULE' est active, essayez avec une combinaison différente de majuscules/minuscules, utilisez un autre compte ou un autre terminal (_vous pouvez passer à un autre terminal en appuyant simultanément sur les touches _), etc.
Un échec de connexion peut être dû à une mauvaise entrée (ou une entrée corrompue) dans les fichiers _'/etc/passwd', '/etc/shadow'_ ou _'/etc/securetty'_, de mauvaises permissions ou un mot de passe _'root'_ oublié.
- Afin de rentrer dans le système, redémarrez-le et tapez :
lorsque le prompt LiLo (en anglais) s'affiche. Si vous êtes en mode graphique, appuyez sur la touche Echap pour obtenir le prompt. Si vous utilisez GNU GRUB (en Anglais) appuyez deux fois sur la touche 'e' et ajoutez init 1 à la commande de démarrage puis appuyez sur la touche ENTREE et enfin sur 'b' pour démarrer.
Cela démarrera le système dans le mode 'single user'.
- Par défaut, Linux conserve des copies de sauvegarde des fichiers _'/etc/shadow'_ et _'/etc/passwd'_, appelées _'/etc/passwd-'_ et _'/etc/shadow-'_. La première chose à faire est d'utiliser ces copies.
- Conservez les fichiers 'shadow' et 'passwd' actuels ainsi :
cp /etc/passwd /etc/passwd.old
- Puis écrasez les fichiers avec les copies de sauvegarde ainsi :
cp /etc/shadow- /etc/shadow
- Essayez de passer au runlevel 3 pour voir si vous pouvez vous connecter au système maintenant :
- Si cette démarche échoue, redémarrez à nouveau au runlevel 1 (appuyez simultanément sur les touches ).
- Lorsque le système est à nouveau opérationnel, tapez :
Regardez ce fichier. Il ne doit pas contenir de lignes blanches, de commentaires ou de caractères non ASCII. Si vous en voyez, supprimez-les. L'entrée pour 'root' doit être exactement ceci :
root:x:0:0:root:/root:/bin/bash
Si ce n'est pas le cas, changez-la et sauvegardez le fichier.
Lancez la commande chmod 644 /etc/passwd pour rétablir des droits d'accès corrects.
- Puis, faites vi /etc/shadow.
Par exemple :
root:$1$QJN1nBM9$lrWsaaGFava/00rhQb2V9/:12437:0:99999:7:::
Le mot de passe est chiffré, bien sûr.
Supprimez le mot de passe pour 'root'. Pour cela, déplacez le curseur sur le premier caractère du mot de passe (habituellement le premier caractère '$') et tapez x autant de fois que nécessaire pour atteindre le séparateur (':') de champ suivant.
Avec l'exemple précédent, cela donne :
root::12437:0:99999:7:::
Maintenant tapez :wq pour sauvegarder le fichier.
- Regardez aussi le fichier '/etc/securetty' (commande cat /etc/securetty), qui devrait contenir ces entrées (NdT : avec Mandrakelinux 9.1 => 10.1. Cela peut être différent avec d'autres versions) :
- Consultez le fichier '/var/log/messages' (commande tail -30 /var/log/messages). Cela pourrait révéler la nature de vos problèmes. Vous devez aussi vérifier les droits et permissions (par la commande ls -al) des fichiers '/root/.bash_profile', '/root/.bashrc' et '/etc/gettydefs' si ils existent.
- ls -al /root/.bash* /etc/gettydefs
- Redémarrez avec la commande init 6
- Au prochain login, tapez root pour le nom du compte puis appuyez simplement sur la touche ENTREE lorsque le mot de passe est demandé.
- Une fois connecté, lancez la commande passwd pour donner un nouveau mot de passe au compte 'root'.
Scénario IV : Le système se bloque lors du chargement de X
Si vous avez configuré votre machine pour démarrer directement en mode graphique, des problèmes de configuration de votre serveur X peuvent vous empêcher de vous connecter.
Appuyez simultanément sur pour vous connecter à partir d'une autre console, tuez le processus? qui essaie de lancer le serveur X et suivez les recommandations de l'article X Setup Troubles?.
Sinon, vous pouvez aussi redémarrer sans le serveur X.
Au prompt de ~LiLo, tapez linux init 3 pour démarrer sans le serveur X.
Scénario V : Le système se bloque
Les interruptions silencieuses, appelées 'hang' ou 'freeze', sont habituellement provoquées par des problèmes entre le système d'exploitation et le matériel (mauvaises barrettes mémoire, bogues dans les pilotes, conflits d'IRQ, etc.). Ces interruptions ne laissent en général aucune trace dans le fichier de log '/var/log' et cela nécessite une mise à jour logicielle ou matérielle.
Votre tâche principale dans une telle situation est d'empêcher d'autres problèmes, par exemple une corruption du système de fichiers en éteignant brusquement l'ordinateur. La touche magique ~SysRq? est alors bien commode ici.
Par le réseau
Si votre machine fait tourner un serveur SSH ou Telnet, vous devriez essayer de vous y connecter via une autre machine. Il se peut qu'il n'y ait que l'interface graphique qui soit gelée, et que le reste du système et les services réseau fonctionnent toujours.
Scénario VI : Récupérer des fichiers perdus
NdT : Cet outil n'agit que sur des partitions ext2. De plus, il n'est manifestement plus livré avec Mandrakelinux.
Faites-vous plaisir et installez l'utilitaire de récupération de fichiers Recover. Il s'agit d'un front-end à l'outil 'debugfs'. La seule chose à faire est de lancer la commande 'recover' avec pour paramètre le nom de la partition où se trouvait le fichier qui a été perdu (commande à lancer sous 'root') :
recover /dev/device
'recover' vous posera des questions afin de minimiser le nombre de fichiers selectionnés. Notez que 'recover' ne récupère que le contenu du fichier, pas son nom. Il est donc dans votre intérêt de lui donner le plus d'info possible.
Ressources liées :
Mdk-Ref 13
LIGS, 4.11
LIGS, 4.11
man 5 shadow
man 5 passwd
man recover
Revision / Modified: Jan. 28, 2002
Author: Tom Berger
Traduit par esfa en septembre 2004. Modifié par VWKE en Novembre 2004
Legal: This page is covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB and Mandrakesoft.
Données du document
Base de connaissances
- Compte perdu ?
- Rejoignez la communauté, faites partie du Club: c'est gratuit!
- Abonnez vous au service PWP!