Cliente NFS não ignora UIDs no mapa NFS

Cliente NFS não ignora UIDs no mapa NFS

Tenho seis máquinas, um servidor NFS e cinco clientes. Três clientes (executando Ubuntu 14.04) funcionam perfeitamente. Os outros dois, executando 12.04, estão apresentando erros de permissão.

Na máquina cliente mapeada, ls -l /home/retorna:

drwxr-xr-x 22 testuser     testuser     12288 Oct  9 18:03 testuser

Esta é a configuração de permissões esperada. testuseré o usuário que precisa de permissão para esta pasta.

Mas, quando logado testuser, quando touch /home/testuser/test.txtrecebo este erro:

touch: cannot touch `/home/testuser/test.txt': Permission denied

Agora, os IDs numéricos NÃO correspondem às strings de ID, masDisseram-me que não precisa ser assim.

Configurações do cliente:

cat /sys/module/nfs/parameters/nfs4_disable_idmapping
N 

A configuração acima permite que o NFS mapeie as permissões do usuário usando strings, não UIDs e GIDs numéricos.

cat /etc/idmapd.conf
[General]

Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nogroup

Configurações do servidor:

cat /etc/exports

/raid/nfs/home        server1(rw,sync,no_root_squash,no_subtree_check)
/raid/nfs/home        server2(rw,sync,no_root_squash,no_subtree_check)

Há algum bug ou etapa extra que preciso realizar para que as máquinas 12.04 funcionem corretamente? Ou devo apenas morder a bala e atualizar, ou apenas alterar todos os UIDs para corresponder ao servidor?

Responder1

o problema é que o idmapd está envolvido apenas quando você faz GETATTR/SETATTR (stat, chown, setacl) ou o kerberos é usado (para mapeamento de principal para id). Mas quando o cliente nfs envia a solicitação CREATE com auth = sys, então uid e gid são obtidos da mensagem RPC. Então você precisa de uid e gid match no servidor e no cliente para resolver seu problema de permissão.

informação relacionada