mapeamento do usuário NFS

3

Eu tenho duas máquinas, ambas com o CentOS 6.4 instalado, conectadas na mesma rede privada.

Um deles tem o objetivo de ser um servidor NFS e o outro é o cliente.

Na máquina do servidor (servidor), eu exportei o diretório /net/directory adicionando a linha ao arquivo /etc/exports

/net/directory *(rw,sync,no_root_squash)

Com o serviço iniciado, fui até o cliente e adicionei o ponto de montagem a /etc/fstab

server:/net/directory   /client/directory       nfs defaults    0 0

E depois montado

# mount /client/directory

O problema é que quando eu crio um novo arquivo / diretório dentro do ponto montado do cliente, esse arquivo vai ser mapeado como nobody:nobody quando criado como um usuário desconhecido do lado do servidor.

Aqui está um exemplo (para esclarecimentos)

Apenas no lado do cliente existe um usuário e grupo com o mesmo nome chamado testuser

  • nome de usuário: testuser
  • UID: 1001
  • GID: 1001

No lado do cliente, crio um arquivo como testuser

[testuser@client ~]# touch /client/directory/test

Então eu listo o conteúdo do diretório

[testuser@client ~]# ls -l /client/directory
total 0
-rw-r--r--. 1 nobody nobody 0 Jul  2 16:46 test

Mas no lado do servidor, tudo é o esperado:

[root@earth ~]# ls -l /net/directory
total 0
-rw-r--r--. 1 1001 1001 0 Jul  2 16:46 test

Eu quero o mesmo resultado no lado do cliente:

- o arquivo deve estar com o UID: GID como 1001: 1001

O que estou fazendo de errado? Isso é um problema de servidor ou cliente?

Pesquisei vários manuais NFS e nada está me ajudando.

Alguém sabe como posso fazer isso (sem criar o usuário no lado do servidor)?

Obrigado.

    
por Jorge 02.07.2013 / 19:54

1 resposta

4

Verifique se o domínio em /etc/idmapd.conf é o mesmo no cliente e no servidor. Verifique se o rpc.idmapd está sendo executado no cliente e no servidor. E, claro, o usuário deve existir no cliente e no servidor. O NFSv4 usa os principais usuários na rede e é responsabilidade do cliente e do servidor fornecer um mapeamento propício. À medida que você usa AUTH_SYS, o uid / gid local é propagado para o servidor na criação, mas o 'ls' elimina o mapeamento para funcionar.

    
por 02.07.2013 / 20:24