SelfLinux Grundlagen Zugriffe auf Laufwerke Abschnitt 2 | SelfLinux-0.13.0

| Zugriffe auf Laufwerke | Autor Formatierung GFDL

#### 3 Verbreitete Dateisystem-Typen bei Wechselmedien

Wenn Sie oder der Systemverwalter für ein Gerät keinen Eintrag in der /etc/fstab vorgenommen haben, so müssen Sie den Typ - wie oben gesehen - mittels der -t Option beim Einhängen angeben. Eine Liste der insgesamt verfügbaren Typen liefert die Manpage von mount. Derzeit werden folgende Typen unterstützt: adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, xiafs. Von diesen Typen kommt für Wechelmedien nur eine kleine Auswahl in Betracht. Wir wollen hier nur auf die meistverwendeten Typen für CDs und DVDs sowie Disketten für Floppy- und ZIP-Laufwerke eingehen.

Das übliche Format für CDs und DVDs wird durch die ISO Norm 9660 standardisiert. Diese Norm definiert drei Konformitätsebenen. Ebene 1 ist am restriktivsten, Ebene 3 am wenigsten restriktiv. Des weiteren gibt es verschiedene Erweiterungen (sogenannte Extensions), von denen Rock Ridge und Joliet die bekanntesten sind. Diese Erweiterungen heben einige der Restriktionen von ISO 9660 auf und werden daher nicht selten verwendet. Linux unterstützt sowohl die Ebenen 1 bis 3 als auch die Erweiterungen Rock Ridge und Joliet. Beim Einhängen geben Sie unabhängig von der verwendeten Ebene oder Erweiterung einfach die Option -t iso9660 an.

Disketten sind normalerweise mit einem MS-DOS-Dateisystem formatiert. Der Parameter lautet hier also -t msdos. Unix-Disketten können gelegentlich auch mit einem Minix-Dateisystem formatiert sein. Verwenden Sie dann -t minix. Die Disketten für ZIP-Laufwerke sind meist mit einem FAT32-Dateisystem formatiert, für das die Option -t vfat verwendet wird.

#### 4 Die Datei /etc/fstab

Damit man schnell Geräte an festgelegten Stellen einhängen kann, kann man sich die Arbeit erleichtern. Wie schon oben gesehen funktioniert die Zeile mount /mnt/cdrom nicht immer. Damit immer wiederkehrende Geräte und Mountpunkte nicht immer komplett angegeben werden müssen, kann man sich die Datei /etc/fstab zu Hilfe nehmen.

fstab

user@linux ~$ cat /etc/fstab LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0

Um das CD-ROM-Laufwerk jetzt immer mittels

user@linux ~$ mount /mnt/cdrom

oder

user@linux ~$ mount /dev/cdrom

(auch die direkte Angabe der Gerätedatei ist also möglich, wenn ein Eintrag in /etc/fstab existiert) mounten zu können, tragen Sie einfach folgende Zeile in /etc/fstab ein:

/dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0

Hierfür benötigen Sie natürlich Systemverwalter-Rechte an dem betreffenden Rechner. Auf weitere Berechtigungsfragen gehen wir noch kurz im nächsten Abschnitt ein.

#### 5 Rechte - Wer darf mounten?

Auf Produktiv-Systemen ist das Mounten der Laufwerke meist nur root gestattet. Auf Systemen, die weniger sicherheitsrelevant sind, können häufig auch Standardbenutzer mounten. Dies ist dann aufgrund eines Eintrages in der /etc/fstab möglich. Wir möchten uns nun einen ersten Überblick in die Art der Vergabe von Berechtigungen beim Einhängen von Geräten verschaffen.

Grundsätzlich gilt: Ist für ein Gerät kein Eintrag in der /etc/fstab enthalten, so darf nur root dieses Gerät einhängen. Gibt es für das Gerät einen Eintrag in der /etc/fstab, so muss dort explizit die Berechtigung vergeben werden. Dies geschieht in der Liste der Optionen, welche in der vierten Spalte der /etc/fstab eingetragen wird. Diese Liste (als Separator zwischen den einzelnen Optionen dient ein Komma) muss dann einen der Einträge user oder users enthalten. Wir wiederholen die oben schon gezeigt Zeile als Beispiel:

/dev/cdrom /mnt/cdrom iso9660 noauto,user,ro 0 0

