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
Alejandro
fuente

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 [email protected] . Debe tener una cuenta bob en ambos hosts: cliente y servidor. Sin embargo, las ID numéricas pueden ser diferentes.

kofemann
fuente
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.

cada vez más sabio
fuente
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

c4f4t0r
fuente