Ao usar o NFS, como faço o usuário A no servidor aparecer como usuário B no cliente?

4

Eu tenho alguns servidores nos quais os UIDs e os GIDs são diferentes para os mesmos nomes de usuário e grupo. Quando o NFS monta um diretório pertencente ostensivamente ao mesmo usuário de um servidor para outro, o usuário não pode acessar os arquivos por causa da incompatibilidade de UID / GID.

Existe uma maneira de mapear UIDs e GIDs?

Obrigado.

    
por Nick Pierpoint 15.10.2009 / 15:59

7 respostas

3

Até onde eu sei, isso não é possível. Você pode mapear o root para um ID diferente, mas ninguém mais.

Você pode achar que usar o CIFS é um pouco mais fácil de fazer o que quiser.

    
por 15.10.2009 / 16:03
5

bindfs 1.10 (um sistema de arquivos do espaço de usuário Linux implementado via FUSE) monta um diretório em outro local, opcionalmente transformando UIDs / GIDs (e / ou permissões ) no processo.

bindfs --map=olduid1/newuid1:@oldgid1/@newgid1:... /olddir /newdir
    
por 15.09.2012 / 07:55
4

Você pode considerar o uso do LDAP . Seu problema simplesmente desaparecerá se você o fizer. Além disso, ele tira a dor dos usuários "em roaming" que podem ter diferentes UID / GIDs dependendo do sistema que estão usando.

Se o LDAP parecer intimidador no início, experimente uma ferramenta de gerenciamento baseada na web, como o Gosa , para começar. Se você já está familiarizado com as árvores LDAP, o phpLDAPadmin pode oferecer mais flexibilidade.

    
por 15.10.2009 / 16:33
2

Já respondi a uma pergunta semelhante: Mapeamento de UIDs para NFS .

Em suma, use o LDAP ou algum outro sistema para sincronizar seus UIDs.

    
por 17.10.2009 / 03:53
1

É possível, pelo menos, algumas implementações através da opção map_static na exportação. Veja este writeup .

    
por 15.10.2009 / 16:15
1

Veja a resposta de Wallace se você deseja que os usuários do cliente se alinhem com os usuários no servidor.

No entanto, se você estiver procurando por todos os usuários no cliente para serem o mesmo usuário no servidor, você pode adicionar (all_squash, anonuid = #, anongid = #) em seu arquivo / etc / exports no servidor para forçar todos os clientes sejam anônimos e, em seguida, defina o ID do usuário e o ID do grupo anônimos

    
por 15.10.2009 / 18:25
0

Você pode usar o comando usermod para alterar o UID / GID dos usuários nos dois sistemas. No entanto, você deve ter cuidado ao alterar os IDs dos usuários do sistema (uid < 500).

    
por 21.01.2014 / 11:35

Tags