Produkty Novinky Články Návody Kontakty

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.