Von A bis Z: NAS-Freigaben mounten mit AutoFS!

Hast du schon einmal erlebt, dass Server aufgrund von Problemen beim Mounten von Netzwerkspeichern nicht richtig hochfahren? Solche Verzögerungen und potenzielle Ausfälle können wirklich ärgerlich sein. In solchen Situationen kann AutoFS für Abhilfe sorgen. In diesem Beitrag beleuchte ich die Grundlagen von AutoFS und zeige dir, wie man NFS- oder CIFS-Freigaben damit mounten kann.

Außerdem gehe ich ausführlich auf bekannte Stolpersteine beim Einhängen von NAS-Freigaben ein. Anhand von praxisnahen Beispielen lernst du, wie du die erforderlichen Berechtigungen für dich selbst, eine spezielle Gruppe oder alle Benutzer im Netzwerk korrekt einstellst.Aber genug um den heißen Brei geredet. Lass uns jetzt endlich mit der Einführung in AutoFS beginnen.

Warum nicht /etc/fstab verwenden?

In der Welt der Linux-Admins gilt AutoFS als Klassiker. Wie ich vermehrt feststellen konnte, ist jedoch nicht jedem Linux-Desktop-Nutzer dieses nützliche Tool bekannt. Zur groben Einordnung sei gesagt, dass die Datei fstab für das dauerhafte Einhängen von Speicher vorgesehen ist. Im Gegensatz dazu bindet AutoFS Remote-Freigaben dynamisch ein, wenn sie gebraucht werden.

Zusammengefasst bedeutet das Folgendes:

  • Persistente Einbindung beim Booten: /etc/fstab
  • Dynamische Einbindung bei Benutzung: autoFS

Die /etc/fstab ist dafür konzipiert worden, Dateisysteme während des Startvorgangs zu integrieren. Diese Speichergeräte sollen so lange eingebunden bleiben, wie das System selbst eingeschaltet ist. Aus diesem Grund eignet sich die fstab besonders gut für lokal eingebundene Speichergeräte wie Festplatten. Diese sind nämlich dauerhaft in Benutzung und natürlich auch ständig betriebsbereit.

In Bezug auf gemounteten Netzwerk-Speicher gestaltet sich die Situation ganz anders. Dieser kann aufgrund von Wartungsarbeiten oder Netzwerkproblemen vorübergehend nicht verfügbar sein. In solchen Fällen können beim Systemstart Schwierigkeiten auftreten. Ich habe bereits erlebt, dass Systeme in den Rettungsmodus booteten oder überhaupt nicht mehr hochgefahren sind.

In den übrigen Situationen war es ausreichend, die fehlenden NAS-Freigaben zu einem späteren Zeitpunkt mit dem Befehl mount -a einzubinden. In solchen Situationen sorgt AutoFS für Abhilfe. Damit kann man Netzwerk-Speicher dynamisch mounten, wenn er gebraucht wird, und ihn automatisch freigeben, wenn er nicht mehr benötigt wird.

So werden wirkungsvoll Ressourcen geschont – sowohl die des Systems als auch die des vorhandenen Netzwerks. Zusätzlich entlastet dies Administratoren und reduziert deutlich deren Stresslevel. Dafür ist die Ersteinrichtung etwas aufwendiger. Und Einhängepunkte innerhalb von /media oder /mnt können zu doppelt angezeigten Freigaben führen. Das ist aber eher ein Desktop-Problem.

Davon abgesehen lohnt sich der Einsatz von AutoFS. Es kommt nämlich nicht zu Shutdown-Problemen, wenn CIFS-Freigaben über WLAN genutzt werden und man kann das Aushängen von USB-Datenträgern nicht vergessen. Die Gefahr von Datenverlusten bei unbedachtem Ausstecken ist somit geringer. AutoFS bietet für interne Laufwerke gegenüber dem Einhängen mittels fstab-Eintrag keine Vorteile.

Installation von AutoFS:

Das Einrichten von AutoFS gestaltet sich angenehm unkompliziert. Nach der Installation des entsprechenden Pakets und je nach verwendetem Linux-Betriebssystem muss es lediglich gestartet und in den Autostart integriert werden. Anschließend kann direkt mit dem Einbinden der NAS-Freigaben begonnen werden. Dazu aber später mehr.

