Poslední kroky
Od cíle - sestavení vlastní(!) fungující linuxové distribuce nás už dělí jen pár posledních kroků. Tak s chutí do toho!
Změna přístupových práv
Všechny adresáře jsme až na vyjímky vytvořili s přístupovými právy nastavenými na 0755 (rwxr-xr-x). Nyní je čas upravit přístupová práva i obsahu adresářů, které jsme v předchozím textu zaplnili novými soubory.
Níže uvedené příkazy ilustrují postup (cesty jsou relativně vůči adresáři mylindist-root s naší distribucí):
# knihovny $ cd lib/ $ chmod 0755 * # konfiguracni soubory $ cd ../etc $ chmod 0644 * $ chmod 0755 init.d/ # spousteci a ukoncovaci skript $ cd init.d/ $ chmod 0744 rcS rcK
Kromě změny práv musíme změnit i vlastníka a skupinu u všech a adresářů souborů tak, aby vlastníkem byl vždy superuživatel root a skupina také root.
Pro změnu vlastnictví vytvořených adresářů se musíme přepnout na superuživatele a pak teprve můžeme pokračovat dál:
$ su # chown -R root:root *
Od této chvíle může s obsahem naší distribuce manipulovat pouze superuživatel root.
Přestože používáme dynamické vytváření souborů zařízení v adresáři /dev pomocí mdev, dva soubory zařízení musíme vytvořit staticky. Jde o soubory pro zařízení console a null. Tyto zařízení a potažmo i jejich soubory zařízení jsou používány jádrem při zavádění systému, zatímco mdev spouštíme až v poslední fázi startu systému. Proto je vytvoříme ručně (jako superuživatel):
# mknod -m 600 /home/emlin/kiosk-disk/rootFS/dev/console c 5 1 # mknod -m 666 /home/emlin/kiosk-disk/rootFS/dev/null c 1 3
Nastavení hesla superuživatele
Posledním krokem je nastavení hesla superuživatele pro naši distribuci. Toto heslo bude samozřejmě platit až po naběhnutí naší distribuce, nikoliv teď, kdy se pohybujeme v mateřské distribuci Debian 6.0 Squeeze. Abychom tak mohli učinit, musíme kořenový adresář naší distribuce učinit jakoby kořenový i v naší mateřské distribuci. Tzn. že adresář /home/emlin/mylindist-root se stane na chvíli kořenovým adresářem /. Díky tomu bude heslo uživatele root, resp. jeho otisk (hash) zapsáno do souboru /etc/passwd v naší distribuci a nikoliv do souboru /etc/passwd naší mateřské distribuce.
Použijeme příkaz:
# chroot /home/emlin/mylindist-root /bin/sh
Tím se dostaneme do nového kořenového adresáře a objeví se prompt Busyboxu:
BusyBox v1.18.5 (2011-07-13 11:51:07 CEST) built-in shell (ash) Enter ’help’ for a list of built-in commands. / #
kde změníme heslo superuživatele root:
/ # passwd root Changing password for root New password: Retype password: Password for root changed by root
Zpět do původního kořenového adresáře naší mateřské distribuce se dostaneme příkazem:
/ # exit
Ověříme si, že v souboru /etc/passwd v naší distribuci došlo ke změně a místo dvou dvojteček za názvem uživatel root, je otisk hesla. Navíc byl vytvořen soubor /etc/passwd~ jako záloha původního obsahu.