Umgang mit Dateisystemen für Einsteiger
Unter Linux werden nicht wie bei anderen PC-Betriebssystemen die einzelnen Partitionen/Laufwerke mit Buchstaben gekennzeichnet. Das kann für Linux-Anfänger in Stress ausarten. Für die erfahreneren Linuxer ist interessant, wie sie auf einem FAT-System Rechte oder Besitzer festlegen können. Beides und vieles mehr werde ich in diesem Artikel über den Zugriff auf Partitionen beschreiben.
Dateisystemspezifische Mount-Optionen
Jetzt interessiert Sie bestimmt, wie Sie auf einem FAT-System einen Besitzer und Rechte für die Dateien festlegen können. Dazu gibt es die Option uid=user_id. user_id ist dabei die Nummer des Benutzers. Zum Beispiel hat bei mir rvb die Nummer 500. Mit dieser Option lassen sich alle Dateien einem User übergeben. Einzelne Dateien dem und dem Benutzer zu geben, ist nicht möglich. Änderungen über owner, group oder Permissions sind immer global auf dem Dateisystem. Die Rechte setzt man mit einer Umask. Eine Umask ist eine Oktal-Zahl, die kennzeichnet, welche Rechte NICHT gesetzt sind. Wollen wir auf dem ganzen Dateisystem die Rechte 644 (rw-r--r--) dann wäre die Umask 777-644 = 133 :-). Also benutzen wir als Mount-Option umask=133. Ist ganz einfach, oder? Um das Dateisystem ruhigzustellen, damit es nicht mehr meckert, wenn man versucht auf ihm chmod oder chown durchzuführen, benutzt man einfach die quiet Mount-Option.
Auf dem iso9660-Dateisystem der CD-ROMs können Sie ebenfalls mit uid=user_id und gid=group_id den Besitzer und die Gruppe aller Dateien ändern. Die Rechte geben sie hier mit der mode=oktal-mode Mount-Option an, wobei hier die richtigen Rechte angegeben werden und nicht die Umask (also 644 und nicht 133).
Die Datei /etc/fstab
Mit dem, was oben so steht, ist es sehr lästig, immer diese Mount-Optionen, das Device und dazu noch das Verzeichnis anzugeben, wohin es gemountet werden soll. Wir können auch nicht veranlassen, daß verschiedene Dateisysteme schon beim Booten gemountet werden, und Normal-Benutzer (nicht-Root) können auch keine Dateisysteme mounten. Dazu gibt es die Datei /etc/fstab, wo man das alles eintragen kann. Sehen wir uns das am Beispiel meiner /etc/fstab mal an:
/dev/hdb3 / ext2 defaults 1 3 /dev/hdb1 /boot ext2 defaults,ro 1 4 /dev/hdb6 /home ext2 defaults 1 1 /dev/hdd /mnt/cdrom iso9660 defaults 0 0 /dev/hdb5 /usr ext2 defaults,ro 1 2 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 /dev/ram0 /tmp ext2 defaults 1 5 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 /dev/hdb2 swap swap defaults 0 0 /dev/hda1 /mnt/vater vfat user,noexec,nodev,nosuid,noauto 0 /dev/hdc1 /mnt/qnx qnx4 user,noauto,defaults 0 0 negoyl:/usr/killerqueen /mnt/negoyl nfs defaults 0 0
Wir können also Folgendes daraus erahnen:
In der ersten Spalte stehen die Geräte, die gemountet werden sollen. Die zweite Spalte kennzeichnet die Mountpoints, die dritte das Dateisystem. Wobei bei auto der Dateisystem-Typ automatisch erkannt wird. Die vierte Spalte sind Mount-Optionen, so wie sie oben aufgeführt sind. Nochmal die wichtigen hier: Alle, deren Parameterliste user enthält, sind von Normal-Benutzern mountbar. Der noauto-Eintrag bewirkt, daß das Dateisystem beim Start nicht gemountet wird, die anderen werden automatisch gemountet. Die fünfte Spalte setzt die Priorität beim Backup-Programm dump, die sechste Spalte ist die Priorität für das jeweilige Checkprogramm des Dateisystems. So würde in der obigen fstab zuerst das Home-Verzeichnis geprüft, dann /usr und so weiter. Nach der obigen Konfiguration kann ich das Diskettenlaufwerk jetzt mit mount /mnt/floppy mounten, die QNX-Partition mit mount /mnt/qnx. Alles, wo nicht in der Optionen-Liste steht, wird automatisch gemountet.

