Die meisten Linux-Dateisysteme werden beim Booten gemountet und bleiben gemountet, während das System läuft. Dies gilt auch für alle entfernten Dateisysteme, die in der fstab
konfiguriert wurden Datei. Es kann jedoch Zeiten geben, in denen Sie es vorziehen, ein Remote-Dateisystem nur bei Bedarf bereitzustellen, beispielsweise um die Leistung zu steigern, indem Sie die Nutzung der Netzwerkbandbreite reduzieren, oder um bestimmte Verzeichnisse aus Sicherheitsgründen zu verbergen oder zu verschleiern. Das Paket autofs bietet diese Funktion. In diesem Artikel werde ich beschreiben, wie man eine grundlegende Automount-Konfiguration zum Laufen bringt.
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Zunächst einige Annahmen:Nehmen Sie an, der NFS-Server namens tree.mydatacenter.net
läuft. Nehmen Sie auch ein Datenverzeichnis namens ourfiles
an und zwei Benutzerverzeichnisse für Carl und Sarah werden von diesem Server gemeinsam genutzt.
Ein paar Best Practices werden die Dinge ein bisschen besser machen:Es ist eine gute Idee, dieselbe Benutzer-ID für Ihre Benutzer auf dem Server und allen Client-Workstations zu verwenden, auf denen sie ein Konto haben. Außerdem sollten Ihre Arbeitsstationen und Ihr Server denselben Domänennamen haben. Die Überprüfung der relevanten Konfigurationsdateien sollte bestätigen.
alan@workstation1:~$ sudo getent passwd carl sarah
[sudo] password for alan:
carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash
sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash
alan@workstation1:~$ sudo getent hosts
127.0.0.1 localhost
127.0.1.1 workstation1.mydatacenter.net workstation1
10.10.1.5 tree.mydatacenter.net tree
Wie Sie sehen können, sind sowohl die Client-Workstation als auch der NFS-Server in den hosts
konfiguriert Datei. Ich gehe davon aus, dass es sich um ein einfaches Heimnetzwerk oder sogar ein kleines Büronetzwerk handelt, dem möglicherweise ein ordnungsgemäßer interner Domänennamendienst (d. h. DNS) fehlt.
Installieren Sie die Pakete
Sie müssen nur zwei Pakete installieren:nfs-common
für NFS-Client-Funktionen und autofs
um die Automount-Funktion bereitzustellen.
alan@workstation1:~$ sudo apt-get install nfs-common autofs
Sie können überprüfen, ob die Autofs-Dateien in etc
platziert wurden Verzeichnis:
alan@workstation1:~$ cd /etc; ll auto*
-rw-r--r-- 1 root root 12596 Nov 19 2015 autofs.conf
-rw-r--r-- 1 root root 857 Mar 10 2017 auto.master
-rw-r--r-- 1 root root 708 Jul 6 2017 auto.misc
-rwxr-xr-x 1 root root 1039 Nov 19 2015 auto.net*
-rwxr-xr-x 1 root root 2191 Nov 19 2015 auto.smb*
alan@workstation1:/etc$
Autofs konfigurieren
Jetzt müssen Sie mehrere dieser Dateien bearbeiten und die Datei auto.home
hinzufügen . Fügen Sie zunächst die folgenden beiden Zeilen zur Datei auto.master
hinzu :
/mnt/tree /etc/auto.misc
/home/tree /etc/auto.home
Jede Zeile beginnt mit dem Verzeichnis, in dem die NFS-Freigaben gemountet werden. Fahren Sie fort und erstellen Sie diese Verzeichnisse:
alan@workstation1:/etc$ sudo mkdir /mnt/tree /home/tree
Zweitens fügen Sie der Datei auto.misc
die folgende Zeile hinzu :
ourfiles -fstype=nfs tree:/share/ourfiles
Diese Zeile weist autofs an, die ourfiles
einzuhängen teilen Sie an dem Ort, der in auto.master
übereinstimmt Datei für auto.misc
. Wie oben gezeigt, werden diese Dateien im Verzeichnis /mnt/tree/ourfiles
verfügbar sein .
Drittens erstellen Sie die Datei auto.home
mit folgender Zeile:
* -fstype=nfs tree:/home/&
Diese Zeile weist autofs an, die Benutzerfreigabe an dem Ort einzuhängen, der in auto.master
übereinstimmt Datei für auto.home
. In diesem Fall sind die Dateien von Carl und Sarah in den Verzeichnissen /home/tree/carl
verfügbar oder /home/tree/sarah
, bzw. Das Sternchen (als Platzhalter bezeichnet) ermöglicht es, dass die Freigabe jedes Benutzers automatisch gemountet wird, wenn er sich anmeldet. Das kaufmännische Und fungiert auch als Platzhalter, der das Verzeichnis des Benutzers auf der Serverseite darstellt. Ihr Heimatverzeichnis sollte entsprechend im passwd
abgebildet werden Datei. Dies muss nicht gemacht werden, wenn Sie ein lokales Home-Verzeichnis bevorzugen; Stattdessen könnte der Benutzer dies als einfachen Remote-Speicher für bestimmte Dateien verwenden.
Starten Sie schließlich autofs
neu Daemon, damit er diese Konfigurationsdateiänderungen erkennt und lädt.
alan@workstation1:/etc$ sudo service autofs restart
Autofs testen
Wenn Sie in eines der in der Datei auto.master
aufgeführten Verzeichnisse wechseln und führen Sie ls
aus Befehl, Sie werden nichts sofort sehen. Ändern Sie beispielsweise das Verzeichnis (cd)
nach /mnt/tree
. Zuerst die Ausgabe von ls
nichts anzeigen, aber nach dem Ausführen von cd ourfiles
, die ourfiles
share-Verzeichnis wird automatisch gemountet. Die cd
Der Befehl wird ebenfalls ausgeführt und Sie werden in das neu gemountete Verzeichnis platziert.
carl@workstation1:~$ cd /mnt/tree
carl@workstation1:/mnt/tree$ ls
carl@workstation1:/mnt/tree$ cd ourfiles
carl@workstation1:/mnt/tree/ourfiles$
Um weiter zu bestätigen, dass alles funktioniert, wird der mount
Der Befehl zeigt die Details der gemounteten Freigabe an.
carl@workstation1:~$ mount
tree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)
Der /home/tree
Verzeichnis funktioniert für Carl und Sarah auf die gleiche Weise.
Ich finde es nützlich, diese Verzeichnisse in meinem Dateimanager für einen schnelleren Zugriff mit einem Lesezeichen zu versehen.