Tworzenie plików passwd i group

Żeby root mógł się zalogować i być rozpoznany pod nazwą "root", muszą istnieć odpowiednie wpisy w plikach /etc/passwd oraz /etc/group.

Utwórz plik /etc/passwd wykonując polecenie:

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

Właściwe hasło dla użytkownika root (ten "x" tylko zajmuje miejsce dla niego) zostanie ustalone później.

Utwórz plik /etc/group wykonując polecenie:

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

Utworzone tu grupy nie należą do żadnego standardu -- to są grupy. których używa skrypt MAKEDEV w następnej sekcji. Poza grupą "root", projekt Linux Standard Group (http://www.linuxbase.org) zaleca jedynie grupę "bin", z identyfikatorem grupy GID równym 1. Użytkownik może swobodnie wybierać wszystkie inne nazwy grup i ich identyfikatory GID, ponieważ dobrze zrobione pakiety nie polegają na numerze GID, tylko używają nazwy grupy.

W końcu logujemy się ponownie do środowiska chroot. Nazwa użytkownika i nazwa grupy będą działać natychmiast po wyedytowaniu plików /etc/passwd i /etc/group, ponieważ mamy zainstalowaną całą Glibc w Rozdziale 5. To nas uwolni od znaku zachęty "I have no name!".

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

Zauważ użycie dyrektywy(?) +h. Każe ona powłoce bash nie używać jego wewnętrznych  odcisków ścieżek (its internal path hashing). Bez tej dyrektywy bash pamiętałby ścieżki do wykonywanych binariów. Ponieważ chcemy używać naszych nowo skompilowanych binariów jak tylko zostaną zainstalowane, to wyłączamy tą opcję na czas tego rozdziału.