Afin que l'utilisateur root puisse se connecter et pour que le nom
“root” soit reconnu, il doit y avoir des 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
EOFLe mot de passe actuel pour root (le “x” utilisé ici
n'est qu'un paramètre fictif) sera réglé plus tard.
Utilisateurs supplémentaires que vous pourriez vouloir ajouter :
bin:x:1:1:bin:/bin:/bin/falsePeut être utile pour la compatibilité avec des applications héritées.
daemon:x:2:6:daemon:/sbin:/bin/falseIl est souvent recommandé d'utiliser l'ID d'un groupe ou d'un utilisateur non privilégiés pour l'exécution de démons, afin de limiter leur accès au système.
adm:x:3:16:adm:/var/adm:/bin/falseÉtait utilisé pour des programmes qui effectuaient des tâches d'administration.
lp:x:10:9:lp:/var/spool/lp:/bin/falseUtilisé par des programmes pour l'impression
mail:x:30:30:mail:/var/mail:/bin/falseSouvent utilisé par des programmes de messagerie
news:x:31:31:news:/var/spool/news:/bin/falseSouvent utilisé pour un réseau de serveurs de nouvelles (news)
uucp:x:32:32:uucp:/var/spool/uucp:/bin/false´Souvent utilisé pour la copie Unix-vers-Unix de fichiers d'un serveur à l'autre
operator:x:50:0:operator:/root:/bin/bashSouvent utilisé pour permettre aux opérateurs du système d'accéder au système
postmaster:x:51:30:postmaster:/var/spool/mail:/bin/falseUtilisé généralement comme compte qui reçoit toutes les informations de problèmes avec le serveur de messagerie
nobody:x:65534:65534:nobody:/:/bin/falseUtilisé par NFS
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:
cdrom:x:15:
EOFGroupes supplémentaires que vous pourriez vouloir ajouter
adm:x:16:root,adm,daemonTous les utilisateurs de ce groupe ont le droit de faire des tâches d'administration
console:x:17:Ce groupe a un accès direct à la console
cdrw:x:18:Ce groupe est autorisé à utiliser le lecteur CDRW
mail:x:30:mailUtilisé par MTAs (Mail Transport Agents)
news:x:31:newsUtilisé par le réseau de serveurs de nouvelles
uucp:x:32:uucpUtilisé par les utilisateurs de la copie Unix-vers-Unix
users:x:1000:Le GID utilisé par défaut par shadow pour les nouveaux utilisateurs
nogroup:x:65533:C'est le groupe par défaut utilisé par certains programmes qui n'ont pas besoin d'un groupe
nobody:x:65534:C'est utilisé par NFS
Les groupes créés ne font partie d'aucun standard—ce sont des groupes décidés d'une part par les exigences de la configuration d'Udev dans le système final, d'autre part par la convention couramment utilisée par un grand nombre de distributions Linux existantes. La Linux Standard Base (LSB, disponible sur http://www.linuxbase.org) recommande uniquement que, après le groupe “root” ayant l'identifieur de groupe (GID) 0, un groupe “bin” avec un GID de 1 soit présent. L'administrateur système peut choisir librement tout autre noms de groupe et GIDs, vu que les programmes bien écrits ne dépendent pas des numéros GID mais utilisent plutôt le nom d'un groupe.
Pour supprimer l'invite “I have no name!” démarrez un nouveau shell. Puisqu'on a installé une Glibc
complète dans le Constructing Cross-Compile Tools et que les répertoires /etc/passwd
et /etc/group ont été créés, la résolution des noms d'utilisateur et de groupe va à présent
fonctionner.
exec /tools/bin/bash --login +h
Notez l'utilisation du paramètre +h.
Il dit à bash de ne pas utiliser son hachage interne
des chemins. Sans ce paramètre, bash se rappelerait des
chemins vers les binaires qu'il a exécutés. Pour s'assurer que les
binaires nouvellement compilés seront utilisés dès qu'ils seront installés,
le paramètre +h sera utilisée durant toute le
chapitre suivant.
Les programmes login, agetty et init (et d'autres) utilisent un certain nombre de fichiers journal pour enregistrer des informations telles que ceux qui se sont connectés au système et quand. Néanmoins, ces programmes n'écriront pas dans les fichiers journal s'ils n'existent pas déjà. Initialisez les fichiers journal et donnez-leur les bons droits :
touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chgrp -v utmp /var/run/utmp /var/log/lastlog
chmod -v 664 /var/run/utmp /var/log/lastlog
chmod -v 600 /var/log/btmpLe fichier /var/run/utmp enregistre les utilisateurs actuellement connectés. Le fichier
/var/log/wtmp enregistre toutes les connexions et les déconnexions. Le fichier
/var/log/lastlog enregistre le moment où chaque utilisateur s'est connecté pour la dernière fois. Le
fichier /var/log/btmp enregistre les tentatives de connexion erronnées.