Damit root
sich am System anmelden
kann und damit der Name „root“
der richtigen Benutzer-ID zugeordnet werden kann, müssen die
entsprechenden Einträge in /etc/passwd
und /etc/group
vorhanden sein.
Erzeuge die /etc/passwd
mit dem
folgenden Kommando:
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/bin/false
nobody:x:99:99:Unprivilegierter Benutzer:/dev/null:/bin/false
EOF
Das tatsächliche Passwort für root
(Das „x“ ist hier nur
Platzhalter) wird erst später gesetzt.
Erstelle die /etc/group
mit dem
folgenden Kommando:
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:
mail:x:34:
nogroup:x:99:
EOF
Die erzeugten Gruppen sind nicht Teil irgendeines Standards - es sind
die Gruppen, die Udev in diesem Kapitel benutzt. Neben der Gruppe
root
mit der GID 0 schlägt die LSB
(Linux Standard Base http://www.linuxbase.org) nur die
Gruppe bin
mit der GID 1 vor. Alle
anderen Gruppennamen und GIDs können durch den Anwender frei gewählt
werden, weil gut geschriebene Pakete sich nicht auf GID-Nummern
verlassen sollten, sondern den Gruppennamen verwenden.
Die Meldung „I have no name!“
wirst Du los, indem Du eine neue Shell startest. Die Auflösung der
Benutzer- und Gruppennamen funktioniert sofort nach dem Erstellen von
/etc/passwd
und /etc/group
, weil Du in Kapitel 5 eine vollständige
Glibc installiert hast:
exec /tools/bin/bash --login +h
Beachte die Option +h
. Durch
sie wird das interne Pfad-Hashing der Bash abgeschaltet. Ohne diese
Anweisung würde sich bash die Pfade zu ausführbaren
Dateien merken und wiederverwenden. Weil die frisch installierten
Programme aber sofort nach deren Installation an ihrem neuen Ort
genutzt werden sollen, schaltest Du die Funktion für dieses Kapitel
aus.