Estou enfrentando um problema com o NFS nos últimos dias e realmente preciso de ajuda.
Minha configuração:
Armazenamento NAS: Synology, Exportação NFS /volume1/data
Nextcloud App Server: Debian, cliente NFS montado em /mnt/storage_cloud
Montar a exportação NFS 4.1 funciona bem, e eu posso acessar todos os dados com permissões de leitura/gravação como usuário root. No entanto, o usuário www-data (que executa o aplicativo Nextcloud) não consegue acessar o diretório de forma alguma.
O que tentei até agora:
chown : -> alterando a propriedade de 'storage_cloud': Operação não permitida
chmod 777 (sei que não é o ideal, mas vale a pena tentar): -> alterando permissões de 'storage_cloud': Operação não permitida
setfacl: -> Operação não suportada
Depois de uma extensa pesquisa, descobri que usar Kerberos em vez de sys_auth pode ser uma solução, mas encontrei muito pouca documentação ou tutoriais sobre esse tópico.
Dado que minha configuração não parece particularmente complexa, parece que deveria haver uma solução mais simples para permitir acesso adequado ao compartilhamento NFS para www-data. Posso estar complicando demais as coisas.
Eu realmente apreciaria qualquer informação ou sugestão!
Obrigado antecipadamente, PP
Só uma atualização rápida: encontrei uma solução! Parecia complicado no começo, mas no final, está funcionando. Pode não ser a solução perfeita, então sinta-se à vontade para sugerir quaisquer melhorias adicionais.
Primeiro, os problemas de acesso decorrem da maneira como o NFS mapeia dispositivos 1:1, exatamente como eles existem no lado da Synology. A Synology cria um usuário e grupo, e você pode montá-los 1:1 usando os mesmos IDs de usuário e grupo no seu dispositivo local. O root é esmagado no lado do servidor, o que fez parecer que estava funcionando. No entanto, quando você alterna para qualquer outro usuário, ele para de funcionar.
A solução: crie os mesmos IDs de usuário e grupo localmente e garanta que as permissões de acesso do grupo estejam corretas.
No meu caso, alterei os serviços NGINX e PHP para rodar sob meu novo usuário e grupo. Parece complicado, mas é só uma questão de editar dois arquivos de configuração e modificar a propriedade dos arquivos PID e logs. Essa é essencialmente toda a "mágica". Foi resolvido em 5 minutos depois que aceitei que não poderia conceder acesso da maneira usual.
Embora possa parecer incomum alterar o usuário padrão www-data, isso é bastante comum em configurações multi-vhost, como as fornecidas pelo Plesk ou cPanel.
Essa é a abordagem que adotei.
A solução alternativa — configurar o Kerberos com LDAP (e LDAP previamente!) para mapeamento de ID de usuário — é muito mais complexa.
Espero que isso ajude alguém que esteja enfrentando o mesmo problema que eu!