Die Datei /etc/fstab wird während des Boot-Vorganges von einem Init-Skript durch das Kommando mount eingelesen und Zeile für Zeile umgesetzt. Hier finden sich Einträge für Gerätedateien, CD-ROM-Laufwerke und Festplattenpartitionen, auf die Sie sofort nach gelungener Systeminitialisierung zugreifen können.
Durch die Konfiguration in der Datei weist der Administrator den Laufwerken und Partitionen die entsprechenden Mount-Points zu, bestimmt das Dateisystem oder reguliert über die Zugriffsbits die Rechte der Anwender. Schauen wir uns die Einstellungen in Listing 1 einmal aus der Nähe an.
Listing 1
# Die folgenden beiden Zeilen erläutern und helfen bei der Zuordnung # (fs_spec) (fs_file) (fs_vfstype) (fs_mntops) (fs_freq) (fs_passno) # [1] [2] [3] [4] [5] [6] /dev/hda1 /boot ext2 defaults 1 2 /dev/hda2 / ext2 defaults 1 1 proc /proc proc defaults 0 0
Zuerst springt die Gliederung in sechs Spalten ins Auge. Die erste Spalte (fs_spec) zeigt den Namen der Gerätedatei, die zur Partition gehört. In der zweiten Spalte (fs_file) steht der Mount-Point. Er bezeichnet den Ort, an dem das Medium im Verzeichnisbaum eingehängt wird.
Mit der dritten Spalte (fs_vfstype) definieren Sie den Typ des Dateisystems. In Tabelle 1 haben wir eine Auswahl der zur Verfügung stehenden Systemtypen zusammengefasst.
Dateisystemtypen
auto
|
Dateisystem automatisch zuordnen |
ext2
|
ext2-Dateisystem |
ext3
|
ext3-Dateisystem |
reiserfs
|
Reiser-Dateisystem |
jfs
|
IBMs Journaling Filesystem |
minix
|
Minix-Dateisystem |
vfat
|
Windows-95-, Windows-98- oder DOS-Dateisystem |
ntfs
|
Windos-NT/2000/XP-Dateisystem |
msdos
|
MS-DOS-Disketten/Partitionen |
umsdos
|
MS-DOS mit Unix-Zusätzen |
hpfs
|
OS/2-Dateisystem |
xiafs
|
Xia-Dateisystem |
swap
|
Swap-Dateien/Partitionen |
usbdevfs
|
USB-Geräte-Verwaltung |
devpts
|
Pseudo-Terminals |
proc
|
Prozessverwaltung |
iso9660
|
DVDs/CD-ROMs |
udf
|
Universal Disk Format (DVDs) |
nfs
|
Network File System |
smbfs
|
Server Message Block Protokoll |
ignore
|
(ignoriert Partition) |
Die Angaben der vierten Spalte (fs_mntops) legen den Zugriff auf den Datenträger fest. Wie Sie in Listing 1 sehen, dürfen Sie mehrere Optionen, durch Kommata getrennt, in dieser Spalte angeben.
Auch in der Kommandozeile behalten diese Anweisungen ihre Gültigkeit, wenn Sie sie dem Befehl mount als Parameter mit auf den Weg geben. Die Manual-Seiten dieses Befehls liefern Ihnen zudem detaillierte Informationen zu den unterschiedlichen Parametern. Einen ersten Überblick der Mount-Optionen liefert Tabelle 2.
Mount-Optionen
defaults
|
Voreinstellung: rw, suid, dev, exec, auto, nouser und async |
exec
|
Erlaubt die Ausführung von Binaries und Skripten |
noexec
|
Verbietet die Ausführung von Binaries und Skripten |
user
|
Gestattet jedem User das Mounten des Dateisystems |
noauto
|
Wird erst durch den Befehl mount eingehängt
|
ro
|
Mount des Dateisystems als read-only |
rw
|
Mount des Dateisystems als read-write |
umask=
|
Inverse Bitmaske der Zugriffsrechte (z. B. für FAT-Dateisystem) |
uid=
|
User-Zugehörigkeit der Daten |
gid=
|
Gruppenzugehörigkeit der Daten |
sync
|
Synchrone IO-Operationen |
Das Programm dump, das ein Backup der Daten auf einem Ext2-Filesystem anfertigt, nutzt die Angaben in der der fünften Spalte (fs_freq) zur Konfiguration. Einen Einblick in die Funktionsweise des Backup-Tools bietet die Manpage von dump.
Wie die fünfte Spalte wird auch die letzte von einem Programm ausgelesen. In diesem Fall sagt sie dem Kommando fsck, wie die Konsistenz des Dateisystems zu prüfen ist. Das Root-Verzeichnis wird mit einer 1 markiert, die restlichen Dateisysteme bekommen eine 2. Dateisysteme wie zum Beispiel CD-ROMs, bei denen sich eine Fsck-Kontrolle erübrigt, erhalten den Wert 0.
Machen wir uns nun daran, die rudimentäre /etc/fstab aus Listing 1 um einige Beispiele zu ergänzen.
CD-ROM und DVD
Anhand des Inhalts unserer zwei Tabellen ist die Zeile schnell gestrickt, um das CD-ROM-Laufwerk einzuhängen – zumindest für den Heimanwender mit einem Stand-Alone-PC –, wie wir sehen werden:
/dev/cdrom /cdrom auto ro,noauto,user,exec 0 0
Nehmen wir die Zeile abschnittsweise auseinander. Der Eintrag /dev/cdrom bezeichnet den Device-Namen des Laufwerks. Dabei ist /dev/cdrom in diesem Fall ein symbolischer Link, der auf die eigentliche Gerätedatei (z. B. /dev/hdc) zeigt. Das Feld /cdrom gibt den MountPoint im Verzeichnisbaum an.
Hier wird das Laufwerk direkt im Root-Verzeichnis unter /cdrom eingebunden. Manche Distributionen bündeln die Mount-Points für Wechselmedien beispielsweise unter /mnt oder /media.
Anstelle von auto könnten sie iso9660 wählen, falls Sie Probleme mit einigen DVDs haben. Die Option ro gestattet ausschließlich den lesenden Zugriff auf das gemountete Medium.
Der Eintrag noauto bindet das Laufwerk nicht nach dem Systemstart ein, sondern lässt es auf ein explizites mount /cdrom in der Shell warten. Durch die Option user ist der Mount-Befehl jedem Benutzer erlaubt. Ähnliches gilt für das Ausführen von Programmen auf der CD durch die Anweisung exec; ist noexec gesetzt, können Programme selbst dann nicht gestartet werden, wenn Sie die nötigen x-Attribute besitzen. Ob Sie die zwei zuletzt genannten Möglichkeiten ausschöpfen, liegt allein in Ihrer Vorstellung vom sicheren Administrieren.
Auf ähnliche Weise können Sie den Eintrag für ein Diskettenlaufwerk vornehmen:
/dev/fd0 /floppy auto noauto,user 0 0
In diesem Fall wurde die Option ro weg gelassen, weil die Diskette ja beschreibbar sein soll. Aber es wurde auch das exec entfernt, so dass Anwender von der Diskette keine Programme starten dürfen.
Von Prozessverwaltung bis USB
Viele Informationen aus der internen Verwaltung des Kernels bildet das System als Dateien ab. So verhält es sich mit dem proc-Dateisystem und den USB-Devices (usbdevfs). Basis für die Arbeit mit Pseudo-Terminals ist devpts.
All diese Dateien bilden eine Schnittstelle, an der Emulatoren wie z. B. xterm ansetzen. Damit nach dem Systemstart alle Geräte und Prozesse reibungslos funktionieren, müssen Sie die drei virtuellen Dateisysteme zuvor in die Konfiguration aufnehmen:
devpts /dev/pts devpts defaults 0 0 usbdevfs /proc/bus/usb usbdevfs defaults 0 0 proc /proc proc defaults 0 0



