13 votes

Comment partager un répertoire via NFS depuis un Mac ? (sans l'application MacOS Server)

Tout d'abord, je suis heureux de payer les 19,99 $ pour l'application Mac OS Server de la boutique d'applications, donc ce n'est pas un problème, c'est juste que pour le moment je n'ai qu'un besoin spécifique - le partage NFS entre mon hôte MacOS Sierra et un invité VM virtualbox exécutant Debian Sarge (ne demandez pas).

C'est quelque chose que j'ai l'habitude de faire sous Linux sans aucune difficulté, mais la syntaxe pour /etc/exports ne semble pas être le même ? Dans la page de manuel pour les exportations sous MacOS, des drapeaux explicites sont utilisés ?

Ma ligne régulière dans /etc/exports sur 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)

Appel à nfsd checkexports renvoie ce qui suit :

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

Et si je simplifie et change le etc/exports l'entrée à /path/to/my/shared/directory -network 192.168.56.0 -mask 255.255.255.0 J'obtiens le résultat suivant à partir de 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

Note : /path/to/my/shared/directory n'est évidemment qu'un chemin d'accès de remplacement pour cette question, et non mon entrée réelle dans la base de données de l'UE. /etc/exports

Est-ce que c'est juste parce que la ligne dans /etc/exports est merdique, ou j'ai besoin d'une autre configuration ? ou ai-je besoin de l'application MacOS Server ?

En regardant https://help.apple.com/serverapp/mac/5.3/#/apd106E5632-C4E6-4572-8289-B9ACC652E88C il semble que je n'aie pas besoin de l'application MacOS Server pour quoi que ce soit ?

EDIT :

Ce que je veux, c'est le comportement équivalent et les permissions rw de rw,fsid=root,all_squash,anonuid=1000,anongid=1000,no_subtree_check dans mon exportation, je l'ai fait fonctionner avec NFS Manager où je peux monter le dossier sur mon invité VM mais en lecture seule.

14voto

Benjamin R Points 625

Ce qui était nécessaire était la ligne suivante dans /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) est la version FreeBSD, évidemment. Une fois que j'ai fait quelques recherches sur Google pour trouver la solution en ce qui concerne "FreeBSD" au lieu de "Mac", les informations nécessaires se sont présentées d'elles-mêmes, et un collègue a indiqué le drapeau exact nécessaire.

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

NFS Manager a été utile pour valider la solution mais pas nécessaire.

10voto

klanomath Points 63400

MacOS Server n'est pas du tout nécessaire pour partager des répertoires via NFS. Le client MacOS fournit tous les outils nécessaires.

En testant plusieurs exportations avec des chemins bidons, je suppose que votre chemin n'existe tout simplement pas.

L'outil GUI le plus pratique pour NFS est Gestionnaire NFS . Un écran de rappel vous sera présenté pour le lancer ou modifier les configurations, mais il fonctionne sans autre restriction.


La plupart des options que vous souhaitez sont disponibles dans MacOS (vérifier man exports ) et peut être configuré avec NFS Manager :

NFS Manager screenshot

Certains détails doivent être configurés dans les options avancées (par exemple, les autorisations d'accès).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X