mount
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Fehlerhafte Anleitung
Diese Anleitung ist fehlerhaft. Wenn du weißt, wie du sie ausbessern kannst, nimm dir bitte die Zeit und bessere sie aus.
Anmerkung: Das Verhalten des Befehls mount
bei der Auswertung der Optionen user
und users
hat sich ab Ubuntu 22.04 geändert. Siehe Manpage zu mount und Diskussion in der Artikeldiskussion zu NTFS-3G.
⚓︎ In Linux müssen auf internen oder externen Datenträgern befindliche Dateisysteme in das System eingebunden werden. Man spricht hier auch von "Aufsetzen", "Einhängen" oder "Mounten" eines Dateisystems.
Bei den Desktop-Umgebungen GNOME und KDE ist das Einhängen von Datenträgern per Mausklick möglich. Externe, über USB angeschlossene Datenträger werden bei jedem Systemstart oder beim Einstecken im laufenden Betrieb ("HotPlug") erkannt und eingebunden (siehe udev). Auch andere Datenträger werden automatisch in das System eingebunden, und man braucht sich normalerweise nicht selbst darum zu kümmern.
Eine gewisse Grundkenntnis zu mount ist jedoch durchaus vorteilhaft, da z.B. nicht immer alle Windowslaufwerke richtig eingebunden werden. Außerdem unterstützen nicht alle Live-CDs (Rettungs-CDs) das automatische Einbinden von Laufwerken bzw. Datenträgern.
"mount" (einhängen) und "umount" (aushängen) werden über das Paket mount bereitgestellt und sind Bestandteil jeder Standardinstallation.
Hinweis:
In manchen Fällen verwendet mount
weitere Hilfsprogramme mit teilweise eigenen Optionen. Näheres dazu findet man in der Man-Page von mount.
Statisches, temporäres und dynamisches Einbinden¶
Statisches Einbinden¶
Partitionen, die beim Installieren von Ubuntu bereits verfügbar sind, können durch einen automatisch erstellten Eintrag in der Datei /etc/fstab so ins System eingebunden werden, dass sie immer gleich nach dem Systemstart verfügbar sind. Entsprechende Einträge können auch nachträglich noch von Hand vorgenommen werden. Man spricht hier von "statischem Einbinden" oder von "statischem Mounten".
Temporäres Einbinden¶
Von "temporärem Einbinden" oder "temporärem Mounten" spricht man dann, wenn der Datenträger im laufenden Betrieb nach Bedarf ein- und wieder ausgehängt werden kann. Je nach Gerät sind unterschiedliche Möglichkeiten sinnvoll:
Wechseldatenträger (z.B. CD-ROM, DVD, Disketten): Hier sollte das Einbinden per /etc/fstab und Nutzen der Option
noauto
erfolgenAndere Datenträger: Hierbei kann man für alle nicht benötigten Datenträger auf einen Eintrag in /etc/fstab verzichten. Zu diesen Datenträgern gehören z.B. nicht benötigte Festplattenpartitionen anderer Betriebssysteme/Distributionen oder externe Festplatten.
Dynamisches Einbinden¶
Die in den Desktop-Umgebungen GNOME, Unity, Xfce und LXDE standardmäßig verwendeten Dateimanager bieten die Möglichkeit, noch nicht eingehängte Dateisysteme, für die auch kein vorbereitender Eintrag in /etc/fstab besteht, beim ersten Zugriffsversuch "mittels Mausklick" automatisch einzuhängen. Man spricht dann von "dynamischem Einbinden" oder "dynamischen Mounten". Dies geschieht dann jedoch nicht mit Root-Rechten mittels "mount", sondern mit dem virtuellen Dateisystem GVFS im Userspace. Dies ist Gegenstand eines eigenen Artikels gio mount.
Auch die Desktop-Umgebung KDE bietet ähnliche Möglichkeiten zum dynamischen Einbinden.
Automount¶
Von "Automount" spricht man dann, wenn Partitionen bei einem Zugriffsversuch automatisch temporär eingebunden (gemountet) und dann auch automatisch wieder ausgehängt werden, wenn über eine bestimmte Zeit kein Zugriff mehr erfolgt. Dies ist mit Zusatzprogrammen (z.B. Autofs) möglich.
Nutzung von mount¶
Anzeige der eingehängten Datenträger¶
Wird der Befehl mount
alleine eingegeben, werden die eingehängten Datenträger zeilenweise ausgegeben. Mit der Option -l
wird am Ende jeder Zeile in eckigen Klammern zusätzlich das Label angezeigt (falls vorhanden):
mount -l
1 2 3 4 5 6 7 8 9 | /dev/sda10 on / type ext3 (rw,errors=remount-ro) proc on /proc type proc (rw) none on /sys type sysfs (rw,noexec,nosuid,nodev) udev on /dev type tmpfs (rw,mode=0755) [... weitere systemrelevante Dateisysteme ...] /dev/sda11 on /home type ext3 (rw) [User904] /dev/sda5 on /media/Daten type vfat (rw,utf8,umask=007,gid=46) [DATEN] /dev/sdc1 on /media/disk type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed,flush) [] /dev/sr0 on /media/cdrom0 type iso9660 (ro,nosuid,nodev,utf8,user=kaputtnik) [Debian 5.0.3 i386 Bin-1] |
Zeile 6 zeigt z.B die eingehängte /home-Partition, Zeile 8 einen angeschlossenen und eingehängten USB-Stick und in der letzten Zeile eine eingelegte CD.
Hinweis:
Es ist möglich, dass Dateisysteme, die auf eine andere Art (d.h. nicht über den Befehl mount oder einen Eintrag in /etc/fstab) eingebunden wurden, dabei nicht angezeigt werden. Vielleicht hilft dann aber Systeminformation ermitteln weiter.
Datenträger einhängen¶
Syntax¶
Die Syntax von mount hängt davon ab, ob für den Datenträger ein Eintrag in /etc/fstab besteht oder nicht; von den Optionen in diesem Eintrag hängt es ggf. auch ab, ob für die Befehle Root-Rechte (siehe sudo) nötig sind. Besteht kein Eintrag in der /etc/fstab, müssen in der mount-Befehlszeile alle Parameter, das Gerät und der Einhängepunkt angegeben werden. Da außerdem in diesem Fall grundsätzlich Root-Rechte nötig sind, lautet die Syntax von mount dann folgendermaßen [1]:
# allgemein: sudo mount [Parameter] Gerät Einhängepunkt # Beispiel: sudo mount -t ntfs -o umask=007,gid=046,uid=0,nls=utf8 /dev/sda1 /media/winxp
Wie das Beispiel zeigt, kann dies eine recht lange Befehlszeile ergeben, die dann bei jedem temporären Einbinden einzugeben ist. Bei häufiger gebrauchten Geräten ist es deshalb besser, das temporäre Einbinden durch einen Eintrag in /etc/fstab vorzubereiten, bei dem das automatische Einbinden beim Systemstart über die Option noauto
unterbunden wird. Alle Parameter werden dann dort fest eingetragen. Mit einer der Optionen user
oder users
kann zudem das Einbinden ohne Root-Rechte erlaubt werden:
#Beispieleintrag in /etc/fstab: UUID=8A4831E44831CFA5 /media/winxp ntfs umask=007,gid=46,uid=0,nls=utf8,noauto,users 0 0
Die obige Befehlszeile vereinfacht sich dann zu
# allgemein: mount <Einhängepunkt> #Beispiel: mount /media/winxp
Befehlszeilenoptionen¶
Parameter¶
Eine vollständige Übersicht zu den Parametern findet man in den Man-Pages zu mount. Die folgende Tabelle führt nur die gängigsten auf:
Parameter von mount | |
Parameter | Beschreibung |
-a | Es werden alle Geräte bzw. Dateisysteme eingehängt, die in der Datei /etc/fstab ohne die Option noauto aufgeführt sind. Dies wird standardmäßig beim Systemstart durchgeführt. |
-o Option | Übergibt weitere Optionen an mount , mit denen das Verhalten des eingehängten Dateisystems sehr detailliert festgelegt werden kann. |
-B | Remount von Verzeichnissen so, dass sie an beiden Orten verfügbar sind (entspricht --bind oder -o bind ). |
-M | Remount von Verzeichnissen so, dass sie nur noch am neuen Ort verfügbar sind (entspricht --move oder -o move ). |
-t Typ | Es wird der Typ des einzuhängenden Dateisystems definiert. mount kennt alle gängigen Dateisysteme sowie einige "Exoten". Einige Typen sind z.B.: ext, ext2, ext3, ext4, reiserfs, nfs, iso9660 (für CDs), udf (für DVDs), vfat (=FAT32), NTFS uvm. Eine vollständige Übersicht findet man in der Man-Page. |
-f | Simuliert die Durchführung von mount, der Befehl wird nicht wirklich ausgeführt. |
Gerät¶
Hinweis:
Dieser Abschnitt hat keine Gültigkeit für das Einbinden von einzelnen Ordnern.
Für <Gerät>
(engl. "device") kann eine Gerätedatei angegeben werden, mittels derer auf das einzuhängende Dateisystem zugegriffen werden kann. Die vom System erkannten und benutzbaren Datenträger sind dabei als Datei im Verzeichnis /dev aufgeführt, z.B. /dev/sda1 oder /dev/scd0.
Eine Einführung zu den Geräten unter Linux bieten die Artikel Datenverwaltung und - spezieller - Datenträger.
Während man beim temporären Einbinden <Gerät>
wie im obigen Beispiel angibt, verwendet man für die Einträge in der /etc/fstab vorzugsweise die UUID oder das Label des entsprechenden Datenträgers.
Mit dem Befehl
sudo blkid
werden für alle verfügbaren Festplatten-Partitionen sowohl der Eintrag in /dev als auch die UUID und, falls vorhanden, das Label angezeigt (siehe auch blkid).
Einhängepunkt¶
Um ein Dateisystem einhängen zu können, muss zuerst ein Einhängepunkt (mount point) vorhanden sein. Dies ist ein zunächst leerer Ordner, der sich prinzipiell in jedem Verzeichnis befinden kann. Über diesen Einhängepunkt wird dann später auf das eingehängte Dateisystem zugegriffen. Weil außer in /home/$USER neue Ordner nur mit Root-Rechten angelegt werden können, gibt man folgende Zeile in einem Terminal ein:
#allgemein: sudo mkdir <Einhängepunkt> Beispiel: sudo mkdir /media/winxp
Unter Ubuntu sind die Verzeichnisse /media oder /mnt üblich, wobei unter GNOME die unter /media eingehängten Dateisysteme auch auf dem Desktop angezeigt werden.
Die Namen der Einhängepunkte sollten den darauf einzuhängenden Datenträger möglichst beschreiben. Dies soll verhindern, dass versehentlich mehrere Datenträger auf denselben Einhängepunkt eingehängt werden. Sollte dies geschehen, so kann auf den ersten Datenträger nicht mehr zugegriffen werden, da er durch das zweite Dateisystem überlagert wird!
Eine Besonderheit bei Netzwerk-Dateisystemen: In manchen Fällen verwendet der Befehl mount
dort Hilfsprogramme (z.B. mount.cifs), die verlangen, dass der Mountpunkt im Besitz desjenigen Benutzers ist, der einhängt.
Dateisysteme aushängen¶
Beim Herunterfahren („Shutdown“) des Systems werden alle eingebundenen internen und externen Datenträger automatisch korrekt ausgehängt. Manchmal möchte man jedoch einen Datenträger im Betrieb wieder aushängen. Insbesondere bei externen Datenträgern ist dies nötig, wenn man sie bei laufendem Rechner entfernen möchte.
umount¶
Um ein Dateisystem wieder auszuhängen, existiert der Befehl umount
. Dabei sind genau die gleichen Rechte nötig, mit denen das Dateisystem auch eingebunden wurde. Das automatische Einhängen externer Geräte geschieht meist ohne, das Einhängen von Hand dagegen häufig mit Root-Rechten. Im letzteren Fall lautet die Befehlszeile:
# Allgemein: sudo umount <Gerät> # alternativ sudo umount <Einhängepunkt> # Beispiel: sudo umount /dev/sda1
Aushängen via GUI¶
Datenträger und Geräte, die ohne Root-Rechte eingehängt wurden, kann man in den grafischen Oberflächen GNOME und KDE auch per Mausklick aushängen.
Dateisystemrelevante Rechte¶
Sind auf einem Datenträger bereits Dateien und Ordner mit eigenen Rechten vorhanden, so hängt es vom Dateisystem ab, wie diese berücksichtigt werden:
Linux-Dateisysteme (z.B. ext2, ext3, ext4, ReiserFS): Bestehende Rechte bleiben erhalten. Nach dem Einhängen können die Rechte in einem solchen Dateisystem mit den Befehlen chown und chmod verändert werden.
Windows-Dateisysteme (z.B. VFAT, exFAT, NTFS):
Bei VFAT (FAT32) und exFAT ist eine echte Rechteverwaltung nicht möglich; eine solche wird deshalb lediglich simuliert. Hierfür sind besondere Mountoptionen vorgesehen. Die so festgelegten (simulierten) Rechte gelten dann immer für das gesamte Dateisystem. Die Zugriffsrechte lassen sich für einzelne Dateien zwar weiter einschränken, aber nicht erweitern. Solche Änderungen sind nur temporär, d.h., sie verfallen mit dem Aushängen.
NTFS wird standardmäßig wie VFAT behandelt. Der in Ubuntu verwendete Dateisystem-Treiber NTFS-3G erlaubt es aber auch, über die Mount-Optionen
permissions
undacl
auf NTFS-Partitionen eine echte (beständige) Rechteverwaltung einzurichten, mit der sich diese wie Linux-Dateisysteme verhalten.
Mehr zu den Besitz- und Zugriffsrechten dieser Dateisysteme findet sich im Artikel Windows-Partitionen einbinden.
Optionen¶
Die Man-Page listet alle möglichen Optionen auf, einen Überblick gibt die folgende Tabelle. Die mit (*) gekennzeichneten Optionen sind nur bei Einträgen in /etc/fstab verwendbar:
Optionen | |
Option | Beschreibung |
defaults | Das Gerät wird mit folgenden Optionen eingehängt: rw , suid , dev , exec , auto , nouser und async . |
atime | Access-TIME, Zugriffszeiten in der Inodetabelle speichern. Soll nicht mehr verwendet werden, sondern statt dessen strictatime . |
noatime | Gegenteil zu atime . Wer keine Zugriffszeiten wissen möchte, kann mit dieser Option Festplattenaktivitäten reduzieren, da nicht jedes Mal bei einem Dateizugriff die Inodetabelle aktualisiert werden muss. |
relatime | Modifiziertes atime um die fsync -Zugriffe zu reduzieren. Seit Linux Kernel 2.6.30 wird hiermit die Zugriffszeit nur noch aktualisiert, wenn die aktuelle älter als die Inhalts- oder Statusänderungszeit oder älter als 1 Tag ist. Diese Einstellung ist bei vielen Dateisystemen die Vorgabe für den Umgang mit der Access-TIME. |
sync | Nach jedem Schreibvorgang wird geflusht, also der Pufferinhalt sofort auf den Datenträger geschrieben. Das ist z.B. bei USB Memory Sticks sehr hilfreich, weil man sie somit nicht manuell aushängen muss (bei Automountsystemen). |
async | Es wird nicht immer direkt auf die Platte geschrieben, sondern es kann auch erst verspätet geschrieben werden (siehe defaults ). Das ist effizienter, wenn z.B. mehrere Dateien gleichzeitig geschrieben werden sollen, kann aber beim Herausziehen von USB-Datenträgern zu Datenverlust führen, wenn vorher nicht ausgehängt wird. |
user (*) | Jeder Benutzer darf das Gerät mounten (hilfreich bei Wechseldatenträgern wie CD, DVD, etc.). Aushängen darf dann nur der Benutzer, der das Gerät eingehängt hat. |
nouser (*) | Nur root kann das Dateisystem ein- und aushängen (siehe defaults ). |
users (*) | Jeder Benutzer darf das Gerät ein- und aushängen. |
auto (*) | Das Dateisystem wird beim Aufruf von mount -a und beim Start automatisch mit eingehängt (siehe defaults ). Standard bei Einträgen in fstab. |
noauto (*) | Gegenteil zu auto . |
acl | Aktivierung der Access Control Lists (kurz ACL) zur Erweiterung des Linux-Rechtesystems. Seit Ubuntu 12.04 in ext3- und ext4-Dateisystemen Standard. |
ro | Das Dateisystem wird nur-lesend (read-only) eingehängt. |
rw | Das Dateisystem wird beschreibbar (read-write) eingehängt (siehe defaults ). |
dev | Gerätedateien auf dem Dateisystem werden interpretiert (siehe defaults ). |
nodev | Gegenteil zu dev . |
exec | Es können Binärdateien auf dem einzuhängenden Dateisystem ausgeführt werden (siehe defaults ). |
noexec | Gegenteil zu exec . |
suid | Es können Programme mit gesetztem SetUID- oder SetGID-Bit auf dem eingehängten Dateisystem ausgeführt werden (siehe defaults ). |
nosuid | Gegenteil zu suid . |
user_xattr | "extended user attributes"; wird z.B. für den calenderserver für erweiterte Dateioptionen benötigt. |
compress | Eine nützliche Option, die "nur" im Dateisystem Btrfs eingesetzt werden kann und in vielen Fällen Dateioperationen beschleunigt. Damit wäre eine Platzersparnis von fast 50% z.B. im /usr/-Verzeichnis möglich, daher optimal für das reine / Systemverzeichnis ohne Homeverzeichnis. Mehr 🇩🇪 |
remount | Aus- und wieder einhängen, um z. B. die Schreibrechte zu entziehen: "remount,ro " |
ssd | Kann "nur" im Dateisystem Btrfs gesetzt werden und dient zur Optimierung einer SSD-Festplatte. |
sw | Swap - Auslagerungsspeicher. |
_netdev | Das einzubindende Dateisystem befindet sich auf einem Device, das Netzwerkzugriff benötigt. Das Einbinden wird daher solange hinausgezögert, bis Netzwerkzugriff besteht. |
loop | Einbinden eines Loop devices, also eines Blockgerätes, welches keinem physischen Gerät entspricht, sondern als zugrundeliegenden Speicher eine Datei nutzt, z.B. ein als Datei vorliegendes Dateisystem-Abbild wie ein CD-Image. |
x-gvfs-show | Laufwerk in der Benutzerschnittstelle anzeigen. |
nofail | Das Laufwerk wird bei "nicht vorhanden sein" (z.B. USB-Sticks, mobile Datenträger) übersprungen. Hilfreich, da sonst der Bootvorgang "hängen" bleibt, wenn der eingetragene Datenträger nicht vorhanden ist. |
Die verschiedenen Optionen können miteinander kombiniert werden, indem man sie mit einem Komma (aber ohne Leerstelle) voneinander getrennt eingibt, also z.B.: -o rw,suid,user
Weiterhin können die o.g. Optionen auch in der /etc/fstab benutzt werden, wobei auto
und noauto
nur dort sinnvoll sind.
Hinweis:
Bei Speichermedien mit einer begrenzeten Anzahl von Schreibzyklen (z.B. ssd, SD-Karte, USB-Stick) kann der Einsatz der Option sync die Lebensdauer verkürzen!
Besonderheiten¶
Windows-Dateisysteme¶
Des Weiteren gibt es noch eine Vielzahl von Optionen, die spezifisch für das jeweilige Dateisystem sind. Für das Einhängen von Windows-Dateisystemen (also FAT (vfat), exFAT und NTFS) sind dies u.a.:
Spezielle Optionen für Windows-Dateisysteme | |
Option | Beschreibung |
umask=MASKE | Setzt indirekt die Zugriffsrechte für alle Dateien, indem die Verbote angegeben werden. MASKE ist eine dreistellige Zahl. Zur Unterscheidung von Dateien und Verzeichnissen kann stattdessen auch fmask und dmask verwendet werden. Wird keine dieser Optionen verwendet, gelten für interne Laufwerke (nicht für dynamisch eingehängte externe USB-Partitionen) folgende Standardwerte: FAT: 022 , NTFS: 000 . Zur Bedeutung der Ziffern siehe Rechte. |
dmask=MASKE | Wie umask , jedoch nur für Ordner |
fmask=MASKE | Wie umask , jedoch nur für Dateien |
uid=UID | setzt den Eigentümer für alle Dateien. "UID " ist hierbei die ID des entsprechenden Benutzers (Zahlenwert oder Name). |
gid=GID | setzt die Gruppenzugehörigkeit für alle Dateien. "GID " ist hierbei ID der entsprechenden Gruppe (Zahlenwert oder Name). |
utf8 | nur für FAT32 (-t vfat ): es wird der UTF-8-Zeichensatz verwendet - kann dann notwendig werden, wenn Dateinamen Sonderzeichen oder Umlaute enthalten |
shortname=mixed | nur für FAT32 (-t vfat ): kurze Dateinamen werden korrekt gespeichert |
codepage=850 | nur für FAT32 (-t vfat ): legt den westlichen Zeichensatz für kurze Dateinamen fest |
flush | nur für FAT32 (-t vfat ): der Puffer-Inhalt wird, wenn möglich, früher übertragen als in der Standard-Einstellung |
nls=utf8 | nur für NTFS: es wird der UTF-8-Zeichensatz verwendet - kann dann nötig werden, wenn Dateinamen Sonderzeichen oder Umlaute enthalten. Ist beim Treiber NTFS-3G Standard-Einstellung. |
nls=iso8859-1 | alternativer Zeichensatz, falls es trotz UTF-8 zu Darstellungsfehlern kommt |
windows_names | nur für NTFS: Diese Option verhindert, dass Dateien, Verzeichnisse und erweiterte Attribute mit unter Windows nicht erlaubten Namen erstellt werden; entweder, weil sie unerlaubte Zeichen enthalten (die neun Zeichen ” * / : < > ? \ | sowie Zeichen, deren Code weniger ist als 0×20), oder weil das letzte Zeichen ein Leerzeichen oder ein Punkt ist. Existierende einschlägige Dateien, Verzeichnisse und erweiterte Attribute können jedoch gelesen (und umbenannt) werden. Funktioniert nur mit dem Treiber NTFS-3G (in Ubuntu Standard). |
permissions | nur für NTFS: Auf der NTFS-Partition wird für Linux eine Verwaltung der UNIX-Dateirechte eingerichtet. Funktioniert nur mit dem Treiber NTFS-3G (in Ubuntu Standard). |
acl | für NTFS: Die Rechte-Verwaltung für Linux auf der NTFS-Partition wird auf die POSIX-ACL ausgedehnt. Funktioniert mit dem Treiber NTFS-3G (in Ubuntu Standard). |
Die Optionen umask
, uid
und gid
simulieren nur für die Dauer der jeweiligen Sitzung eine temporäre Rechteverwaltung. Die Dateirechte werden nicht wirklich auf der Partition eingetragen. Die Optionen permissions
und acl
erzeugen hingegen auf der Partition eine echte, permanente Rechteverwaltung. Diese wird jedoch erst durch User-Mapping mit der Rechteverwaltung unter Windows kompatibel. Die Optionen permissions
und acl
überschreiben ggf. die Optionen umask
, uid
und gid
.
Hinweis:
Zum Einbinden von NTFS-Dateisystemen verwendet Ubuntu als Standard den Treiber NTFS-3G. Ist dieser nicht verfügbar, wird ersatzweise das ältere NTFS-Kernelmodul verwendet. Die NTFS-Partition wird dann unabhängig von den gewählten Optionen ohne Schreibrechte (Modus ro) eingebunden, und eine evtl. vorhandene Rechte-Verwaltung wird ignoriert.
Seit Ubuntu 22.04 gibt es für NTFS ein neues Kernelmodul NTFS3 (nicht zu verwechseln mit NTFS-3G!) mit Schreib- und Lesezugriff. NTFS3 wird von Ubuntu nur dann verwendet, wenn dies mittels mount -t ntfs3
ausdrücklich verlangt wird. Für NTFS3 gelten nicht die speziellen Mount-Optionen von NTFS-3G.
Standard-Rechte-Einstellung bzw. unterschiedliche Rechte für Ordner und Dateien verwenden¶
Bei Windows-Dateisystemen werden per umask
– anders als bei der Standard-Rechte-Einstellung – die Rechte für Ordner und Dateien exakt gleich gesetzt. Möchte man aber für beide unterschiedliche Rechte, z.B. die Standardwerte für die Zugriffsrechte bei neu erstellten Ordnern und Dateien, setzen, so trägt man anstatt z.B.
umask=0022
dann
dmask=0022,fmask=0133
ein.
Mehrbenutzer-Systeme¶
Bei Mehrbenutzer-Systemen hat sich dabei folgende Kombination bewährt:
uid=0,gid=46,umask=007
Wird ein Windows-Dateisystem mit diesen Optionen eingebunden, so ist der Eigentümer aller Dateien der Benutzer "root
" (uid=0
), die Dateien werden der Gruppe "plugdev
" zugewiesen (gid=46
). Der Eigentümer hat keine Einschränkungen, genauso wenig die Mitglieder der Gruppe, und alle anderen haben keine Zugriffsrechte (umask=007
). Dies gilt dann automatisch auch für neu angelegte Dateien oder für Dateien, die auf diese Partition kopiert werden. Es ist zu beachten, dass bei dieser Konfiguration beim Kopieren/Verschieben von Dateien/Ordnern die Zeitstempel verloren gehen können.
Nun muss nur noch sichergestellt werden, dass diejenigen Nutzer, die auf die entsprechenden Dateisysteme voll zugreifen dürfen sollen, der Gruppe "plugdev
" zugeordnet sind. Das ist standardmäßig für alle Benutzer der Fall. Wer die Gruppenzugehörigkeiten ändern möchte, kann dies im Terminal per chgrp durchführen oder auf die Werkzeuge zur Verwaltung von Benutzern und Gruppen der großen Desktopumgebungen zurückgreifen.
Einbenutzer-System¶
Bei Einbenutzer-Systemen oder bei überwiegendem Zugriff durch denselben Benutzer empfiehlt es sich, die Partition nicht als Eigentum von "root
", sondern als Eigentum dieses Benutzers einzubinden. Dafür ist dann statt "uid=0
" die UID des Benutzers und statt "gid=46
" die GID seiner Gruppe einzutragen (siehe Artikel Benutzer und Gruppen), z.B.:
uid=1000,gid=1000
Dadurch behalten die Dateien beim Kopieren und Verschieben ihr Datum. Außerdem hat diese Einstellung Vorteile bei der Freigabe von Dateien in einem Netzwerk.
Nähere Informationen dazu sind im Artikel Windows Partitionen einbinden zu finden.
Virtuelle Netzwerkdateisysteme¶
Der Befehl mount
kann auch zum Einbinden von Netzwerk-Laufwerken oder von einzelnen Freigaben in einem Samba- oder NFS-Netzwerk verwendet werden. Wenn das Paket cifs-utils bzw. NFS installiert ist, dann ruft er aber nur die jeweils eigenen Mount-Module mount.cifs
(Samba) und mount.NFS
(NFS) auf und übergibt diesen alle nötigen Daten und Optionen. Letztere stimmen teilweise, aber nicht vollständig mit den Optionen bei echten Dateisystemen überein. Nähere Einzelheiten siehe mount.cifs und NFS sowie die Manpage man mount.cifs
bzw. man mount.NFS
. [1]
Das echte Einhängen von Netzwerk-Laufwerken und -Freigaben in das lokale Dateisystem hat gegenüber anderen Arten des Zugriffs (siehe z.B. smbclient, gio mount, Samba Client GNOME oder Samba Client KDE) den Vorteil, dass dann alle Anwendungen ohne Einschränkungen oder Umwege auf die Freigaben genau wie auf lokale Dateien zugreifen können.
Hinweis:
Die Mount-Optionen user
und users
sind für cifs und NFS nur dann wirksam, wenn für die Module mount.cifs
bzw. mount.NFS
das SUID-Bit gesetzt ist. Um das damit verbundene Risiko zu vermindern, verlangen diese Module, dass der "mount point" im Besitz des Benutzers ist, der den "mount" ausführt.
Beim Einhängen von SMB-Netzwerklaufwerken wird ab Ubuntu 17.10 Artful Aardvark (bzw. ab Version 6.7 von mount.cifs) nicht mehr standardmäßig Version 1.0 des SMB-Protokolls verwendet. Bei Geräten, die nur diese alte Protokollversion beherrschen, muss man nun beim Einhängen die zusätzliche Option vers=1.0
explizit angeben. Dies betrifft z.B. alte FritzBoxen bis FritzOS Version 7.20, für die man einen Befehl dieser Art verwenden kann:
sudo mount -t cifs -o username=XXX,password=YYY,vers=1.0 //fritz.nas/FREIGABE MOUNTPOINT
Die Platzhalter XXX
, YYY
, FREIGABE
und MOUNTPOINT
sind natürlich durch die lokal gültigen Werte zu ersetzen. Benutzername und Passwort können auch in einer Datei mit folgendem Inhalt vorgehalten werden:
username=XXX password=YYY
Diese Datei darf nur durch root lesbar sein; von einer Ablage der Datei im Home-Verzeichnis wird abgeraten.
sudo mount -t cifs -o credentials=/etc/smbcredentials,vers=1.0 //192.168.178.1/FREIGABE MOUNTPOINT
Aktuelle Fritzboxen ab FritzOS Version 7.28 arbeiten mit SMBv2/3 und haben SMBv1 deaktiviert. Bei diesen darf die Option vers=1.0
nicht verwendet werden und auch andere Restriktionen wie z.B. vers=2.0
sollte man vermeiden. Dafür kann aber die optionale Option noserverino
hilfreich wirken.
Anstatt mount
jedes mal manuell ausführen zu müssen, kann man auch eine der folgenden Zeilen in /etc/fstab hinterlegen:
//192.168.178.1/FREIGABE /media/FREIGABE cifs _netdev,rw,noauto,users,vers=1.0,credentials=/etc/smbcredentials 0 0 //192.168.178.1/FREIGABE /media/FREIGABE cifs _netdev,rw,noauto,users,credentials=/etc/smbcredentials,noserverino 0 0
Dann erscheint im Dateimanager unter Netzwerk der Eintrag FREIGABE zum anklicken.
Im Klartext lesbare Anmeldeinformationen sollte man nicht in der global lesbaren Datei /etc/fstab ablegen, daher sind hier die Optionen username
und password
zu vermeiden!
Einzelne Ordner einbinden¶
Hinweis:
Dieser Abschnitt wendet sich vor allem an fortgeschrittene Benutzer
Normalerweise verwendet man den Befehl mount
, um ganze Partitionen oder Dateisysteme einzubinden. In Verbindung mit dem Parameter --bind
oder -B
lassen sich auch einzelne Ordner oder Dateien eines Dateisystems zusätzlich noch an einem eigens dafür eingerichteten besonderen Mountpunkt einhängen. Der Ordner oder die Datei bleiben dabei innerhalb des ersten eingebundenen Dateisystems unverändert bestehen. Das Verfahren hat Ähnlichkeit mit einem symbolischen Link ("Symlink"), ist aber nicht damit identisch. Folgende Unterschiede sind zu beachten:
Im Gegensatz zu einem Symlink kann ein mit
mount --bind
eingehängtes Verzeichnis nicht mitrm
oderrmdir
gelöscht werden, auch nicht mit Root-Rechten. Man kann es lediglich mitumount
wieder aushängen.Ein mit
mount --bind
temporär eingebundener Ordner wird beim Herunterfahren des Systems ausgehängt und ist nach einem Neustart nicht automatisch wieder sichtbar.Gewisse Einschränkungen für Symlinks in Netzwerk-Freigaben gelten nicht für mit
mount --bind
eingehängte Ordner (siehe z.B. mount.cifs).
Syntax:
# Allgemein: sudo mount --bind <Einhängepunkt_1>/<Ordner> <Einhängepunkt_2> # alternativ: sudo mount -o bind <Einhängepunkt_1>/<Ordner> <Einhängepunkt_2> # Beispiel: sudo mount --bind /media/Daten/Downloads /home/Max/Downloads
Die Option bind
lässt sich entsprechend auch statisch bei Einträgen in fstab verwenden.
Ähnlich wie mount --bind
wirkt mount --move
bzw. -M
, nur dass in diesem Fall dann der entsprechende Ordner nur noch am neuen Mountpunkt und nicht mehr am Ausgangspunkt erscheint.
Beispiele¶
Im Folgenden einige Beispiele zur Verwendung von mount. In einigen Fällen wird dabei auf Beispiele in anderen Artikeln verwiesen, wo der Befehl mount
ebenfalls eingesetzt wird.
USB-Stick¶
In diesem Beispiel wird ein FAT32-formatierter USB-Stick (Gerät /dev/sdb) nur-lesend in das Verzeichnis /media/usbstick eingehängt:
mount -t vfat -o ro /dev/sdb1 /media/usbstick
Standardmäßig werden zu schreibende Daten zwischengespeichert und erst beim Aushängen auf den Datenträger geschrieben. Deshalb müssen beschreibbare externe Datenträger grundsätzlich korrekt ausgehängt werden, bevor man sie entfernen darf. Eine sichere, aber deutlich langsamere Alternative ist die Option sync.
Windowspartition¶
Im folgenden Beispiel wird eine NTFS-Partition auf /dev/sda1 in das Verzeichnis /media/winxp eingehängt:
mount -t ntfs -o umask=007,gid=046,uid=0 /dev/sda1 /media/winxp
Möchte man das Dateisystem lieber nur zum Lesen einhängen, so verwendet man einen der folgenden Befehle:
mount -t ntfs -o umask=227,gid=046,uid=0 /dev/sda1 /media/winxp
mount -t ntfs -o ro,gid=046,uid=0 /dev/sda1 /media/winxp
CD-Image¶
In diesem Beispiel wird gezeigt, wie man eine Image-Datei (hier die Datei ~/loop_image.img) per Loop-Mount einhängt. Anschließend kann auf das Image wie auf eine normale Partition oder ein CD-/DVD-Laufwerk zugegriffen werden.
sudo mount -o loop ~/loop_image.img /media/loop_mount
Festplatten-Image¶
Partitionen aus einem per dd (Siehe Shell/dd) angelegten Image einer kompletten Festplatte lassen sich nicht ohne Weiteres einhängen. In Shell/dd (Abschnitt „Partition aus einem Image der gesamten Platte einbinden“) wird erklärt, wie man den Offset einer Partition innerhalb eines Images manuell berechnen kann, um anschließend das gewünschte Image einzuhängen. Das Ganze geht mit folgendem Skript auch automatisch.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #!/bin/bash #---------------------------------------------------------------------- # Author: haveaniceday # Version: 1, Last updated: 12/2007 #---------------------------------------------------------------------- # fdisk finden PATH="/sbin:$PATH" if [ $# -lt 1 ] then echo "usage: ${0##*/} <image>" exit 1 fi IMAGE=$1 if [ ! -f $IMAGE ] then echo "Warnung, $IMAGE ist keine Datei" fi # tr -d '*' => bootflag entfernen LANG=C fdisk -lu $IMAGE 2>&1 | tr -d '*' | grep "$IMAGE[a-z0-9]" | while read part start end blocks id rest do echo echo "$read $part $start $end $blocks $id $rest" case $id in 5|f|85) echo "Ignoriere extended partition" continue ;; 82) echo "Ignoriere Swap" continue ;; *) ;; esac offset=$(($start*512)) echo mount -o loop,ro,offset=$offset $IMAGE /mnt done exit 0 |
An ein aufgerufenes Image gibt das Skript anschließend den Mount-Befehl inklusive Offset aus.
Festplatten-Image mit LVM¶
Enthält das Festplatten-Image Volume Groups (VG) mit Logical Volumes (LV) (siehe Logical Volume Manager) muss man zunächst die gewünschte Partition des Image als Loop Device einbinden. Danach muss ggf. die VG aktiviert werden und die enthaltenen Logischen Volumes können anschließend eingebunden werden.
Gegebenenfalls muss zunächst das Paket lvm2 installiert werden (siehe Logical Volume Manager (Abschnitt „Installation“)).
Als erstes wird die gewünschte Partition des Image mittels losetup
als loop device eingebunden. Im Beispiel als /dev/loop44.
Dazu stellt man sicher, dass ein beliebiges Loop Device noch nicht existiert, z.B. /dev/loop44. Der folgende Befehl sollte keine Zeile mit /dev/loop44 ausgeben. Ansonsten muss man eine andere Zahl ausprobieren. Man kann den Befehl natürlich auch ohne |grep loop44
ausführen und sich eine freie Zahl aussuchen, mit grep
kann man sich aber sicher sein, nichts zu übersehen.
sudo losetup --all |grep loop44
Dann wird der Beginn der gewünschten Partition auf dem Image ermittelt
sudo fdisk -l /Pfad/zum/Image
Die Ausgabe enthält die Sektorengröße (z.B. 512 bytes) und den Startpunkt der Partitionen. Daraus lässt sich der Offset berechnen, damit auch nur die gewünschte Partition eingebunden wird: Sektorengröße x Partitionsstart = offset (z.B. 987654321)
Nun kann man die Partition als Loop Device einbinden:
sudo losetup -o 987654321 /dev/loop44 /Pfad/zum/Image
Die enthaltenen Volume Groups sollten nun bereits als /dev/vg_name sichtbar sein. Sie lassen sich auch mit dem Befehl pvs
anzeigen. In diesem Beispiel enthält die eingebundene Partition die VG "vg_name".
user@computer:~$ sudo pvs /dev/sdc: open failed: No medium found /dev/sdd: open failed: No medium found /dev/sde: open failed: No medium found /dev/sdf: open failed: No medium found /dev/sdc: open failed: No medium found /dev/sdd: open failed: No medium found /dev/sde: open failed: No medium found /dev/sdf: open failed: No medium found PV VG Fmt Attr PSize PFree /dev/loop44 vg_name lvm2 a-- <931,01g 0
Gegebenenfalls müssen die VG mit dem Befehl vgchange
aktiviert werden, um als /dev/vg_name im Dateisystem zu erscheinen.
sudo vgchange -a y vg_name
Mittels ls
kann man die enthaltenen Logical Volumes anzeigen lassen.
user@computer:~$ ls /dev/vg_name/ root swap_1
Zum mounten kann man sich einen neunen Mountpoint erstellen und das LV einbinden.
sudo mkdir /Pfad/zum/neuen/Mountpoint #ggf Mountverzeichnis erstellen sudo mount -o ro /dev/vg_name/lv_name /Pfad/zum/neuen/Mountpoint/
RAM-Disks¶
Diverse Beispiele hierzu findet man im Artikel RAM-Disk erstellen.
Ordner einbinden¶
In diesem Fall möchte man ein neues /usr-Verzeichnis anlegen und benutzt dafür den "Ordner" auf der "Partition":
mount --bind /PARTITION/ORDNER /usr
Um nun einen Ordner dauerhaft einzubinden, ist in die /etc/fstab folgende Zeile einzutragen:
/PARTITION/ORDNER /usr none bind 0 0
Ein ausführliches Beispiel wird im Artikel udev anhand einer Musiksammlung auf externer Festplatte beschrieben.
Laufwerk nachträglich statisch einbinden¶
Hier geht es jetzt um ein Laufwerk, das neu und nachträglich in einen Rechner eingebaut wird. Ziel ist es, dass das Laufwerk im eigenen Home-Verzeichnis zur Verfügung steht. Zunächst muss man einen Mountpoint (hier: /mnt/data1) für das Laufwerk anlegen.
sudo mkdir /mnt/data1
Durch die Wahl des Verzeichnisses mnt wird kein Ikon auf dem Desktop generiert. Dann trägt man diesen Mountpoint in die Datei /etc/fstab ein und verknüpft das neue Laufwerk (hier sdax). Dazu kann man jeden Editor verwenden [2]. Sinnvollerweise legt man zunächst eine Sicherung der alten fstab (z.B. fstab.old) an. Dann fügt man als letzte Zeile ein:
/dev/sdax /mnt/data1 ext4 defaults 0 2
Nach einem Reboot ist das Laufwerk sichtbar und an den User root
gebunden. Man hat also als USER noch keine Rechte. Das ändert man durch den folgenden Befehl im Terminal:
sudo chown -c $USER /mnt/data1
Jetzt kann das Laufwerk von dem z.Zt. angemeldeten USER verwendet werden. Um es in sein Home-Verzeichnis einzubinden, wird noch die folgende Zeile als letzte in die fstab eingetragen:
/mnt/data1 /home/USER/data1 none bind 0 0
Jetzt kann das Laufwerk im eigenen Home-Verzeichnis verwendet werden.
Problembehebung¶
Umlaute in Dateinamen¶
Sorgen Umlaute in Dateinamen für Probleme, hilft es nur noch, diese zu korrigieren. Dazu gibt es ein kleines Skript, welches dieses automatisch durchführen kann: umlaute
Programme und Skripte werden trotz Option exec
nicht ausgeführt¶
Achtung!
Die Ausführung von Programmen und Skripten von Wechseldatenträgern ist ein Sicherheitsrisiko!
Die Option exec
muss nach der Option user
bzw. users
angegeben werden, da ansonsten automatisch die Optionen noexec
, nosuid
und nodev
gesetzt werden. Die Angabe der Option an einer späteren Position überschreibt die Default-Option.
Links¶
fstab - Aufbau und Einträge der Datei /etc/fstab
gio mount - Geräte und Netzwerk-Dateisysteme mittels GVFS im Userspace einbinden
Autofs - Partitionen und Wechseldatenträger automatisch ein- und aushängen
Automount - Automount
Windows-Partitionen einbinden - Einbinden von FAT- und NTFS-Partitionen
NTFS-3G - Der standardmäßig verwendete Dateisystemtreiber für NTFS
mount.cifs - Windows- und Samba-Freigaben statisch und temporär einbinden
NFS - Das beliebte Netzwerk-Protokoll für Linux in der Version 2/3
NFSv4 - Das beliebte Netzwerk-Protokoll für Linux in der Version 4
Externe Laufwerke statisch einbinden - Besonderheiten beim statischen Einbinden externer Datenträger
CDEmu - Image-Dateien (auch proprietäre) als virtuelles CD-Laufwerk einbinden