Wie kann ich ein Verzeichnis über NFS von einem Mac freigeben? (ohne macOS Server-App)

Zunächst einmal bezahle ich gerne die 19,99 $ für die Mac OS Server-App aus dem App Store, also ist das kein Problem, es ist nur so, dass ich im Moment nur einen bestimmten Bedarf habe – NFS-Freigabe zwischen meinem macOS Sierra-Host und a Virtualbox-VM-Gast mit Debian Sarge (nicht fragen).

Das ist etwas, was ich unter Linux ohne Schwierigkeiten gewöhnt bin, aber die Syntax für /etc/exportsscheint nicht dieselbe zu sein? In der Manpage für Exporte unter macOS werden explizite Flags verwendet?

Mein regelmäßiger Eintrag /etc/exportsunter Linux:

# NFS Share to Virtualbox guests:
/path/to/my/shared/directory 192.168.56.0/24(rw,fsid=root,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Der Aufruf nfsd checkexportsgibt Folgendes zurück:

getaddrinfo() failed for 192.168.56.0/24(rw,fsid=root,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
exports:2: couldn't get address for host: 192.168.56.0/24(rw,fsid=root,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
exports:2: no valid hosts found for export

Und wenn ich den etc/exportsEintrag vereinfache und ändere, /path/to/my/shared/directory -network 192.168.56.0 -mask 255.255.255.0erhalte ich die folgende Ausgabe von nfsd checkexports:

exports:2: path contains non-directory or non-existent components: /path/to/my/shared/directory
exports:2: no usable directories in export entry and no fallback

Hinweis: /path/to/my/shared/directoryist offensichtlich nur ein Platzhalter-Dateipfad für diese Frage, nicht mein tatsächlicher Eintrag in/etc/exports 🤣

Liegt es nur daran, dass der Line-In /etc/exportsMist ist, oder brauche ich eine andere Konfiguration? oder brauche ich die macOS Server App?

Wenn man sich https://help.apple.com/serverapp/mac/5.3/#/apd106E5632-C4E6-4572-8289-B9ACC652E88C ansieht , scheint es, als wäre es nichts, wofür ich die macOS Server-App brauche?

BEARBEITEN:

Was ich möchte, ist das entsprechende Verhalten und die RW-Berechtigungen rw,fsid=root,all_squash,anonuid=1000,anongid=1000,no_subtree_checkin meinem Export, ich habe es mit NFS Manager zum Laufen gebracht, wo ich den Ordner auf meinem VM-Gast mounten kann, aber schreibgeschützt.

Antworten (2)

Was benötigt wurde, war die folgende Zeile in /etc/exports:

/path/to/shared/dir -mapall=<uid of local user on host machine with correct perms> -network 192.168.56.0 -mask 255.255.255.0

exports(5)ist offensichtlich die FreeBSD-Version. Als ich nach der Lösung in Bezug auf "FreeBSD" statt "Mac" gegoogelt hatte, boten sich die notwendigen Informationen, die ein Kollege auf das genaue benötigte Flag hinwies.

Quelle: http://www.freebsdmadeeasy.com/tutorials/freebsd/using-freebsd-nfs.php

NFS Manager war bei der Validierung der Lösung hilfreich, aber nicht erforderlich.

macOS Server ist überhaupt nicht erforderlich, um Verzeichnisse über NFS freizugeben. Der macOS-Client stellt alle notwendigen Tools bereit.

Beim Testen verschiedener Exporte mit falschen Pfaden gehe ich davon aus, dass Ihr Pfad einfach nicht existiert.

Das bequemste GUI-Tool für NFS ist NFS Manager . Sie werden mit einem Nag-Screen angezeigt, der es startet oder Konfigurationen ändert, aber es funktioniert ohne weitere Einschränkungen.


Die meisten Ihrer gewünschten Optionen sind in macOS verfügbar (markieren Sie man exports) und können mit NFS Manager konfiguriert werden:

NFS-Manager-Screenshot

Einige Details müssen in den erweiterten Optionen konfiguriert werden (zB die Zugriffsberechtigungen).

Der Weg existiert definitiv 😆
Ich werde mir NFS Manager jedoch ansehen und danke für die Bestätigung, dass ich die Server-App nicht kaufen muss
@BenjaminR Ich habe diesen Fehler nur erhalten, wenn ich nicht vorhandene Pfade in /etc/exports eingegeben habe (was mit NFS Manager nicht passiert, weil es einen Dateisystembrowser bietet). Habe es aber nicht mit Aliases oder Softlinks getestet.