NFS monta pastas, mas nenhum arquivo

NFS monta pastas, mas nenhum arquivo

Estou com um problema para exibir arquivos usando uma montagem NFSv4 entre

Server: Ubuntu 20.04, 192.168.1.1
Client: Ubuntu 18.04, 192.168.1.2

No servidor, tenho uma pasta e um arquivo

/home/server/files/myfile.pdf

(observe que 'servidor' está sendo usado como o nome da conta do usuário). Aqui está a cadeia completa de propriedade e permissões do arquivo original:

drwxr-xr-x  root:root        /
drwxr-xr-x  root:root        /home/
drwxr-xr-x  server:server    /home/server/
drwxrwxr-x  server:nfsgroup  /home/server/files/
-rwxrwxrwx  server:nfsgroup  /home/server/files/myfile.pdf

Aqui você pode ver um exemplo de utilitário 'user':'group' que criei:

nfsuser  uid=127
nfsgroup gid=134

Tanto 'nfsuser' quanto 'server' estão no grupo 'nfsgroup'.

No servidor, tenho o /files/diretório montado em ligação /srv/nfs4/files/in /etc/fstab, com uma entrada

/home/server/files    /srv/nfs4/files    none    bind    0    0

Isso foi bem-sucedido e posso ver claramente o /srv/nfs4/files/myfile.pdfarquivo como

-rwxrwxrwx  server:nfsgroup  /srv/nfs4/files/myfile.pdf

Aqui está a cadeia completa de propriedade e permissões do arquivo montado e servido:

drwxr-xr-x  root:root        /
drwxr-xr-x  root:root        /srv/
drwxrwxr-x  server:nfsgroup  /srv/nfs4/
drwxrwxr-x  server:nfsgroup  /srv/nfs4/files/
-rwxrwxrwx  server:nfsgroup  /srv/nfs4/files/myfile.pdf

Agora, quero exportar o /srv/nfs4/diretório inteiro, que contém o bind-mounted files/, para o cliente. Eu tenho esta entrada no servidor /etc/exports:

/srv/nfs4    192.168.1.2(rw,sync,fsid=0,root_squash,all_squash,anonuid=127,anongid=134,no_subtree_check)

Observe em particular que o all_squash,anonuid=127,anongid=134grupo de configurações faz com que o usuário cliente 'client' seja reconhecido como 'nfsuser' no 'nfsgroup' no que diz respeito às permissões.

Depois de exportar isso usando $ sudo exportfs -ra, eu o monto no diretório de nível raiz /nsffiles/do cliente usando o comando $ sudo mount -t nfs 192.168.1.1:/srv/nfs4 /nsffiles.

O resultado é que eupode verfiles/o diretório exportado /nsffiles/no cliente. No entanto, não consigo ver seu conteúdo:

$ ls -Alhd /nsffiles/
drwxrwxr-x 8 client 134 4.0K Nov 14 20:37 /nsffiles/

$ ls -Alhd /nsffiles/files/
drwxr-xr-x 2 root root 4.0K Nov 14 20:36 /nsffiles/files/

$ ls -Alh /nsffiles/files/
total 0

O fato de o cliente NFS poder ver o files/diretório indica que não há nada fundamentalmente errado com meus serviços NFS ou com a rede local. Não há problemas de firewall e não preciso instalar nenhum pacote adicional. Além disso, anteriormente eu tinha a montagem NFS funcionando perfeitamente em uma estrutura de pastas ligeiramente diferente ( files/estava em um diretório fora de casa, por exemplo), então sei que o básico está bom nesse aspecto.

Presumo que a causa mais provável de não funcionar agora é uma mudança sutil de propriedade/permissões entre a configuração anterior e a atual. Em particular, o diretório montado é

server side:    `/srv/nfs4/`    drwxrwxr-x  server:nfsgroup
client side:    `/nsffiles/`    drwxrwxr-x  client:134

O diretório contido é

server side:    `/srv/nfs4/files/`    drwxrwxr-x  server:nfsgroup
client side:    `/nsffiles/files/`    drwxr-xr-x  root:root

Ou seja, para o diretório montado, as permissões são convertidas como server:nfsgroup -> client:134, o que é esperado. As permissões para o diretório contido, no entanto, são convertidas como server:nfsgroup -> root:root. Por que root:roote não client:134?

Esta falha no servidorperguntaparece semelhante, mas diz respeito ao Windows, e não posso dizer se a única resposta se aplica.

Este Unix.SEperguntadiz respeito às permissões de arquivo NFS para uma configuração Windows/Linux; todas as informações que posso obter são coisas que já sei e acho que já cuidei.

Por favor, responda apenas se você souber do que está falando. Se você não consegue resistir a postar um palpite, identifique-o como um palpite. Ou, você sabe, forneça informações suficientes para que seu leitor perceba a diferença.

informação relacionada