8.8. Création des Fichiers passwd et group

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 /etc/passwd en exécutant les commandes suivantes:

cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:/bin:/bin/false
daemon:x:2:6:/sbin:/bin/false
messagebus:x:27:27:D-Bus Message Daemon User:/dev/null:/bin/false
systemd-bus-proxy:x:71:72:systemd Bus Proxy:/:/bin/false
systemd-journal-gateway:x:73:73:systemd Journal Gateway:/:/bin/false
systemd-journal-remote:x:74:74:systemd Journal Remote:/:/bin/false
systemd-journal-upload:x:75:75:systemd Journal Upload:/:/bin/false
systemd-network:x:76:76:systemd Network Management:/:/bin/false
systemd-resolve:x:77:77:systemd Resolver:/:/bin/false
systemd-timesync:x:78:78:systemd Time Synchronization:/:/bin/false
systemd-coredump:x:79:79:systemd Core Dumper:/:/bin/false
nobody:x:65534:65533:Unprivileged User:/dev/null:/bin/false
EOF

Le vrai mot de passe pour root (le « x » utilisé ici n'est qu'un bypass) sera configuré plus tard.

Utilisateurs supplémentaires que vous pourriez vouloir ajouter :

adm:x:3:16:adm:/var/adm:/bin/false

Était utilisé pour les programmes qui effectuaient des tâches administratives.

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

Créez /etc/group en exécutant les commandes suivantes:

cat > /etc/group << "EOF"
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
tty:x:5:
tape:x:4:
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:
adm:x:16:
mail:x:30:
messagebus:x:27:
nogroup:x:65533:
systemd-bus-proxy:x:72:
systemd-journal:x:28:
systemd-journal-gateway:x:73:
systemd-journal-remote:x:74:
systemd-journal-upload:x:75:
systemd-network:x:76:
systemd-resolve:x:77:
systemd-timesync:x:78:
systemd-coredump:x:79:
wheel:x:39:
EOF

Groupes supplémentaires que vous pourriez vouloir ajouter :

console:x:17:

Ce groupe a un accès direct à la console

cdrw:x:18:

Ce groupe est autorisé à utiliser le lecteur CDRW

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

nobody:x:65533:

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 de Ssytemd 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.linuxfoundation.org/collaborate/workgroups/lsb) 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 enlever le prompt « I have no name! », lancez un nouveau shell. Puisque Glibc a été complètement installé dans Constructing Cross-Compile Tools et que /etc/passwd and /etc/group ont étés créés, la résolution des noms d'utilisateur et de groupe va maintenant fonctionner.

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

Remarquez l'utilisation du paramètre +h. Il dit à bash de ne pas utiliser son hachage de chemin interne. Sans ce paramètre, bash se rappelerait des chemins vers les binaires qu'il a exécuté. 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 tout le chapitre.