Erstellen der Ordner

Lassen Sie uns nun Struktur in unser LFS-System bringen und einige Ordne erstellen. Das folgende Kommando erstellt eine mehr oder weniger standardkonforme Ordnerstruktur:

mkdir -p /{bin,boot,dev/{pts,shm},etc/opt,home,lib,mnt,proc}
mkdir -p /{root,sbin,srv,tmp,usr/local,var,opt}
mkdir -p /media/{floppy,cdrom}
mkdir /usr/{bin,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr
mkdir /usr/share/{doc,info,locale,man}
mkdir /usr/share/{misc,terminfo,zoneinfo}
mkdir /usr/share/man/man{1,2,3,4,5,6,7,8}
mkdir /usr/local/{bin,etc,include,lib,sbin,share,src}
ln -s share/{man,doc,info} /usr/local
mkdir /usr/local/share/{doc,info,locale,man}
mkdir /usr/local/share/{misc,terminfo,zoneinfo}
mkdir /usr/local/share/man/man{1,2,3,4,5,6,7,8}
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}}

Ordner werden in der Voreinstellung mit den Rechten 755 erzeugt, aber das ist nicht bei allen Ordnern erwünscht. Wir nehmen zwei Änderungen vor: eine für den Persönlichen Ordner von root und eine weitere für die Ordner für temporäre Dateien.

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

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

Anmerkung zur FHS-Konformität

Unsere Ordnerstruktur basiert auf dem FHS-Standard (verfügbar unter http://www.pathname.com/fhs/). Zusätzlich zu den oben erstellten Ordnern 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 Ordner erstellt, die wir für nötig halten.