Wie konfiguriert man NFS, um symbolische Links auf der Serverseite aufzulösen?

Wie konfiguriert man NFS, um symbolische Links auf der Serverseite aufzulösen?

Mein Bart ist jetzt ganz grau, und ich erinnere mich noch lange daran, NFS all die Jahrzehnte lang benutzt zu haben undhier zitiere ich das Original RFCdas gibt uns die Grundlage für das NFS, das wir heute habenRFC1094. Natürlich,drei Jahrzehnte und einige sind seitdem vergangen,also hier ist die Frage:

In der Zwischenzeitist es mittlerweile über eine Konfigurationsmöglichkeit möglich, Links serverseitig interpretieren zu lassen?Dies würde sicherlich einige meiner Probleme mit der clientseitigen Interpretation von Links lösen!

Oder liege ich völlig falsch, das, was ich zitiere, ist veraltet und wird standardmäßig auf der Serverseite aufgelöst, und ich jage bei meiner Fehlersuche nur Kaninchen in Kaninchenlöchern?

WENN ES NOCH OLD-SCHOOL IST UND CLIENT-SEITE INTERPRETIERT WIRD, undwenn es KEINE Option gibt, die eine serverseitige Interpretation ermöglicht, hilft es dann möglicherweise, relative statt absoluter Links zu verwenden?

Danke.

Antwort1

Die Symlinks werden immer vom Client aufgelöst. Dafür gibt es mehrere Gründe. Zunächst einmal hat das NFS-Protokoll das Konzept eines Datei-Handles. Jeder Handle zeigt auf ein Dateisystemobjekt, das ein Verzeichnis, eine Datei oder ein Symlink (und einige andere) sein kann. AußerdemNFSv4.1In der Spezifikation steht eindeutig:

Unabhängig davon, ob sie von einem NFS-Client oder lokal auf dem Server erstellt werden, werden die Daten in einem symbolischen Link bei der Erstellung nicht interpretiert, sondern lediglich gespeichert.

Zweitens müssen bei der Verarbeitung des symbolischen Links auf der Serverseite zusätzliche Berechtigungsregeln berücksichtigt werden, da der symbolische Link möglicherweise nach außen auf das exportierte Dateisystem verweist.

Tatsächlich haben SAMBA-Server keine Möglichkeit, Symlinks zu folgen. Dies liegt daran, dass (a) die ursprünglichen MS-Dateisysteme kein Konzept für Symlinks hatten und (b) symbolische Links als Dateisystemobjekttyp hinzugefügt wurden inSMB2. Das Verhalten entspricht übrigens der NFS-Interpretation:

Symbolische Links DÜRFEN vom Server NICHT ausgewertet werden.

Es gibt einige NFS-Server im Benutzerbereich, die bei Bedarf die Implementierung benutzerdefinierter Dateisysteme ermöglichen:

Wenn da ein ... istGutGrund für die Auflösung von Symlinks auf der Serverseite kann dies hinzugefügt werden.

Antwort2

Ich habe zwei Computer in einem Netzwerk mit denselben NFS-Mount-Einstellungen, die auf den Server verweisen. Auf dem Server gibt es Symlinks von einem exportierten Verzeichnis zu einem anderen. Auf einem Client funktionieren die Links einwandfrei und auf dem anderen sind sie unzuverlässig. Ich vermute, dass ein Fehler behoben wurde, da der funktionierende Client eine neue Version von NFS hat (dasselbe Protokoll wird verwendet). Theoretisch sollte die Anfrage an den Server gehen und dort interpretiert werden, da dieser den Export durchführt. Wenn ein Client einen Symlink in den Ordner einfügt, wird dieser auf anderen Clients wahrscheinlich nicht funktionieren. Der Server-Symlink sollte jedoch funktionieren. Dies legt allgemein nahe, dass ein spezieller Symlink-Typ für Netzwerkfreigaben erforderlich ist. So etwas wie ein Server-Symlink.

verwandte Informationen