Certains de ces services exigent que votre machine
assure le service ident
(voir /etc/services
).
D. Duparc :
Lire le chapitre [Communiquer] du Guide du Rootard, en particulier [Que faire en cas d'attribution dynamique de l'adresse IP ?]
Créer un fichier /etc/hosts.base
contenant seulement la ligne 127.0.0.1
localhost
.
Ajouter au script /etc/ppp/ip-up
de
J.C. Delépine les lignes suivantes :
cp /etc/hosts.base /etc/hosts echo $HOST georgette.lefrancois >> /etc/hosts
si georgette.lefrancois
est le
nom local de la machine.
Quand je fais un telnet depuis une machine Windows (ou Linux, d'ailleurs), j'attends très longtemps au moment de la connexion, environ une minute, avant d'avoir l'invite de login. Après, ça fonctionne très bien...
O Tharan explique :
Problème de résolution de noms classique : la machine Linux essaie
de faire une résolution inverse sur l'adresse IP de la machine MS-Windows
pour savoir qui l'appelle, et n'y arrive pas, d'où attente. Exemple : je
me connecte avec l'adresse IP 192.168.1.2
et
Linux essaie de savoir à quel nom (windows.babasse.fr
) cela
correspond.
Solution: renseigner la table /etc/hosts
en indiquant l'adresse
IP de la machine MS-Windows et son nom. Exemple :
192.168.1.1 linux1.maison.fr 192.168.1.2 windows1.maison.fr
Inutile d'installer un serveur de noms pour si peu, même si c'est un bon exercice.
/etc/hosts
doit contenir :
127.0.0.1 FQDN localhost loopback N
où :
"FQDN" remplace le nom de machine complet : ce que renvoie la commande hostname -f (ou uname -n)
"N" remplace le nom de machine sans domaine : hostname | cut -f1 -d.
Le démarrage sur disquette échoue avec un message
crc error
, ou un code d'erreur bizarre.
Utiliser une autre disquette, la formater au préalable
et s'assurer qu'elle n'a pas de défaut (bad
sectors
,
secteurs défectueux
).
Codes d'erreur : consulter la documentation de LILO.
Quelle est la signification du message de démarrage de LILO ?
LILO, au cours de son exécution, affiche peu à peu chaque lettre du mot "LILO". Si LILO échoue à un stade donné, les lettres affichées révèlent l'étape avortée (sa documentation technique décrit tout cela de façon plus détaillée). Certains nombres hexadécimaux peuvent s'afficher après le premier "L" si des problèmes transitoires surviennent sur le disque dur. À moins que LILO ne se bloque, l'affichage d'une suite interminable de nombres hexadécimaux à ce niveau ne révèle pas des problèmes graves.
Note : l'option de LILO linear
corrige de nombreux problèmes
relevant de la géométrie. Attention: linear
et compact
ne font parfois pas bon ménage.
Messages affichés par LILO (consulter aussi, à ce propos the section called “Secteur d'amorçage (boot sector, démarrage, réinstallation secteur LILO)”) :
(rien) : Aucune partie de LILO n'a été chargée. Il n'est pas installé ou la partition sur laquelle se trouve le secteur de démarrage n'est pas 'activée'.
L (code d'erreur)... : le logiciel chargeur a été lu et lancé, mais LILO ne peut poursuivre. Les deux chiffres du code d'erreur indiquent la nature du problème (voir également la section "Codes d'erreurs disque" de la documentation). Ceci indique généralement un défaut du support ou une incohérence dans la définition de la géométrie de celui-ci (par exemple des paramètres incompatibles, voir la section "Géométrie du disque").
LI : le chargeur est en mesure de poursuivre vers le
deuxième niveau mais ne parvient pas à lancer le logiciel correspondant.
Ceci peut relever d'un problème de définition de la géométrie du disque
ou d'un déplacement de /boot/boot.b
non
suivi d'une invocation de lilo.
LIL : le second niveau a bien été lancé mais il ne parvient pas à
charger la table de descripteurs à partir du fichier map
. Ceci est
caractéristique d'un problème de support ou d'une géométrie
incohérente.
LIL? : le second niveau a été chargé à une adresse
incorrecte. Causes semblables à celle du message
LI
.
LIL- : la table des descripteurs est corrompue. Causes
semblables à celle du message LI
.
Login (connexion) impossible, probablement après
manipulation du fichier
/etc/passwd
ou de l'un des éléments de la chaîne associée (binaire
login
, shadow passwords, Red Hat : pwdb
ou
PAM...)
S'il s'agit d'un login root à travers le réseau, ne
pas négliger de modifier
/etc/securettys
. Dans le cas d'une Red Hat, examiner aussi la
configuration PAM.
Solution fournie par J. Fourre et P. Saratxaga.
Démarrer de façon à pouvoir modifier /etc/passwd
. Pour cela, il
suffit de passer un paramètre au noyau afin de lancer le système dans un
mode d'exploitation spécial.
Pour ce faire, démarrer :
en mode mono-utilisateur (single user) grâce à l'un des paramètres LILO :
S
;
single
;
init=/bin/sh
.
grâce à une disquette de démarrage (par exemple, rescue)
Dans le cas d'une Red Hat :
Pablo recommande, sitôt le
système démarré grâce au paramètre init=/bin/bash
, d'invoquer
/etc/rc.d/rc 2, remonter /
en autorisant la lecture et
l'écriture (mode rw
) avec mount -n -o remount,rw /,
puis d'éditer /etc/passwd
.
On peut se contenter d'invoquer /etc/rc.d/init.d/keytable afin de bénéficier d'une gestion du clavier adéquate (AZERTY ...).
Pour supprimer un mot de passe, il suffit de modifier la ligne correspondant
au compte dans le fichier /etc/passwd
afin de détruire tous les
caractères placés entre les deux premiers « deux-points ».
Exemple (suppression du mot de passe de root) :
Avant modification :
root:RuN0C/zyWvkf2:0:0:root:/root:/bin/bash
Après modification :
root::0:0:root:/root:/bin/bash
En cas de problème, renommer /etc/shadow
.
un pirate peut employer ce genre d'approche pour prendre le contrôle d'une machine à laquelle il peut « physiquement » accéder.
Pour limiter les risques :
utiliser les options password
et restricted
de LILO
(ne pas négliger qu'il faudra, lors du démarrage, composer le mot de passe
avec un clavier configuré en QWERTY) ;
bitouiller le SETUP de sorte que le démarrage ne puisse s'effectuer qu'à partir du disque dur (et en aucun cas grâce à une disquette), et verrouiller cette configuration (mot de passe SETUP).
Cela devrait limiter les écarts des mauvais plaisants mais gare : un malintentionné peut encore ouvrir la machine (remise à zéro du SETUP, dépose du disque dur...).
F. Rouaix note :
si la machine peut également démarrer sous
MS-DOS, utiliser loadlin pour charger un noyau avec des options
arbitraires, telles que single
.
L. Wacrenier ajoute :
le mot de passe de LILO n'est pas chiffré (un boot secteur n'a pas à s'encombrer de bibliothèque de chiffrement). Le mot de passe apparaîtra donc en clair à qui peut lire le disque. D'où l'idée de mettre un mot de passe qui ne peut être saisi au clavier (ou de redéfinir un clavier, etc.).
La session de travail semble parfois bloquée, le terminal ne produit rien et n'accepte plus rien (aucune touche ne fonctionne).
Le blocage est souvent normal car dû à une combinaison de touches Control+S ou bien Arrêt Défil. (Scroll Lock) en mode console. Il suffit alors d'employer Control +Q (ou sur Arrêt Défil.) pour ranimer la session.
V. Bernat
Cela peut aussi être dû à un problème de disque (genre il ne supporte pas bien le DMA et il a planté): on ne pense pas forcément à regarder la LED quand on l'a pas en face de soi. Un coup d'oeil sur la console (Alt-F10) permet de vérifier s'il a un problème (retry/reset).
e2fsck, par exemple lorsqu'il est invoqué automatiquement durant le boot, produit parfois un message :
Deleted inode XXX has zero dtime. Set dtime? yes.
R. Card :
Chaque i-noeud possède un champ dtime
qui contient la date de suppression
du dernier fichier associé à cet i-noeud. Le but de ce champ est de
permettre d'effectuer des traitements particuliers quand/si une fonction
« undelete » sera incorporée à Ext2fs.
Lorsqu'un fichier est supprimé, le noyau met à jour ce champ dtime
(avec la
date courante) et l'i-noeud est réécrit sur disque. Quand un i-noeud est
alloué, le champ dtime
est mis à zéro.
fsck vérifie que le champ dtime
est non nul pour tout i-noeud non alloué
(dont le nombre de liens est nul). Si ce n'est pas le cas, il affiche ce
message d'erreur. Généralement, cette erreur peut être due à des
redémarrages brutaux, à des problèmes de disque ou à des bogues dans
Ext2fs.
De toutes façons, c'est une erreur très bénigne dans la mesure où dtime
n'est pas (encore) utilisé.