Tworzenie katalogów

Utwórzmy teraz pewne struktury w systemie plików LFS. Utwórzmy drzewo katalogów. Następujące rozkazy utworzą drzewo bliskie standarowego:

mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc} 
mkdir -p /{root,sbin,tmp,usr/local,var,opt}
for dirname in /usr /usr/local
do
mkdir $dirname/{bin,etc,include,lib,sbin,share,src}
ln -s share/{man,doc,info} $dirname
mkdir $dirname/share/{dict,doc,info,locale,man}
mkdir $dirname/share/{nls,misc,terminfo,zoneinfo}
mkdir $dirname/share/man/man{1,2,3,4,5,6,7,8}
done
mkdir /var/{lock,log,mail,run,spool}
mkdir -p /var/{tmp,opt,cache,lib/misc,local}
mkdir /opt/{bin,doc,include,info}
mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}}

Domyślnie katalogi są tworzone z maską uprawnień 755, ale nie jest ona odpowiednia dla wszystkich katalogów. Zrobimy dwie zmiany: jedną dla katalogu domowego root'a a drugą dla katalogów na pliki tymczasowe (temporary).

chmod 0750 /root
chmod 1777 /tmp /var/tmp

Pierwsza zmiana uprawnień zapewnia, że nie każdy będzie mógł wejść do katalogu /root -- tak po prostu, jak zwykły użytkownik wchodzi do swojego katalogu domowego. Druga zmiana maski uprawnień zapewni każdemu użytkownikowi możliwość zapisu w katalogach /tmp i /var/tmp, ale nie pozwoli usuwać stamtąd plików innych użytkowników. Ostatnią cechę zapewnia tzw. "lepki bit" ("sticky bit") -- najważniejszy bit w masce 1777, wagę przywiązujemy oczywiście do miejsca cyfry w liczbie.

Uwaga o zgodności z FHS

Nasze drzewo katalogów opieramy na standardzie FHS (Filesystem Hierarchy Standard -- Standard Hierarchii Systemu Plików, dostępny pod adresem http://www.pathname.com/fhs/). Poza tym, co mamy utworzone, FHS zakłada również istnienie /usr/local/games i /usr/share/games, ale nam one niezbyt pasują do bazowego systemu. Mimo to, możesz swobodnie zrobić swój system zgodnym z FHC. Jeśli chodzi o strukturę podkatalogów  /usr/local/share, to FHS nie określa wyraźnie, więc utworzyliśmy te, które naszym zdaniem będą potrzebne.