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 pas partie d'un standard—ils ont été choisis en partie suite aux pré-requis de la configuration d'Udev dans la section suivante et en partie par une convention commune employée par un certain nombre de distributions Linux existantes. LSB (Linux Standard Base, disponible sur http://www.linuxbase.org) recommande seulement que, en plus du groupe « root » disposant d'un GID 0, un groupe « bin » de GID 1 soit présent. Tous les autres noms de groupe et GID associés sont choisis librement par l'administrateur du système car les programmes bien écrits ne dépendent pas des numéros de GID mais utilisent plutôt 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 rappelerait le chemin vers les binaires qu'il a exécuté. Pour utiliser les binaires dès leur installation, l'option +h sera utilisée pour toute 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.