Como posso fazer o mapeamento UID do NFSv4 em sistemas com incompatibilidades de UID?

10

Eu estou trabalhando em um laboratório com três sistemas Ubuntu, e gostaria de cruzar alguns sistemas de arquivos via NFS. No entanto, embora os sistemas tenham alguns dos mesmos nomes de usuários, os UIDs e os GIDs não correspondem, porque os três sistemas foram configurados separadamente. Quando eu montei um sistema de arquivos NFS de um sistema para outro, a propriedade aparece errada. Por exemplo, se o UID 1000 for alice no servidor1 e o mesmo UID, 1000, for bob no servidor2, então, quando server1 montar o sistema de arquivos exportado do servidor2, os arquivos de bob parecerão pertencer a alice.

Então, existe alguma maneira de fazer o NFS (v4) converter UIDs entre servidores através de seus nomes de usuários associados? Pesquisando isso, já vi muitas referências a Kerberos, LDAP ou NIS, o que parece ser um grande exagero para uma tarefa tão simples, e pode não ser possível, já que esses sistemas não são gerenciados centralmente. Este link parece indicar que o que eu peço é impossível. Está correto?

Editar: Eu tentei todas as configurações para /etc/idmapd.conf que eu posso pensar ou encontrar na internet, e enquanto o processo idmapd está claramente em execução, até agora eu não vi nenhuma evidência de que o NFS está fazendo qualquer tentativa de use-o, e ele nunca teve qualquer efeito sobre o ID do usuário relatado nas montagens do NFS.

    
por Ryan Thompson 19.04.2012 / 00:17

2 respostas

4

Sem a administração centralizada de usuários, a melhor maneira que vejo é forçar todos os servidores a usar o mesmo GID e UID para cada usuário. Agora ... estou falando apenas de arquivos e / ou diretórios.

O que eu faria neste caso é:

  • Registre cada UID e GID atualmente em uso.
  • Edite /etc/passwd e /etc/group e corresponda aos grupos em todos os servidores. De preferência para novos UIDs e GIDs, então o próximo passo será mais rápido
  • Execute isso (levará algum tempo):

    find / -group <OLD_GID> -exec chgrp <NEW_GID> '{}' \+
    find / -user  <OLD_UID> -exec chown <NEW_UID> '{}' \+
    
por 12.12.2012 / 16:59
0

O NFSv4 suporta o mapeamento de id. Quando habilitado, o NFS transmitirá nomes de usuários em vez de identificações numéricas. Hosts com uid numéricos diferentes para o mesmo usuário não é um problema, pois os nomes de usuários são mapeados para uids no host.

O mapeamento de ID é sempre usado com os modos de segurança do Kerberos ( sec=krb5 ). O mapeamento de ID também pode ser usado no modo AUTH_UNIX (o padrão sec=sys ). Expliquei detalhes da configuração em resposta a: Como obter o idmap do NFSv4 trabalhando com sec = sys .

    
por 28.08.2018 / 19:02

Tags