Créer les fichiers passwd et group

Pour que root puisse se connecter et pour que le nom "root" soit reconnu, il doit exister les entrées adéquates dans les fichiers /etc/passwd et /etc/group.

Créez le fichier /etc/passwd en lançant la commande suivante :

cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
EOF

Le mot de passe actuel pour root (le "x" ici sert juste à remplir la case) 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:
EOF

Les groupes créés ne font partie d'aucun standard -- ce sont les groupes que le script MAKEDEV utilise dans la section suivante. En plus du groupe "root", le LSB (http://www.linuxbase.org) recommande seulement un groupe "bin", avec un GID de 1. Tous les autres noms de groupe et GIDs peuvent être choisis librement par l'utilisateur, car les packages bien écrits ne dépendent pas du numéro GID mais utilisent le nom du groupe.

Enfin, nous nous reconnectons dans l'environnement chroot. La résolution des noms d'utilisateurs et des noms de groupes commencera à fonctionner immédiatement après la création des fichiers /etc/passwd et /etc/group, parce que nous avons installé une Glibc complète au chapitre 5. Ceci supprime l'invite << I have no name! >>.

exec /tools/bin/bash --login +h

Notez l'utilisation de la directive +h. Ceci indique à bash de ne pas utiliser son hachage interne du chemin. Sans cette directive, bash se rappelerait les chemins des binaires qu'il a exécuté. Comme nous voulons utiliser nos binaires nouvellement compilés aussitôt après leur installation, nous désactivons cette fonctionnalité pour toute la durée de ce chapitre.