Ejecutando CentOS 8
server side: /etc/exports:
/home/share *(ro)
/home y /home/share son propiedad de root.root y tienen 755 permisos en directorios y 644 permisos en archivos.
client side:
mount -t nfs4 server:/ /sharefolder
¿Cómo monto directamente /home/share en /sharefolder en lugar de montar la raíz del fs? Si intento "mount -t nfs4 server:/home/share /sharefolder", aparece el error "Operación no permitida"
Respuesta1
mount -t nfs4 server:/home/share /sharefolder
Parece un comando correcto del lado del cliente y su configuración funciona para mí, ya que la acabo de probar.
Por supuesto, debes ingresar el comando como root, o usarlo sudo
con él. El mensaje de error "Operación no permitida" sugiere que quizás accidentalmente ejecutó el comando como usuario no root o escribió mal el nombre del recurso compartido.
Tenga en cuenta que incluso si exporta y monta solo archivos server:/home/share
, el servidor NFSv4 deberá generar automáticamenteexportaciones virtualesPara /
y /home
. Sin embargo, estos no serán los directorios reales /
ni los del servidor NFS /home
, sino directorios virtuales de solo lectura que solo contienen los subdirectorios mínimos necesarios para llegar a los directorios realmente exportados. Una vez que se haya montado el recurso compartido, podrá ver esto en /proc/fs/nfsd/exports
el 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)
Respuesta2
Después de algunas pruebas, logré reproducir su problema y resulta ser un problema de firewall. Asegúrese de que el firewall esté desactivado y nfs
luego verifique que su recurso compartido funcione.
Suponiendo que utilices firewalld
:
sudo systemctl stop firewalld
Una vez que determine que nfs
funciona como se esperaba, querrá cambiar la configuración de su firewall.
nfs
depende de otros procesos demonios, por lo que para que nfs
funcione correctamente, debe dejar pasar no solo nfs
, sino también mountd
yrpc-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
También puede especificar una zona si desea que estos servicios se permitan solo para una zona específica agregando, por ejemplo--zone=nfszone
No he probado exhaustivamente esta solución y es posible que necesites abrir un puerto adicional para que todas las funcionalidades funcionen (es decir, bloqueo de archivos). Verhttps://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/s2-nfs-nfs-firewall-config