Como montar a pasta nfsv4 diretamente em vez do root

Como montar a pasta nfsv4 diretamente em vez do root

Executando o CentOS 8

server side: /etc/exports:
/home/share *(ro)

/home e /home/share são propriedade de root.root e possuem 755 permissões em diretórios e 644 permissões em arquivos.

 client side:
 mount -t nfs4 server:/ /sharefolder

Como faço para montar /home/share diretamente em /sharefolder em vez de montar a raiz do fs? Se eu tentar "mount -t nfs4 server:/home/share /sharefolder", recebo um erro "Operação não permitida"

Responder1

mount -t nfs4 server:/home/share /sharefolderparece um comando correto do lado do cliente e sua configuração funciona para mim, pois acabei de testá-la.

Claro, você deve inserir o comando como root ou usá sudo-lo. A mensagem de erro “Operação não permitida” sugere que talvez você tenha executado acidentalmente o comando como um usuário não root ou digitado incorretamente o nome do compartilhamento.

Observe que mesmo se você exportar e montar apenas server:/home/share, o servidor NFSv4 precisará gerar automaticamenteexportações virtuaisPara /e /home. No entanto, estes não serão os diretórios reais /nem /home, mas virtuais somente leitura do servidor NFS que contêm apenas os subdiretórios mínimos necessários para alcançar os diretórios realmente exportados. Depois que o compartilhamento for montado, você poderá ver isto /proc/fs/nfsd/exportsno servidor NFS:

cat /proc/fs/nfsd/exports
# Version 1.1
# Path Client(Flags) # IPs
/home   *(ro,insecure,no_root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=e4c0fcd4:00b94db3:b63bd9a8:0e705e29,sec=390003:390004:390005:1)
/home/share     *(ro,root_squash,sync,wdelay,no_subtree_check,uuid=e4c0fcd4:00b94db3:b63bd9a8:0e705e29,sec=1)
/       *(ro,insecure,no_root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=e4c0fcd4:00b94db3:b63bd9a8:0e705e29,sec=390003:390004:390005:1)

Responder2

Depois de alguns testes consegui reproduzir o seu problema, e acabou sendo um problema de firewall. Certifique-se de que o firewall esteja desativado e verifique se o seu nfscompartilhamento funciona depois.

Supondo que você use firewalld:

sudo systemctl stop firewalld

Depois de determinar que nfsfunciona conforme o esperado, você desejará alterar a configuração do firewall. nfsdepende de outros processos daemon, portanto, para nfsfuncionar corretamente, você precisa deixar passar não apenas nfs, mas também mountderpc-bind

sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --reload

Você também pode especificar uma zona se desejar que esses serviços sejam permitidos apenas para uma zona específica, adicionando, por exemplo--zone=nfszone

Não testei completamente esta solução e pode ser necessário abrir uma porta adicional para que todas as funcionalidades funcionem (ou seja, bloqueio de arquivos). Consultehttps://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/s2-nfs-nfs-firewall-config

informação relacionada