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
EOF
Le 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/false
Peut être utile pour la compatibilité avec des applications héritées.
daemon:x:2:6:daemon:/sbin:/bin/false
Il 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/false
Utilisé par des programmes pour l'impression
mail:x:30:30:mail:/var/mail:/bin/false
Souvent utilisé par des programmes de messagerie
news:x:31:31:news:/var/spool/news:/bin/false
Souvent utilisé pour un réseau de serveurs de nouvelles (news)
operator:x:50:0:operator:/root:/bin/bash
Souvent utilisé pour permettre aux opérateurs du système d'accéder au système
postmaster:x:51:30:postmaster:/var/spool/mail:/bin/false
Utilisé 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/false
Utilisé 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:
EOF
Groupes supplémentaires que vous pourriez vouloir ajouter
adm:x:16:root,adm,daemon
Tous 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:mail
Utilisé par MTAs (Mail Transport Agents)
news:x:31:news
Utilisé par le réseau de serveurs de nouvelles
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 distributiods 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
Remarquez 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/btmp
Le 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.