Asignación de UID y GID del usuario local al recurso compartido NFS montado


36

Tengo un servidor con NFSv4. Estoy montando contenidos de la carpeta de inicio del usuario remoto en el host local. Capaz de leer y escribir contenidos, pero cuando verifico la propiedad de los archivos en el volumen montado desde el host local, todos pertenecen al usuario y grupo remoto correspondiente (512). ¿Hay alguna forma de hacer que parezca que pertenecen al usuario local y al grupo (1000) en el host local?

/ etc / exportaciones en host remoto (IP es 192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)

/ etc / fstab en el host local (IP es 192.168.1.142)

192.168.1.110:/home/user512    /home/localuser/projects/project512   nfs    rw,hard,intr,rsize=32768,wsize=32768    0       0

Respuestas:


34

Esto es lo que se supone que debe hacer idmapping. En primer lugar, habilitar está en el cliente y el servidor:

# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping

limpiar el caché de idmap y reiniciar el daemon de idmap:

# nfsidmap -c
# service rpcidmapd restart

Ahora en el servidor y el cliente enviará en lugar de ID numéricos principales de cadena como bob@YOURDOMAIN.COM . Debe tener una cuenta bob en ambos hosts: cliente y servidor. Sin embargo, las ID numéricas pueden ser diferentes.


77
Ftr, en el servidor nfs la ruta es / sys / module / nfsd / parámetros / nfs4_disable_idmapping (nfsd, no nfs)
Mike Purcell

2
No hay servicio rpcidmapden mi cliente Linux Mint.
Corni

1
Pregunta sobre esta respuesta: ¿hará echo N > /sys/module/nfsd/parameters/nfs4_disable-idmapping que esta configuración sea permanente o tendré que restablecerla cada vez que reinicie?
mauritslamers

44
En Ubuntu, el servicio se llama en idmapdlugar derpcidmapd
mauritslamers

2
Debian => idmapd del paquete nfs-common El servicio se llamanfs-idmapd
Philippe Gachoud

5

Tienes todas las piezas allí. Desde la página de manual de exportfs, all_squashasigna todos los uids y gids a las versiones anónimas. Lo que escribió obligó a esos valores a ser 512. Si cambia a 1000, el servidor nfs en el host remoto hará que todo sea 1000, y se debe otorgar acceso.


Mi uid en el cliente es 1000, el uid del usuario con el mismo nombre en el servidor es 1003. He intentado configurar anonuid=1000,anongid=1000y anonuid=1003,anongid=1003(y reiniciar el servidor nfsserver, y quitar / volver a montar el recurso compartido) y ninguno funciona. Votación negativa, porque esta respuesta no parece funcionar.
Phrogz el

Solo para confirmar, ¿cuáles son sus entradas de exportación y fstab?
volviéndose más

1
/home/gkistner *(async,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)en exportaciones y 10.20.118.112:/home/gkistner /mnt/r2 nfs rsize=8192,wsize=8192,timeo=14,intren fstab
Phrogz

3

en su cliente nfs, edite /etc/idmapd.conf y cambie

[Mapping]

Nobody-User = myappuser
Nobody-Group = myappuser

después de esto reinicie el servicio nfs

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.