Pour que root puisse se connecter et que le nom
« root » soit reconnu, il doit exister des entrées adéquates dans les
fichiers /etc/passwd et /etc/group.
Créez le fichier /etc/passwd en lançant les
commandes suivantes :
cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash EOF
Le mot de passe pour root (le caractère « x » ici est seulement pour conserver l'emplacement) sera initialisé plus tard.
Créez le fichier /etc/group en lançant la commande
suivante :
cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: EOF
Les groupes créés ne font partie d'aucun standard—ce sont simplement les groupes que la configuration Udev sera utilisée dans la prochaine section. Le LSB (Linux Standard Base) recommande seulement la présence d'un groupe « root » disposant d'un GID 0 et d'un groupe « bin » de GID 1. Tous les autres noms de groupe et GID peuvent être choisis librement par l'administrateur système car les paquets bien écrits ne dépendent pas des numéros de GID mais utilisent le nom du groupe.
Pour supprimer l'invite « I have no name! », commencez un
nouveau shell. Comme un Glibc complet a été installé dans le
Chapitre 5 et que les fichiers
/etc/passwd et /etc/group ont été créés, la résolution des noms d'utilisateur et des noms de groupe devraient fonctionner.
exec /tools/bin/bash --login +h
Notez l'utilisation de la directive +h. Ceci
indique à bash de ne pas utiliser son hachage interne des
chemins. Sans cette directive, bash se rappellerait le
chemin vers les binaires qu'il a exécuté. Pour utiliser les binaires dès leur
installation, désactivez cette fonction pour la durée de ce chapitre.
Les programmes login, agetty et init (ainsi que d'autres) utilisent un certain nombre de journaux pour enregistrer les informations comme la personne connectée au système et sa date d'entrée. Néanmoins, ces programmes n'écrivent pas les journaux de trace s'ils n'existent pas déjà. Initialisez les journaux et donnez-leur les bons droits :
touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chgrp utmp /var/run/utmp /var/log/lastlog
chmod 664 /var/run/utmp /var/log/lastlogLe fichier /var/run/utmp enregistre les utilisateurs
actuellement connectés. Le fichier /var/log/wtmp enregistre
toutes les connexions et déconnexions. Le fichier
/var/log/lastlog enregistre pour chaque utilisateur quand
il ou elle s'est déjà connecté. Le fichier /var/log/btmp
enregistre les tentatives échouées de connexion.