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.