Einrichtung auf Debian & dessen Derivaten:

Die Bereitstellung von AutoFS auf deinem System ist denkbar unkompliziert. Ein entsprechendes Paket mit dem gleichen Namen steht zur Verfügung und lässt sich bequem über die Paketverwaltung installieren:

sudo apt-get install autofs 

AutoFS wird standardmäßig nach der Installation gestartet und befindet sich ebenso direkt im Autostart des Systems. Damit spart man sich immerhin einen Befehl. Die Hauptsteuerungsdatei für AutoFS liegt standardmäßig im Verzeichnis /etc/auto.master. In den meisten Szenarien sind hier keine individuellen Anpassungen erforderlich.

Dennoch ist es ratsam, kurz zu überprüfen, ob die Zeile +dir:/etc/auto.master.d nicht auskommentiert ist. Beachtenswert ist, dass in dieser Datei auch spezifische Konfigurationsdateien für einzuhängende Freigaben eingetragen werden können:

/-   /etc/auto.local

Inbetriebnahme auf Red Hat & dessen Derivaten:

Die Installation von AutoFS gestaltet sich recht simpel. Es existiert ein Paket gleichen Namens, das über die Paketverwaltung installiert werden kann:

 yum install autofs -y

Unmittelbar nach der Installation muss AutoFS noch gestartet und in den Autostart integriert werden. Dies lässt sich mithilfe des folgenden Befehls erreichen:

systemctl enable --now autofs

Die zentrale Konfigurationsdatei für AutoFS befindet sich standardmäßig unter /etc/auto.master. In den meisten Fällen sind hier keine Anpassungen erforderlich. Es ist jedoch ratsam, kurz zu überprüfen, ob +dir:/etc/auto.master.d nicht auskommentiert ist. Es sei angemerkt, dass in diesem File auch dedizierte Konfigurationsdateien mit zu mounteten Shares eingetragen werden können:

/-   /etc/auto.local

Einhängen von NAS-Freigaben:

Das Einbinden von NAS-Freigaben mit AutoFS ist simpel. Im Grunde genommen genügt bereits das Hinzufügen einer einzeiligen Datei im Verzeichnis /etc/auto.master.d. In den folgenden Abschnitten werde ich dies für NFS- und SMB-Freigaben demonstrieren. Da es hierbei zu Berechtigungsproblemen kommen kann, werde ich dir noch ein paar Tipps & Tricks mit auf den Weg geben.

NFS-Share mounten:

Beginnen wir mit dem Einhängen einer NFS-Freigabe, wie es sich auf einem authentischen Linux-Blog gehört. Die Konfiguration erfolgt in diesem Beispiel in der Datei nfs-freigabe.autofs. Deren Inhalt ist schnell erklärt: Zuerst wird der lokale Mountpoint angegeben, gefolgt vom Dateisystemtyp NFS und der genauen Protokollversion. Meist wird hier Revision 3 genutzt.

Die Option nolock ermöglicht das Arbeiten mit Dateien durch mehrere Prozesse. Sie ist vor allem dann sinnvoll, um NFS im Umfeld von Netzwerken mit schwacher Konsistenz zu betreiben. Ganz am Ende der Zeile wird noch der Hostname des NFS-Servers mit dem exakten Pfad zur Freigabe angegeben:

echo "/nfs-freigabe -fstype=nfs,rw,nfsvers=3,nolock nfs-server.domain.tld:/nfs-freigabe" | sudo tee /etc/auto.master.d/nfs-freigabe.autofs

Die reibungslose Funktion einer NFS-Freigabe ist nicht immer sofort gegeben. Häufig liegt die Ursache in unterschiedlichen UID- und GID-Werten auf den beteiligten Systemen. Es ist entscheidend, dass die Zahlen auf dem Client und dem Server übereinstimmen. Deine UserID und GroupID kannst du mittels des Kommandos id $USER ermitteln.

