Download Linux From Scratch - Open Source Software on erdfunkstelle.de
Transcript
Linux From Scratch - Version 6.3
Normalerweise werden Ordner in der Voreinstellung mit den Rechten 755 erzeugt, aber das ist nicht bei allen
Ordnern erwünscht. Nehmen Sie bitte zwei Änderungen vor: eine für den Persönlichen Ordner von root und
eine weitere an den Ordnern für temporäre Dateien.
Die erste Rechteänderung bewirkt, dass nicht jeder den Ordner / root betreten darf—das gleiche würde ein
normaler Benutzer mit seinem Persönlichen Ordner auch tun. 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 (1) in der Bit-Maske 1777.
6.5.1. Anmerkung zur FHS-Konformität
Unsere Ordnerstruktur basiert auf dem FHS-Standard (siehe http:// www. pathname. com/ fhs/). Des Weiteren
erzeugen wir aus Kompatibilitätsgründen symbolische Verknüpfungen für die Ordner man, doc und info.
Viele Programm versuchen leider immer noch, ihre Dokumentation nach / usr/ <ordner> oder / usr/
local/<ordner> anstelle von /usr/share/<ordner> bzw. /usr/local/share/<ordner> zu
installieren.Zusätzlich zu den oben erstellten Ordnern sieht der FHS-Standard auch das Vorhandensein von /
usr/local/games und /usr/share/games vor. Zur Struktur in /usr/local/share macht FHS
keine präzisen Angaben, daher haben wir nur die Ordner erstellt, die wir für nötig halten.
6.6. Erstellen notwendiger Dateien und symbolischer
Verknüpfungen
Einige Programme verwenden einprogrammierte Pfade zu Programmen, die zum jetzigen Zeitpunkt aber noch
nicht installiert sind. Deshalb erstellen Sie eine Reihe symbolischer Links, die im weiteren Verlauf des Kapitels
beim Installieren der restlichen Software durch echte Dateien ersetzt werden:
ln
ln
ln
ln
ln
-sv
-sv
-sv
-sv
-sv
/tools/bin/{bash,cat,echo,grep,pwd,stty} /bin
/tools/bin/perl /usr/bin
/tools/lib/libgcc_s.so{,.1} /usr/lib
/tools/lib/libstdc++.so{,.6} /usr/lib
bash /bin/sh
Ein korrekt eingerichtetes Linux hält in /etc/mtab eine Liste der derzeit eingebundenen Dateisysteme vor.
Ist die Datei nicht vorhanden, so wird sie beim ersten Einbinden eines Dateisystems automatisch erzeugt. Da
wir aber innerhalb der chroot-Umgebung keine Dateisysteme einbinden werden, müssen wir die Datei selbst
erstellen, weil einige Programme deren Vorhandensein voraussetzen:
touch /etc/mtab
Damit root sich am System anmelden kann und damit der Name „root“ der richtigen Benutzer-ID zugeordnet
werden kann, müssen die entsprechenden Einträge in /etc/passwd und /etc/group vorhanden sein.
Erzeugen Sie /etc/passwd mit dem folgenden Kommando:
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
EOF
Das tatsächliche Passwort für root (Das „x“ ist hier nur Platzhalter) wird erst später gesetzt.
Erstellen Sie /etc/group mit dem folgenden Kommando:
cat > /etc/group << "EOF"
root:x:0:
bin:x:1:
sys:x:2:
81