¿Cómo compartir un directorio a través de NFS desde Mac? (sin la aplicación macOS Server)

En primer lugar, estoy feliz de pagar $19.99 por la aplicación Mac OS Server de la tienda de aplicaciones, así que no hay problema, es solo que en este momento solo tengo una necesidad específica: compartir NFS entre mi host macOS sierra y un Invitado virtualbox VM que ejecuta Debian Sarge (no pregunte).

Esto es algo a lo que estoy acostumbrado a hacer en Linux sin ninguna dificultad, pero la sintaxis para /etc/exportsno parece ser la misma. En la página de manual para exportaciones en macOS, ¿usa banderas explícitas?

Mi línea habitual en /etc/exportsLinux:

# 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)

Llamar nfsd checkexportsdevuelve lo siguiente:

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

Y si simplifico y cambio la etc/exportsentrada /path/to/my/shared/directory -network 192.168.56.0 -mask 255.255.255.0, obtengo el siguiente resultado 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

Nota: /path/to/my/shared/directoryobviamente es solo una ruta de archivo de marcador de posición para esta pregunta, no mi entrada real en/etc/exports 🤣

¿Es solo porque la entrada de línea /etc/exportses mala o necesito alguna otra configuración? ¿O necesito la aplicación macOS Server?

Al mirar https://help.apple.com/serverapp/mac/5.3/#/apd106E5632-C4E6-4572-8289-B9ACC652E88C , parece que no es algo para lo que necesito la aplicación macOS Server.

EDITAR:

Lo que quiero es el comportamiento equivalente y los permisos rw rw,fsid=root,all_squash,anonuid=1000,anongid=1000,no_subtree_checken mi exportación, lo tengo funcionando con NFS Manager donde puedo montar la carpeta en mi VM invitada pero solo lectura.

Respuestas (2)

Lo que se requería era la siguiente línea en /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)es la versión de FreeBSD, obviamente. Una vez que busqué en Google la solución con respecto a "FreeBSD" en lugar de "Mac", se presentó la información necesaria, un colega señaló el indicador exacto necesario.

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

NFS Manager fue útil para validar la solución, pero no es necesario.

No se requiere macOS Server para compartir directorios a través de NFS. El cliente macOS proporciona todas las herramientas necesarias.

Probando varias exportaciones con rutas falsas, asumiría que su ruta simplemente no existe.

La herramienta GUI más conveniente para NFS es NFS Manager . Se le presentará una pantalla molesta al iniciarlo o cambiar configuraciones, pero funciona sin más restricciones.


La mayoría de las opciones deseadas están disponibles en macOS (marque man exports) y se pueden configurar con NFS Manager:

Captura de pantalla del administrador de NFS

Hay que configurar algunos detalles en las opciones avanzadas (por ejemplo, los permisos de acceso).

El camino definitivamente existe 😆
Sin embargo, revisaré NFS Manager y gracias por verificar que no necesito comprar la aplicación del servidor.
@BenjaminR Obtuve dicho error solo cuando ingresé rutas inexistentes en /etc/exports (lo que no sucede con NFS Manager, porque ofrece un navegador de sistema de archivos). Sin embargo, no lo he probado con alias o enlaces blandos.