En el sistema cliente, el funcionamiento de NFS está basado en la capacidad de traducir los accesos de las aplicaciones a un sistema de archivos en peticiones al servidor correspondiente a través de la red. Esta funcionalidad del cliente se encuentra normalmente programada en el núcleo de Linux, por lo que no necesita ningún tipo de configuración.
Respecto al servidor, NFS se implementa mediante dos servicios de red, denominados mountd y nfsd. Veamos qué acciones controlan cada uno de ellos:
El servicio mountd se encarga de atender las
peticiones remotas de montaje, realizadas por la orden
mount
del cliente. Entre otras cosas, este
servicio se encarga de comprobar si la petición de montaje es
válida y de controlar bajo qué condiciones se va a acceder al
directorio exportado (sólo lectura, lectura/escritura, etc.). Una
petición se considera válida cuando el directorio solicitado ha
sido explícitamente exportado y el cliente tiene permisos
suficientes para montar dicho directorio. Esto se detalla más
adelante en el documento.
Por su parte, y una vez un directorio remoto ha sido montado con éxito, el servicio nfsd se dedica a atender y resolver las peticiones de acceso del cliente a archivos situados en el directorio.