Erstellen der Verzeichnisse

Lassen sie uns nun Struktur in unser LFS System bringen. Lassen sie uns einen Verzeichnisbaum erstellen. Das folgende Kommando erstellt einen mehr oder weniger standardkonformen Verzeichnisbaum:

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}}

Verzeichnisse werden standardmässig mit den Rechten 755 erzeugt, aber das ist nicht für alle Verzeichnisse gewünscht. Wir nehmen zwei Änderungen vor: eine auf dem Heimatverzeichnis von root, und eine weitere auf dem Verzeichnis für temporäre Dateien.

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

Die erste Rechteänderung legt fest, das nicht jeder das /root Verzeichnis betreten darf -- das gleiche was ein normaler Benutzer mit seinem Heimatverzeichnis auch tun würde. Die zweite Änderung sorgt dafür, das jeder Benutzer in die Verzeichnisse /tmp und /var/tmp schreiben kann, aber nicht die Dateien anderer Benutzer löschen kann. Das letztere wird durch das "sticky bit" bewirkt -- dem höchsten Bit in der Bit Maske 1777.

Anmerkung zur FHS Konformität

Unser Verzeichnisbaum basiert auf dem FHS Standard (verfügbar unter http://www.pathname.com/fhs/). Zusätzlich zu den oben erstellten Verzeichnissen sieht dieser Standard auch die Existenz von /usr/local/games und /usr/share/games vor, aber diese möchten wir in einem Basis System eigentlich nicht haben. Wenn sie möchten, können sie ihr System natürlich vollständig FHS Konform machen. Zur Struktur in /usr/local/share macht FHS keine präzisen Angaben, daher haben wir die Verzeichnisse erstellt die wir für nötig halten.