Nos tutoriais sobre o NFSv4, é comum ver a recomendação de exportar um diretório raiz compartilhado para a sub-rede inteira, semelhante a este do wiki do Arch:
/ etc / exports:
/srv/nfs 192.168.1.0/24(rw,sync,crossmnt,fsid=0,no_subtree_check)
/srv/nfs/music 192.168.1.0/24(rw,sync,no_subtree_check)
/srv/nfs/public 192.168.1.0/24(ro,all_squash,insecure,no_subtree_check) desktop(rw,sync,all_squash,anonuid=99,anongid=99,no_subtree_check)
Seria mais seguro não ter a primeira linha? (Em toda a minha pergunta, quando menciono "primeira linha", estou me referindo à primeira linha de exportação no snippet acima.)
Com o NFSv4, fsid = 0 é opcional, e parece ser uma conveniência para encurtar o caminho (traduzindo / srv / nfs para /). Nos meus testes preliminares, as exportações funcionam corretamente sem a primeira linha, desde que você use / srv / nfs. Quais são as funções importantes que essa primeira linha fornece?
Eu também quero considerar o exemplo quando sabemos que há pelo menos mais uma montagem de bind como esta:
/srv/nfs/projects
(Suponha que o conteúdo de "projetos" seja sensível, ao contrário da montagem de bind de música.)
A primeira linha de exportação, como está escrita acima, parece dar a cada cliente no acesso LAN para todo o sistema de arquivos exportado, especialmente com crossmnt e, no_subtree_check. Não estou sugerindo que as permissões de proprietário e grupo sejam ignoradas, mas estou pensando que as exportações funcionariam tão bem sem a primeira linha e que as outras associações de bind sob / srv / nfs (como / srv / nfs / projects) não seria desnecessariamente aberto para toda a sub-rede, expondo eventuais descuidos em torno das permissões do proprietário e do grupo.
Naturalmente, pode-se adicionar uma exportação semelhante a isso corretamente "projetos":
/ etc / exports:
/srv/nfs/projects 192.168.1.123(rw,sync,root_squash,subtree_check)
Esta nova linha é afetada de alguma forma pela primeira linha? Não consigo ver como a primeira linha de exportação serviu a qualquer propósito importante.
Se a linha for útil ou recomendada, seria sensato fazer algo assim?
/srv/nfs 192.168.1.0/24(ro,sync,fsid=0,subtree_check,all_squash)
É correto que as exportações mais específicas que se seguem substituam essa? Por exemplo, a seguinte linha forneceria acesso RW a "música" mesmo quando a primeira linha fosse alterada para ro e se tornasse mais restritiva como no exemplo abaixo?
/srv/nfs 192.168.1.0/24(ro,sync,fsid=0,subtree_check,all_squash)
/srv/nfs/music 192.168.1.2(rw,sync,no_subtree_check)
A ordem é importante para listar as exportações? O que determina precedência? Endereços mais específicos (por exemplo, 192.168.1.2) substituem os mais gerais (192.168.1.0/24)?
OBSERVAÇÃO: há um único tema focalizado nesta questão, e provavelmente poderia usar um título melhor para deixar isso claro, mas não estou chegando com o título certo para isso até agora. Congratulo-me com edições.
Tags nfsv4