2012-01-04 20 views
6

OK, estoy muy confundido sobre estas cosas, por lo que las respuestas realmente descriptivas serían apreciadas, especialmente si hacen que todo este montaje sea menos mágico y más predecible.Montaje de red NFS: configurar el propietario en una cuenta específica

Estoy tratando de montar mi NAS Drobo-FS con nfs para obtener un mejor rendimiento que con cifs.

El drobo está ejecutando algunas distribuciones de Linux recortadas.

Interior/etc/fstab en la máquina cliente (Ubuntu con IP: 192.168.1.150)

# Mount Drobo 
192.168.1.100:/mnt/DroboFS/Shares/public /media/drobonfs nfs rw,soft,proto=tcp,users 0 0 

He unfsd instalado en el Drobo y el acceso a través de SSH. Este es el archivo de exportación en el servidor (Drobo-FS con IP 192.168.1.100):

# Allow access for client machine 
/mnt/DroboFS/Shares 192.168.1.150(rw,no_root_squash) 

montaje funciona bien, excepto que los archivos montados son propiedad de raíz con la mayoría de los permisos de archivo establecidos a 744 Los permisos de archivo que se muestran en el montaje en el cliente coinciden con los permisos reales en el servidor. Por ejemplo:

client$ sudo chmod 123 /media/drobonfs/somefile 
client$ ls -l /media/drobonfs/somefile 
---x-w--wx 1 root root 0 2012-01-04 14:15 /media/drobonfs/somefile 

drobo$ ls -l /mnt/DroboFS/Shares/public/somefile 
---x-w--wx 1 root  root   0 Jan 4 14:15 /mnt/DroboFS/Shares/public/somefile 

sudo Escritura delante de cada comando es un lastre y quiero entender lo que está pasando, así que lo que puedo hacer para montarlo en la máquina cliente con el propietario/grupo creado a mi cuenta en lugar de la raíz?

Respuesta

1

parece que esto debería funcionar en las exportaciones en el Drobo:

/mnt/DroboFS/Acciones 192.168.1.150 (rw, all_squash, anonuid = NNN)

donde NNN es el ID de usuario numérico del cliente.

+0

Lamentablemente no, esto no funcionó. Aún se montó, pero el propietario/grupo aún estaba configurado para rootear. – Matthew

0

Cambio /etc/exports a:

/mnt/DroboFS/Shares 192.168.1.150(rw,insecure) 

y luego, en el servidor NFS, ejecute:

$ sudo exportfs -a 

Ahora cuando se monta el directorio como un usuario no root en el cliente NFS se montará con el propietario y el grupo apropiados.

+1

¿Por qué debería la opción 'insegura' ayudar aquí ...? –

4

Cuando se monta un recurso compartido, el ID de usuario (UID) del sistema host se mapea en el ID de usuario (UID) del cliente.

En el cliente, el usuario mapeado (basado en el ID de usuario) se convertirá en el propietario del recurso compartido montado.

Su problema se debe a que el host usa otro UID y luego el cliente.

Puede resolver esto mediante la definición de un archivo /etc/nfs.map:

/etc/nfs.map

Este será parecida:

# remote local gid 500 1000 # drobo client uid 500 2003 # drobo client

Por eso, cuando el uso de NFS que necesita para hacer Seguro que hay una coincidencia UID/GID entre los usuarios en el host y el cliente. Por favor, lea el siguiente artículo también: http://www.kernelcrash.com/blog/nfs-uidgid-mapping/2007/09/10/

Otra gran manera de resolver este problema está mirando en la década de los UID, tanto en el sistema anfitrión y el cliente buscando en este archivo /etc/passwd en ambos sistemas.

o escribiendo:

id tom 

cambio con el UID:

usermod -u 10000 tom 

Buena suerte!

+0

map_static que es para establecer nfs.map no se reconoce en centos 7 x86_64 con nfs-server instalado por defecto. 'unknown keyword" map_static =/etc/nfs.map "' –

+0

Cambiar el UID/GID para permitir que el servidor y el cliente tengan el mismo número de UID/GID me funciona. [linux-changing-uids-and-gids-for-user] (https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/) –

Cuestiones relacionadas