Nehmen wir an, dass du der erste angelegte Nutzer auf dem Client bist. Dann müsstest du zweimal die 1000 haben. Du loggst dich auf dem NFS-Server ein und hinterlegst dort diese Werte für Nutzer und Gruppe. Wenn hingegen jeder Lese- und Schreibberechtigungen haben soll, kannst du ein Benutzer-Squash einrichten. Dann werden unautorisierte Anfragen auf die ID 1000 umgeschrieben.

Falls nur eine spezifische Gruppe von Benutzern Zugriff auf die Freigabe haben soll, lässt sich das Vorhaben ebenfalls rasch umsetzen. Du erstellst eine Gruppe mit einer eindeutigen GID, die auf allen Systemen gleich ist. Am NFS-Server weißt du dann der entsprechenden Gruppe die Freigabe zu und gewährst dann noch alle erforderlichen Berechtigungen.

Um sicherzustellen, dass jede neu erstellte Datei in der Freigabe automatisch die erstellte Gruppe erbt, ist es erforderlich, das Setgid-Bit zu setzen. Andernfalls wird die primäre Gruppe des Users benutzt. Beachte jedoch, dass die Berechtigungen wie Lesen, Schreiben und Ausführen durch das Setgid-Bit nicht weiter gereicht werden. Hierfür musst du noch ein weiteres Feature konfigurieren.

Dies kann jedoch durch die Verwendung von ACLs festgelegt werden. Andernfalls würde die Umask-Einstellung greifen, und der Standardwert für Dateien würde genutzt werden. Die obigen Beispiele sollen als kleine Denkanstöße fürs Troubleshooting dienen. Nicht vergessen darf man zum Abschluss noch das Neustarten des AutoFS-Service, damit alle Konfigurationen wirksam werden.

CIFS-Freigabe einbinden:

Im Linux-Universum ist die Arbeit mit Windows-Freigaben weniger verbreitet. Dennoch möchte ich kurz die Einbindung einer SMB-Freigabe mit AutoFS demonstrieren. Es gibt Situationen, in denen nur auf einen solchen Share zugegriffen werden kann – sei es bei der Nutzung der beliebten Hetzner-Storagebox oder der Verwendung der Windows eigenen Freigabefunktion.

Die Konfiguration erfolgt auch hier wieder in einer einzigen Zeile. Zuerst wird der lokale Mountpoint angegeben, gefolgt vom Dateityp CIFS, den gewünschten Lese-/Schreibberechtigungen und den Zugangsdaten, die in eine separate Datei ausgelagert sind. Abschließend werden die benötigte CIFS-Version und der Hostname des SMB-Servers angegeben:

echo "/cifs-freigabe -fstype=cifs,rw,credentials=/etc/cifs-credentials.txt,cifsvers=3 ://cifs-server.domain.tld/cifs-freigabe" | sudo tee /etc/auto.master.d/cifs-freigabe.autofs

Noch wird der Mount-Versuch scheitern. In einer separaten Textdatei müssen der Benutzername und das Passwort hinterlegt werden. Um sicherzustellen, dass nur der Superuser die Datei bearbeiten kann, sollten die Berechtigungen entsprechend angepasst werden. Eine kurze Anleitung dazu findest du hier:

vim /etc/cifs-credentials.txt

username=Dein-Benutzername
password=Dein-Passwort

sudo chmod 600 /etc/cifs-credentials.txt

Auch beim Einhängen einer Windows-Freigabe können Komplikationen auftreten. Oftmals machen einem auch hier die Ordner- und Datei-Berechtigungen das Leben schwer. Zum Glück können diese bequem in der Mount-Konfiguration festgelegt werden. Gleiches gilt übrigens für die benötigte User- sowie Gruppen-Id. Zum Ende der Arbeiten muss der AutoFS-Dienst noch neu gestartet werden:

systemctl restart autofs

Von Fabian Wüst

Er ist leidenschaftlicher Open-Source-Benutzer und ein begeisterter Technologie-Enthusiast. Als kreativer Kopf hinter Homelabtopia bringt Fabian hier seine umfangreiche Erfahrung als Linux-Admin ein. Um sicherzustellen, dass du aus seinen Beiträgen den größtmöglichen Nutzen ziehen kannst, führt er ausgiebige Tests durch und errichtet dafür immense Setups.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert