Pregunta

La meta

Tengo la siguiente configuración:

  • Servidor doméstico con Ubuntu 13.10
  • Computadora portátil con Mac OSX 10.9 (Mavericks)

Estoy intentando exportar el directorio del servidor doméstico ~/Documentos como un montaje NFS al que se puede acceder desde mi computadora portátil Mac.

Configuración de Ubuntu

Usé Webmin en Ubuntu para crear una exportación NFS.Con el fin de probar el acceso por el momento, permití que cualquier nombre de host se conectara con acceso de lectura/escritura.

Webmin creó la siguiente configuración en /etc/exports

/home/jeeves/Documents        (insecure,no_subtree_check,no_root_squash,rw,nohide)

Configuración del portátil Mac OX 10.9

Monté el directorio remoto en un directorio local, /private/nfs

sudo mount -t nfs 192.168.1.219:/home/jeeves/Documents /private/nfs 

Todo funcionó bien y puedo ver "Dcouments" montado debajo /private en Buscador.

Sin embargo, no puedo acceder a ese directorio.

jeeves:~ $ cd /private/nfs/
-bash: cd: /private/nfs/: Permission denied

Tenía webmin configurado permisos como lectura/escritura (rw) y no filtra ninguna IP o nombre de host, entonces, ¿qué más se requiere para acceder a ese directorio?

¡Gracias de antemano por su ayuda!

Editar:

Aquí está mi configuración de Webmin.

enter image description here

Webmin no me deja seleccionar una versión NFS 4, presumiblemente porque solo tengo instalado NFS v3, según nfsstat

jeeves@HAL:~$ nfsstat
...
Server nfs v3:
null         getattr      setattr      lookup       access       readlink     
25        5% 28        6% 0         0% 126      29% 211      48% 0         0% 
...
¿Fue útil?

Solución

Probablemente tengas un problema con las identificaciones de usuario numéricas:la identificación de usuario numérica en su sistema ubuntu no coincide con la identificación de usuario numérica en su Mac.Con NFS, generalmente debe asegurarse de que sus ID de usuario numéricos sean de alguna manera iguales en todos sus sistemas.En sistemas domésticos/personales, los identificadores de usuario tienden a asignarse al azar, sin ningún tipo de sincronización, lo que causa problemas con NFS.

Dado que este es un servidor doméstico, y si confía en todos los que se conectan a su servidor NFS, una posible solución rápida, fácil, sucia, fea y torpe es abrir permisos y permitir que todos y todo leer/escribir/eliminar sus archivos (haga no hacer esto en un entorno empresarial, obviamente):

En su sistema Ubuntu, inicie sesión como jeeves (no sudo o usar cualquier otra cuenta), abra una ventana de terminal y ejecute los comandos, en el orden indicado:

cd /home/jeeves/Documents
find . -type d -print0 | xargs -0 chmod 777
find . -type f -print0 | xargs -0 chmod a+rw

Sin embargo, esto supone que NFS está configurado para permitir el acceso a usuarios que no son de confianza (en webmin, "Tratar a usuarios que no son de confianza como" está configurado de forma predeterminada, y no estoy seguro de qué es).

Tenga en cuenta que, con los comandos anteriores, los propietarios de archivos y directorios creados por Mac aparecerán como usuarios numéricos en Ubuntu (porque el sistema Ubuntu probablemente no tendrá ningún usuario en Ubuntu). /etc/passwd correspondientes a los identificadores numéricos de Mac, Ubuntu simplemente mostrará los identificadores numéricos sin formato).

Respuesta larga:

Cuando creaste el jeeves cuenta en su sistema Ubuntu, Ubuntu le asignó una identificación de usuario numérica.Cuando creó su cuenta de usuario en su Mac, Mac le asignó una identificación de usuario numérica, que probablemente era diferente al número asignado en el sistema Ubuntu.Tenga en cuenta que los nombres de usuario (por ejemplo, "jeeves") son una conveniencia para el usuario;ni Ubuntu ni Mac los usan internamente y, en su lugar, usan identificadores de usuario.NFS utiliza estos identificadores numéricos para determinar la propiedad/permisos (en el cuadro de Ubuntu).

  • Si los identificadores coinciden, se utilizan los permisos de "usuario".

  • Si los identificadores no coinciden:

    • (Se pueden usar permisos de "grupo", pero eso es poco probable y no voy a discutir eso).

    • Se utilizan los permisos "Otros".Tenga en cuenta que, al crear archivos/directorios, si la identificación de usuario (Mac) no se encuentra en el cuadro de Ubuntu, generalmente obtendrá archivos que parecen pertenecer a un propietario "numérico";el número que ves es el que está usando Mac, y ves el número porque esa identificación no aparece en Ubuntu /etc/passwd.

IIRC, Ubuntu usa una umask de 022, lo que significa que solo el propietario de /home/jeeves/Documents puede escribir/crear archivos y directorios;todos los demás tienen permisos de solo lectura.A menos que haya sincronizado de alguna manera los ID de usuario entre sus casillas, es poco probable que tenga los mismos ID de usuario y, por lo tanto, tendrá problemas de permisos.

Dado que se trata de un servidor doméstico, la solución más sencilla, mencionada anteriormente, es simplemente deshacerse de la seguridad y permitir que todos y todo accedan a sus archivos.Por supuesto, esto es desagradable por razones obvias.

La solución correcta es asegurarse de que todos los ID de usuario estén sincronizados entre todos los sistemas, pero esto puede ser un problema en un entorno doméstico.Además, cambiar las identificaciones de usuario una vez que se ha utilizado una cuenta es problemático;Si bien esto se puede hacer, debe hacerse con cuidado, ya que podría dañar su sistema.No voy a entrar en detalles.

Editar:sentencia parcial fija.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top