Créer les fichiers passwd, group et les journaux de trace

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/lastlog

Le 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.