Erstellen der Dateien passwd, group und der Logdateien

Damit root sich am System anmelden kann und damit der Name „root“ der richtigen Benutzer-ID zugeordnet werden kann, müssen die relevanten Einträge in /etc/passwd und /etc/group vorhanden sein.

Erzeugen Sie /etc/passwd mit dem folgenden Kommando:

cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
EOF

Das tatsächliche Passwort für root (Das „x“ ist hier nur Platzhalter) wird erst später gesetzt.

Erstellen Sie /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:
EOF

Die erzeugten Gruppen sind nicht Teil irgendeines Standards -- es sind Gruppen, die das Skript make_devices im nächsten Abschnitt benutzt. Neben der Gruppe „root“ schlägt die LSB (Linux Standard Base) nur die Gruppe „bin“ mit der GID 1 vor. Alle anderen Gruppennamen und GIDs können frei durch den Anwender gewählt werden, weil gut geschriebene Pakete sich nicht auf GID-Nummern verlassen sondern den Gruppennamen verwenden.

Um die Meldung „I have no name!“ loszuwerden, starten wir eine neue Shell. Die Auflösung von Benutzer- und Gruppennamen funktioniert sofort nach dem Erstellen von /etc/passwd und /etc/group, weil wir in Chapter 5 eine vollständige Glibc installiert haben.

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

Beachten Sie die Benutzung der Option +h. Das weist bash an, kein internes Pfad-Hashing zu benutzen. Ohne diese Anweisung würde bash sich die Pfade zu ausführbaren Dateien merken. Weil wir aber frisch installierte Programme sofort nach der Installation an ihrem neuen Ort benutzen möchten, schalten wir die Funktion in diesem Kapitel aus.

Die Programme login, agetty, und init (und einige weitere) verwenden Logdateien zum Protokollieren von Informationen, wie z. B. wer sich zu welcher Zeit an das System angemeldet hat. Diese Programme schreiben aber nur in Logdateien, wenn diese auch existieren. Daher initialisieren wir die Logdateien und vergeben die richtigen Rechte:

touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}

Die Datei /var/run/utmp protokolliert zur Zeit angemeldete Benutzer. Die Datei /var/log/wtmp protokolliert alle An- und Abmeldungen. Die Datei /var/log/lastlog protokolliert die letzte Anmeldung für jeden Benutzer. Die Datei /var/log/btmp protokolliert fehlgeschlagene Anmeldeversuche.