Estou tentando me conectar a uma pasta NFS no meu servidor dev. O proprietário da pasta no servidor de desenvolvimento é darren e group darren.
Quando exporto e montei no meu Mac usando o Utilitário de Disco, ele é montado, mas quando tento abrir a pasta diz que não tenho permissões. Eu configurei rw, sync e no_subtree_check. O usuário no Mac está ocupado com vários grupos.
Preciso ter o mesmo grupo e usuário definido para acessar a pasta?
Respostas:
O NFS é construído sobre a autenticação RPC. Com o NFS versão 3, o mecanismo de autenticação mais comum é AUTH_UNIX. A identificação do usuário e a identificação do grupo do sistema do cliente são enviadas em cada chamada RPC, e as permissões que essas identificações têm no arquivo acessado são verificadas no servidor. Para que isso funcione, os UID e GIDs devem ser os mesmos no servidor e nos clientes. No entanto, você pode forçar todo o acesso a ocorrer como um único usuário e grupo combinando as opções de exportação all_squash, anonuid e anongid. all_squash mapeará todos os UIDs e GIDs para o usuário anônimo, e anonuid e anongid definirão o UID e o GID do usuário anônimo. Por exemplo, se seu UID e GID no servidor de desenvolvimento forem 1001, você poderá exportar seu diretório pessoal com uma linha como
/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)
Estou menos familiarizado com o NFS versão 4, mas acho que você pode configurar o rpc.idmapd nos clientes para alterar o uid e o gid que eles enviam ao servidor.
fonte
Quando você monta o NFS, suas permissões devem ser iguais às que você possui no servidor. Por exemplo, se seu usuário tiver apenas acesso somente leitura, montá-lo com leitura e gravação fará com que você veja os mesmos erros que você mencionou na sua postagem ao tentar realmente carregar a montagem. Infelizmente, isso APENAS será exibido ao acessar a pasta, não quando você realmente a montar.
Você também deseja garantir que o NFS do usuário esteja sendo executado como no servidor e o usuário no cliente esteja usando o mesmo UID e GID. Você pode verificar esses valores executando
id darren
no servidor e no cliente. Se os valores UID e GID não corresponderem, você pode editar/etc/passwd
para fazer isso - mas certifique-se de entender o que está fazendo antes de alterar arbitrariamente os valores!Algumas boas fontes:
Eu espero que isso ajude!
fonte
Seus UIDs e GIDs correspondem nos dois servidores? É isso que está usando para controlar o acesso, e não o nome de login e grupo.
fonte
Para mim, o problema foi corrigido, fornecendo
_netdev
a opção de montagem no cliente.Ou seja, adicione isso a
/etc/fstab
:fonte