13 KiB
NFS-Freigaben
Artikel ist in Bearbeitung! (14/07/25)
Inhalt
- NFS-Freigaben
- Inhalt
- Anleitung
- Was bedeutet das im Detail?
- Wieso solltest du dich ohne lokalen Benutzer anmelden können?
- Praktisch
- 1. Verzeichnis
/daten
- 2. Verzeichnis
/home/skotarczak
- 3. Automatisches Mounten
- Zusammenfassung
- Warum sind UID und GID wichtig?
- Schritt 1: Die UID und GID auf dem NFS-Server herausfinden
- Schritt 2: Den Benutzer lokal anlegen
- Schritt 3: Rechte für das Home-Verzeichnis festlegen
- Schritt 4: Überprüfen, ob der Benutzer richtig eingerichtet wurde
- Schritt 5: Mounten der NFS-Freigaben
- Zusammenfassung UID und GID
Anleitung
Eine Netzwerkfreigabe Nutzen um eine entfernte Ressource nach /home/nutzername
zu mounten.
Eine kleine praktische Reise zum Thema mount
, /etc/fstab
und die nfs-Freigaben um allgemeinen.
Was bedeutet das im Detail?
Zeile 1: email-spenge:/daten /daten nfs4 rw,hard,intr,_netdev 0 0
- email-spenge:/daten: Das ist der NFS-Server (
email-spenge
), der das Verzeichnis/daten
freigibt. - /daten: Dies ist der Punkt auf deinem lokalen System, wo dieses freigegebene Verzeichnis eingebunden wird.
- nfs4: Das ist die Version des NFS-Protokolls, in diesem Fall NFS Version 4.
- rw: Lese- und Schreibzugriff auf das Verzeichnis.
- hard: Der Mount wird "hart" gemacht, was bedeutet, dass der Client, wenn der Server nicht erreichbar ist, unendlich viele Versuche unternimmt, die Verbindung wiederherzustellen.
- intr: Unterbricht NFS-Operationen, falls der Server nicht erreichbar ist.
- _netdev: Das bedeutet, dass das Mounten dieses Verzeichnisses erst erfolgt, wenn die Netzwerkverbindung hergestellt ist. Das ist besonders wichtig für Netzwerkmounts, damit der Mount nicht vorzeitig ausgeführt wird.
- 0 0: Diese beiden Zahlen beziehen sich auf die Mount-Optionen für das Dateisystem. Die erste Zahl (
0
) bedeutet, dass dieses Verzeichnis nicht für die Sicherung berücksichtigt wird. Die zweite Zahl (0
) steht für die Reihenfolge der Dateisystem-Prüfung beim Booten.
Zeile 2: email-spenge:/daten/skotarczak /home/skotarczak nfs4 rw,exec,nosuid,nodev,_netdev 0 0
- email-spenge:/daten/skotarczak: Das ist ein weiteres freigegebenes Verzeichnis auf dem NFS-Server, in diesem Fall das Unterverzeichnis
/daten/skotarczak
. - /home/skotarczak: Hier wird das Verzeichnis in dein eigenes Home-Verzeichnis eingebunden (also
/home/skotarczak
). - rw: Auch hier hast du Lese- und Schreibzugriff.
- exec: Das bedeutet, dass ausführbare Dateien im gemounteten Verzeichnis ausgeführt werden dürfen.
- nosuid: Das verhindert, dass Dateien mit Set-UID oder Set-GID-Berechtigungen auf diesem gemounteten Verzeichnis ausgeführt werden, was ein Sicherheitsmerkmal ist.
- nodev: Geräte-Dateien werden im gemounteten Verzeichnis ignoriert (wiederum ein Sicherheitsmerkmal).
- _netdev: Wie bei der ersten Zeile – das Verzeichnis wird erst gemountet, wenn das Netzwerk verfügbar ist.
Wieso solltest du dich ohne lokalen Benutzer anmelden können?
Die entscheidende Frage ist, warum du dich ohne lokalen Benutzer anmelden kannst.
Dies liegt daran, dass beim NFS-Mounten die Benutzer- und Gruppen-IDs (UIDs und GIDs) aus dem entfernten System (in diesem Fall von email-spenge
) übernommen werden.
Das bedeutet:
- Wenn du in
/home/skotarczak
auf das Verzeichnis zugreifst, wird der Inhalt dieses Verzeichnisses vom NFS-Server bereitgestellt. - Das Besondere dabei ist, dass es auf dem NFS-Server ein Verzeichnis für den Benutzer
skotarczak
gibt (unter/daten/skotarczak
), und dass beim Mounten dieses Verzeichnisses von deinem Rechner aus, dein lokales Benutzerkonto direkt auf die Daten zugreifen kann, als ob es auf dem Server lokal gespeichert wäre.
Wichtiger Punkt: Auf deinem Rechner muss kein lokaler Benutzer skotarczak
existieren, weil der Zugriff auf das Verzeichnis durch die UID (Benutzer-ID) und GID (Gruppen-ID) geregelt wird.
Solange diese ID auf dem NFS-Server vorhanden ist, weiß das System, dass es sich um den richtigen Benutzer handelt, auch wenn der Benutzer lokal nicht existiert.
Praktisch
- Du kannst dich also über NFS auf einem Rechner anmelden und auf das gemountete Verzeichnis zugreifen, ohne dass der Benutzer lokal vorhanden sein muss. Alles, was du benötigst, ist, dass die UID und GID des Benutzers auf dem Server und auf dem Client (also deinem Rechner) übereinstimmen.
1. Verzeichnis /daten
Das Verzeichnis /daten
ist der Mount-Punkt für die NFS-Freigabe email-spenge:/daten
.
Da dies eine Freigabe vom Server ist, musst du sicherstellen, dass das Verzeichnis auf deinem lokalen System existiert, bevor das NFS-Verzeichnis dort gemountet wird.
Schritte Verzeichnis 1
-
Erstelle das Verzeichnis mit dem Befehl:
sudo mkdir /daten
-
Benutzer und Rechte: Da dieses Verzeichnis als allgemeiner Mount-Punkt dient, brauchst du in der Regel keine speziellen Benutzerrechte. Du kannst das Verzeichnis dem
root
-Benutzer gehören lassen und den Zugriff für alle Benutzer erlauben:sudo chown root:root /daten sudo chmod 755 /daten
2. Verzeichnis /home/skotarczak
Das Verzeichnis /home/skotarczak
ist der Mount-Punkt für die NFS-Freigabe email-spenge:/daten/skotarczak
.
Es sollte den gleichen Namen wie dein Benutzername haben und als dein Home-Verzeichnis fungieren.
Wenn du dieses Verzeichnis noch nicht hast, musst du es ebenfalls anlegen.
Schritte Verzeichnis 2
-
Erstelle das Verzeichnis:
sudo mkdir /home/skotarczak
-
Benutzer und Rechte: Für das Verzeichnis
/home/skotarczak
musst du sicherstellen, dass der Benutzerskotarczak
darauf zugreifen kann, da es als dein Home-Verzeichnis fungieren wird. Setze den Besitzer des Verzeichnisses auf den Benutzerskotarczak
und die Gruppe ebenfalls aufskotarczak
:sudo chown skotarczak:skotarczak /home/skotarczak
Falls der Benutzer
skotarczak
auf deinem System noch nicht existiert (weil du ja ohne lokalen Benutzer arbeiten willst), kannst du den Benutzer mit der gleichen UID (User ID) wie auf dem NFS-Server erstellen. Alternativ kannst du auch einfach die UID und GID des Benutzersskotarczak
auf deinem lokalen System mit den NFS-Berechtigungen übereinstimmen lassen, sodass die Benutzerrechte korrekt zugewiesen werden. -
Setze die Rechte so, dass du (als Benutzer
skotarczak
) vollen Zugriff auf das Verzeichnis hast:sudo chmod 700 /home/skotarczak
3. Automatisches Mounten
Wenn du die Verzeichnisse erstellt hast, kannst du die /etc/fstab
-Datei konfigurieren, damit die NFS-Freigaben automatisch beim Systemstart gemountet werden.
Das hast du ja vermutlich schon erhalten, aber falls du es noch nicht getan hast, solltest du sicherstellen, dass die folgenden Zeilen in deiner /etc/fstab
stehen:
email-spenge:/daten /daten nfs4 rw,hard,intr,_netdev 0 0
email-spenge:/daten/skotarczak /home/skotarczak nfs4 rw,exec,nosuid,nodev,_netdev 0 0
Damit wird das Verzeichnis /daten
vom Server email-spenge
gemountet und das NFS-Verzeichnis /daten/skotarczak
in dein Home-Verzeichnis eingebunden.
Zusammenfassung
/daten
muss auf deinem lokalen System existieren, aber du musst keinen speziellen Benutzer anlegen. Rechte sollten so gesetzt werden, dass derroot
-Benutzer darauf zugreifen kann./home/skotarczak
muss existieren und dem Benutzerskotarczak
gehören, damit das NFS-Home-Verzeichnis korrekt gemountet werden kann.- Wenn der Benutzer
skotarczak
auf deinem lokalen Rechner nicht existiert, kannst du ihn mit den entsprechenden UID/GID-Werten anlegen oder die Rechte manuell zuweisen, sodass der Zugriff funktioniert.
Hoffentlich hilft dir das weiter! Hast du noch Fragen oder ist etwas unklar?
Warum sind UID und GID wichtig?
Wenn du dich über NFS auf das Verzeichnis /home/skotarczak
zugreifst, müssen die UID und GID deines lokalen Benutzers skotarczak
mit denen des Benutzers auf dem NFS-Server übereinstimmen.
Ansonsten könnte es zu Berechtigungsproblemen kommen, weil das NFS-Dateisystem diese IDs verwendet, um zu bestimmen, welcher Benutzer und welche Gruppe auf die Dateien zugreifen dürfen.
Was passiert, wenn sie nicht übereinstimmen?
- Wenn die UID und GID des lokalen Benutzers
skotarczak
anders sind als auf dem NFS-Server, kann es zu Zugriffsproblemen kommen, da der NFS-Server diese IDs nicht mit deinem lokalen Benutzer verknüpfen kann. - Das bedeutet, du würdest möglicherweise keine Berechtigungen haben, um auf das NFS-Verzeichnis zuzugreifen.
Schritt 1: Die UID und GID auf dem NFS-Server herausfinden
Du musst herausfinden, welche UID und GID der Benutzer skotarczak
auf dem NFS-Server hat. Du kannst dies auf dem NFS-Server folgendermaßen tun:
-
UID und GID des Benutzers herausfinden: Auf dem NFS-Server kannst du die UID und GID des Benutzers
skotarczak
mit dem folgenden Befehl herausfinden:id skotarczak
Beispielausgabe:
uid=1001(skotarczak) gid=1001(skotarczak) Gruppen=1001(skotarczak)
In diesem Beispiel hat der Benutzer
skotarczak
die UID1001
und die GID1001
.
Schritt 2: Den Benutzer lokal anlegen
Nun musst du auf deinem lokalen Rechner einen Benutzer mit derselben UID und GID anlegen. Das geht mit dem Befehl useradd
(unter Linux) wie folgt:
-
Benutzer mit der gleichen UID und GID anlegen: Wenn die UID und GID des Benutzers
skotarczak
auf dem NFS-Server z. B.1001
sind, dann kannst du den Benutzer auf deinem lokalen System anlegen:sudo useradd -u 1001 -g 1001 -m skotarczak
Hierbei:
-u 1001
: Setzt die UID des Benutzers auf1001
.-g 1001
: Setzt die GID der Benutzergruppe auf1001
.-m
: Erstellt das Home-Verzeichnis des Benutzers (z. B./home/skotarczak
).
-
Passwort setzen: Falls du ein Passwort für den Benutzer setzen möchtest, kannst du das mit
passwd
tun:sudo passwd skotarczak
Gib das gewünschte Passwort ein.
Schritt 3: Rechte für das Home-Verzeichnis festlegen
Nachdem der Benutzer angelegt wurde, solltest du sicherstellen, dass das Home-Verzeichnis des Benutzers korrekt eingerichtet ist, damit er dort auch wirklich zugreifen kann.
Setze die Rechte für das Verzeichnis /home/skotarczak
:
sudo chown skotarczak:skotarczak /home/skotarczak
sudo chmod 700 /home/skotarczak
Schritt 4: Überprüfen, ob der Benutzer richtig eingerichtet wurde
Prüfe, ob der Benutzer korrekt angelegt wurde und ob die UID und GID stimmen:
id skotarczak
Die Ausgabe sollte die gleiche UID und GID wie auf dem NFS-Server zeigen.
Schritt 5: Mounten der NFS-Freigaben
Wenn der Benutzer angelegt ist und die Verzeichnisse /daten
und /home/skotarczak
vorhanden sind, kannst du nun die NFS-Freigaben manuell mounten oder den nächsten Neustart abwarten, wenn du die /etc/fstab
bereits angepasst hast.
Zum Beispiel manuelles Mounten
sudo mount -a
Das sollte die Verzeichnisse gemäß deiner /etc/fstab
einbinden.
Zusammenfassung UID und GID
- UID und GID sind sehr wichtig, um sicherzustellen, dass der Benutzer korrekt auf die NFS-Freigaben zugreifen kann.
- Du kannst den Benutzer
skotarczak
mit der gleichen UID und GID auf deinem lokalen Rechner anlegen, um sicherzustellen, dass es keine Berechtigungsprobleme gibt. - Der Befehl
useradd -u <UID> -g <GID> -m skotarczak
wird verwendet, um den Benutzer anzulegen. - Wenn alles korrekt eingerichtet ist, kannst du dich wie gewohnt anmelden und auf die NFS-Freigaben zugreifen.