Como definir corretamente as permissões para a pasta NFS? Permissão negada no final da montagem.

38

Estou tentando conectar-me a uma pasta NFS no meu servidor de desenvolvimento. O dono da pasta no servidor dev é darren e group darren.

Quando eu exporto e o monto no meu Mac usando o Utilitário de Disco, ele é montado, mas quando tento abrir a pasta, é dito que não tenho permissões. Eu configurei rw, sync e no_subtree_check. O usuário no Mac é divertido com vários grupos.

Preciso ter o mesmo grupo e conjunto de usuários para acessar a pasta?

    
por Darren 27.02.2011 / 19:12

4 respostas

49

O NFS é construído sobre a autenticação RPC. Com o NFS versão 3, o mecanismo de autenticação mais comum é AUTH_UNIX. O ID do usuário e o ID do grupo do sistema cliente são enviados em cada chamada RPC e as permissões que esses IDs têm no arquivo que está sendo acessado são verificadas no servidor. Para que isso funcione, o UID e os 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 o seu UID e GID no seu servidor dev forem ambos 1001, você poderia exportar o seu diretório inicial 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 para o servidor.

    
por 28.02.2011 / 19:30
24

Quando você monta o NFS, as permissões com as quais você está montando devem corresponder ao que você tem no servidor. Por exemplo, se o usuário tiver apenas acesso somente leitura, montá-lo com leitura-gravação fará com que você veja os mesmos erros mencionados em sua postagem quando tentar realmente carregar a montagem. Infelizmente, isso só aparecerá ao acessar a pasta, não quando você realmente montá-lo.

Você também quer ter certeza de que o NFS do usuário está sendo executado como no servidor e o usuário no cliente está usando o mesmo UID e GID. Você pode verificar esses valores executando id darren no servidor e no cliente. Se os valores de UID e GID não corresponderem, você poderá editar /etc/passwd para torná-lo assim - mas certifique-se de entender o que está fazendo antes de alterar arbitrariamente os valores!

Algumas boas fontes:

Espero que isso ajude!

    
por 27.02.2011 / 19:40
2

Seus UIDs e GIDs correspondem nos dois servidores? É isso que está sendo usado para controlar o acesso e não o login e o nome do grupo.

    
por 27.02.2011 / 19:42
-1

Para mim, o problema foi corrigido com a opção _netdev de montagem no cliente.

Ou seja. adicione isso a /etc/fstab :

nfs-server:/   /mnt   nfs4    _netdev,auto  0  0
    
por 16.10.2018 / 19:46