
Estou trabalhando em um laboratório com três sistemas Ubuntu e gostaria de montar alguns sistemas de arquivos via NFS. No entanto, embora os sistemas tenham alguns nomes de usuário iguais, os UIDs e GIDs não correspondem, porque os três sistemas foram configurados separadamente. Quando monto 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 o servidor1 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 por meio de seus nomes de usuário associados? Pesquisando isso no Google, vi muitas referências a Kerberos, LDAP ou NIS, o que parece um exagero para uma tarefa tão simples e pode não ser possível, uma vez que esses sistemas não são gerenciados centralmente.Esse linkparece indicar que o que peço é impossível. Está correto?
Editar: Eu tentei todas as configurações que /etc/idmapd.conf
posso imaginar ou encontrar na Internet e, embora o processo idmapd esteja claramente em execução, até agora não vi nenhuma evidência de que o NFS esteja fazendo qualquer tentativa de usá-lo, e nunca teve qualquer efeito nos IDs de usuário relatados nas montagens NFS.
Responder1
NFSv4 suporta mapeamento de ID. Quando ativado, o NFS transmitirá nomes de usuários em vez de IDs numéricos. Hosts com uids numéricos diferentes para o mesmo usuário não são um problema, pois os nomes de usuários são mapeados para uids no host.
O mapeamento de ID é sempre usado com modos de segurança Kerberos ( sec=krb5
).
O mapeamento de ID também pode ser usado no sec=sys
modo AUTH_UNIX (o padrão). Expliquei os detalhes da configuração em resposta a:Como fazer com que o idmap do NFSv4 funcione com sec=sys.
Responder2
Sem 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
combine os grupos em todos os servidores. De preferência para novos UIDs e GIDs para que o próximo passo seja mais rápido Execute isto (vai levar algum tempo):
find / -group <OLD_GID> -exec chgrp <NEW_GID> '{}' \+ find / -user <OLD_UID> -exec chown <NEW_UID> '{}' \+