Die anderen Optionen interessieren uns nicht, aber der Eintrag user zwischen noauto und ro ermöglicht es auch Standardbenutzern, das CD-ROM-Laufwerk einzuhängen. Das Aushängen des Gerätes ist dann übrigens nur dem Benutzer erlaubt, der das Gerät zuvor eingehängt hat. Wenn Sie diese Einschränkung nicht wünschen, tragen sie als Option users an Stelle von user ein. Das Gerät kann dann auch von Benutzern wieder ausgehängt werden, die das Einhängen nicht selbst vorgenommen haben. Mit diesen beiden Optionen sind übrigens die Optionen nouser und owner verwandt. Ersteres schließt Standardbenutzern explizit vom Einhängen aus. Die Option owner ermöglicht es dem Besitzer der Gerätedatei, das Gerät einzuhängen. Die Eigentümerschaft an der Datei wird in diesem Fall explizit an den betreffenden Benutzer vergeben.

#### 6 Mount wieder lösen und Medium freigeben

Wir haben oben bereits vom Wieder-Aushängen eines Gerätes gesprochen. Hierzu wird der Befehl umount benutzt. Bei CD-ROM-Laufwerken macht es sich besonders bemerkbar, wenn man das Aushängen vergisst. Wenn ein CD-ROM-Laufwerk gemountet ist, wird der eine oder andere schon mal vergeblich den Eject-Knopf gedrückt haben. Das Laufwerk ließ sich nicht öffnen, und die CD wurde nicht ausgegeben. Um die CD-Ausgabe zu ermöglichen, muss das Laufwerk zunächst wieder aus dem Dateibaum ausgehängt werden.

Auch Disketten sollten Sie vor dem Entfernen aus dem Laufwerk zunächst mittels umount wieder aushängen. Es ist ansonsten nicht sichergestellt, dass alle Schreib- und Lesezugriffe, die auf dem Laufwerk ausgeführt werden sollten, tatsächlich auch erfolgt sind. Dies hängt damit zusammen, dass Linux solche Zugriffe aus Effizienzgründen puffert. Wenn Sie beispielsweise eine Datei auf einer Diskette abspeichern, so erfolgt der Schreibzugriff auf die Diskette nicht notwendigerweise sofort. Das System könnte beispielsweise gerade mit wichtigeren Aufgaben beschäftigt sein und daher den Schreibzugriff verzögern. Wenn Sie in diesem Augenblick einfach die Diskette aus dem Laufwerk entfernen, kann die betreffende Datei unvollständig oder inkonsistent beschrieben worden sein. Um dies zu vermeiden, hängen Sie also vor dem Entfernen die Diskette zunächst mittels umount aus dem Dateibaum aus. Linux wird dann alle ausstehenden Zugriffe tätigen und das Laufwerk aushängen. Die Diskette kann dann immer in konsistentem Zustand entnommen werden.

Ein Laufwerk kann übrigens nur dann ausgehängt werden, wenn es nicht verwendet wird. Zur Verwendung eines Laufwerkes gehört es auch, wenn man sich in einer Shell in einem Verzeichnis befindet, die zum Dateisystem des Laufwerkes gehört. Versucht man in einem solchen Fall, das Laufwerk auszuhängen, so wird man eine Fehlermeldung der folgenden Art erhalten:

user@linux ~$ umount /mnt/cdrom umount: /mnt/cdrom: Das Gerät wird momentan noch benutzt

Der betreffende Benutzer muss dann zunächst sein aktuelles Arbeitsverzeichnis wechseln, bevor das Aushängen unternommen werden kann. Diese Situation kann auch versteckter sein, indem beispielsweise ein Programm auf eine Datei des eingehängten Laufwerkes zugreift. Die Datei muss dann innerhalb dieses Programmes geschlossen werden, bevor das Laufwerk ausgehängt werden kann.

#### 7 Automatisches Einhängen

Bei den neueren Distributionen geschieht das Einhängen von CD-ROM-Laufwerken häufig automatisch. Das Einlegen eines Datenträgers wird vom System erkannt und anhand der Angaben in /etc/fstab eingehängt. Der Benutzer sieht hier nicht mehr, was genau im Hintergrund läuft. Dies ändert jedoch nichts an den prinzipiellen Mechanismen, die wir oben beschrieben haben.

#### 8 Weitere Information

Spezielle Information zur Verwendung von ZIP-Laufwerken finden Sie im Kapitel ZIP-Laufwerke.