Mapeamento do usuário de exportação do ZFS NFS

1

Estou tentando usar a exportação do ZFS NFS em minha pequena rede doméstica. Até agora eu consegui exportar e montar, mas o diretório montado é mapeado para o usuário 'nobody' e é somente leitura. Eu gostaria de poder escrever para o monte.

O servidor está executando o Solaris 11.3 e eu exportei meu diretório pessoal usando

zfs set share.nfs=on pool/export/home/nfs

Neste sistema eu tenho um uid de 1001 e um gid de 10.

Eu tentei montar no Linux e no macOS. No Linux my uid / gid são ambos 1000 e no macOS são 501/20. A montagem do FreeBSD funciona como leitura / gravação, pois o uid é o mesmo.

Estou assumindo que o problema ocorre porque os uids (e gids) são diferentes. Algumas coisas que tentei

  • lado do cliente, monte como NVSv3 usando -o vers = 3
  • do lado do servidor, exporte com anon = 1001

Nenhum deles teve efeito.

Eu vejo duas soluções possíveis:

  1. Harmonize o uid / gids. Eu não me importo de fazer isso nos sistemas Linux / FreeBSD, já que não tenho muita coisa sobre eles. Estou um pouco mais relutante em tentar isso no meu MacBook.
  2. Encontre uma maneira de mapear

EDITAR: Aqui está a informação solicitada

# share
rpool_export_home_paulf /export/home/paulf      nfs     sec=sys,rw  

e

# sharectl get nfs
servers=1024
lockd_listen_backlog=32
lockd_servers=1024
lockd_retransmit_timeout=5
grace_period=90
server_versmin=2
server_versmax=4
client_versmin=2
client_versmax=4
server_delegation=on
nfsmapid_domain=
max_connections=-1
protocol=ALL
listen_backlog=32
device=
showmount_info=full
server_authz_cache_refresh=600
netgroup_refresh=600
resvport=false
    
por Paul Floyd 11.03.2018 / 13:37

1 resposta

1

O problema de você não conseguir gravar no compartilhamento é por causa dos diferentes UID e GID como você mesmo declarou.

A maneira mais fácil de fazer isso é criar um grupo nas duas máquinas com o mesmo GID , alterar a propriedade do compartilhamento para o grupo e, em seguida, adicionar os usuários ao grupo.

No servidor Solaris e na máquina Linux:

groupadd -u GID nfsgroup

No servidor Solaris:

chown :nfsgroup /nfs/share

Na máquina Linux.

usermod -aG nfsgroup linuxuser

Você também pode fazer isso alterando o UID, mas isso é um pouco mais complicado. Os comandos acima darão o que você deseja.

    
por 11.03.2018 / 17:26