Existen tres formas de configurar un servidor NFS bajo Red Hat Enterprise Linux: usando la Herramienta de configuraci�n del servidor NFS (system-config-nfs), modificando manualmente su archivo de configuraci�n (/etc/exports), o utilizando el comando /usr/sbin/exportfs.
Para las instrucciones sobre c�mo utilizar la Herramienta de configuraci�n del servidor NFS, consulte el cap�tulo llamado Sistemas de archivo de red (NFS) en el Manual de administraci�n del sistema de Red Hat Enterprise Linux. El resto de esta secci�n discute la modificaci�n manual de /etc/exports y el uso del comando /usr/sbin/exportfs para exportar sistemas de archivos NFS.
9.3.1. El archivo de configuraci�n /etc/exports
El archivo /etc/exports controla cu�les sistemas de archivos son exportados a las m�quinas remotas y especifica opciones. Las l�neas en blanco son ignoradas, se pueden comentar l�neas con el s�mbolo # y las l�neas largas pueden ser divididas con una barra invertida (\). Cada sistema de archivos exportado debe tener su propia l�nea y cualquier lista de hosts autorizadas colocada despu�s de un sistema de archivos exportado, debe estar separada por un espacio. Las opciones para cada uno de los hosts deben ser colocadas entre par�ntesis directamente detr�s del identificador del host, sin ning�n espacio de separaci�n entre el host y el primer par�ntesis.
Una l�nea para un sistema de archivos exportado tiene la estructura siguiente:
<export><host1>(<options>) <hostN>(<options>)...
En esta estructura, reemplace <export> con el directorio a exportar, reemplace <host1> con el host o la red a la cual va a compartir el directorio y reemplace <options> con las opciones para ese host o red. Los hosts adicionales se pueden especificar en una lista separada por espacios.
Se pueden usar los m�todos siguientes para especificar nombres de host:
host �nico — Cuando una m�quina en particular es especificada con nombre completo de dominio, nombre de m�quina o direcci�n IP.
comodines — Usamos un car�cter * o ? para referirnos a un grupo de nombres completos de dominio o direcciones IP o que coincidan con una cadena particular de letras. Los comodines no se deber�an de utilizar con direcciones IP; sin embargo, es posible para estos funcionar accidentalmente si fallan las b�squedas de DNS inversas.
Tenga cuidado cuando especifique comodines con nombres de dominio completos, pues tienden a ser m�s exactos de lo que usted cree. Por ejemplo, el uso de *.ejemplo.com como comod�n, permitir� a ventas.ejemplo.com acceder al sistema de archivos exportado, pero no a bob.ventas.ejemplo.com. Para coincidir ambas posibilidades, deber�a usar *.ejemplo.com y tambi�n *.*.ejemplo.com
redes IP — Permite la coincidencia de hosts basados en sus direcciones IP dentro de una red m�s grande. Por ejemplo, 192.168.0.0/28 permite al acceso a las primeras 16 direcciones IP, desde la 192.168.0.0 a la 192.168.0.15, acceder al sistema de archivos exportado, pero no a la 192.168.0.16 y superiores.
grupos de redes — Permite usar un nombre de grupo de red NIS, escrito como @<group-name>. Esto pone al servidor NIS controlando el acceso de este sistema de archivos, donde los usuarios pueden ser a�adidos o borrados de un grupo NIS sin que afecte a /etc/exports.
En su forma m�s sencilla, el archivo /etc/exports s�lo especifica el directorio a exportar y los hosts que pueden usarlo, como en el ejemplo siguiente:
/exported/directory bob.example.com
En el ejemplo, bob.example.com puede montar /exported/directory/. Como no se especifica ninguna opci�n en este ejemplo, tomar�n efecto las siguientes opciones predeterminadas de NFS:
ro — Se montan los sistemas de archivos como de s�lo lectura (read-only). Los host remotos no pueden hacer cambios a los datos compartidos en el sistema de archivos. Para permitir que los hosts puedan hacer cambios, debe especificar la opci�n rw (lectura-escritura, read-write).
wdelay — Provoca que el servidor NFS retrase el escribir a disco si sospecha que otra petici�n de escritura es inminente. Esto puede mejorar el rendimiento reduciendo las veces que se debe acceder al disco por comandos de escritura separados. Use no_wdelay para desactivar esta opci�n, la cual s�lo funciona si est� usando la opci�n sync.
root_squash — Previene a los usuarios root conectados remotamente de tener privilegios como root asign�ndoles el id del usuario de nobody. Esto reconvierte el poder del usuario root remoto al de usuario local m�s bajo, previniendo la alteraci�n desautorizada de archivos en el servidor remoto. Alternativamente, la opci�n no_root_squash lo desactiva. Para reconvertir a todos los usuarios, incluyendo a root, use la opci�n all_squash. Para especificar los ID de usuario y grupo para usar con usuarios remotos desde un host particular, utilice las opciones anonuid y anongid, respectivamente. De esta manera, puede crear una cuenta de usuario especial para que los usuarios NFS remotos compartan y especificar (anonuid=<uid-value>,anongid=<gid-value>), donde <uid-value> es el n�mero de ID del usuario y <gid-value> es el n�mero de ID del grupo.
Importante
Por defecto, las listas de control de acceso (ACLs) son soportadas por NFS bajo Red Hat Enterprise Linux. Para desactivar esta funcionalidad, especifique la opci�n no_acl cuando est� exportando el sistema de archivos. Para m�s informaci�n sobre esta funcionalidad, vea el cap�tulo Sistemas de archivo de red (NFS) en el Manual de administraci�n del sistema de Red Hat Enterprise Linux.
Cada valor predeterminado para un sistema de archivos exportado debe ser expl�citamente ignorado. Por ejemplo, si no se especifica la opci�n rw, entonces el sistema de archivos es exportado como de s�lo lectura. Lo siguiente es una l�nea de muestra de /etc/exports la cual sobreescribe dos opciones predeterminadas:
/another/exported/directory 192.168.0.3(rw,sync)
En este ejemplo 192.168.0.3 puede montar /another/exported/directory/ como lectura/escritura y todas las transferencias al disco son efectuadas antes de completar la petici�n de escritura del cliente.
Adicionalmente, hay otras opciones que est�n disponibles que no tienen especificado un valor predeterminado. Estas incluyen la habilidad de desactivar la verificaci�n por subdirectorios, permitir el acceso desde puertos inseguros y permitir bloquear archivos inseguros (necesario para algunas implementaciones antiguas de clientes NFS). Vea la p�gina man de exports para estas opciones menos usadas.
Aviso
La manera en que el archivo /etc/exports est� organizado es muy importante, particularmente lo que concierne a los espacios en blanco. Recuerde separar siempre los sistemas de archivos exportados de una m�quina a la otra, con un espacio. Sin embargo, no deber�a haber otros espacios en el archivo a menos que se usen en l�neas comentadas.
Por ejemplo, las siguientes dos l�neas significan cosas distintas:
La primera l�nea permite s�lo a los usuarios de bob.ejemplo.com acceder en modo de lectura/escritura al directorio /home. La segunda l�nea permite a los usuarios de bob.ejemplo.com montar el directorio como de s�lo lectura (el predeterminado), pero el resto del mundo puede instalarlo como lectura/escritura.
Para instrucciones detalladas sobre la configuraci�n de un servidor NFS modificando /etc/exports, consulte el cap�tulo titulado Sistemas de archivos de red (NFS) en el Manual de administraci�n del sistema de Red Hat Enterprise Linux.
9.3.2. El comando exportfs
Cada sistema de archivos que se exporta a usuarios remotos a trav�s de NFS, as� como los niveles de acceso relativos a ellos, son listados en el archivo /etc/exports. Cuando comienza el servicio nfs, se lanza el comando /usr/sbin/exportfs y lee este archivo, pasa el control a rpc.mountd (si es NFSv2 or NFSv3) para el proceso de montaje real, luego a rpc.nfsd donde los sistemas de archivos est�n disponibles a los usuarios remotos.
Cuando se ejecuta manualmente, el comando /usr/sbin/exportfs permite al superusuario exportar o no de forma selectiva, directorios concretos sin reiniciar los servicios NFS. Cuando se le pasan las opciones apropiadas, el comando /usr/sbin/exportfs escribe los sistemas de archivos exportados a /var/lib/nfs/xtab. Como rpc.mountd se refiere al archivo xtab para decidir privilegios de acceso a un sistema de archivos, los cambios en la lista de sistemas de archivos exportados toman efecto inmediatamente.
Lo siguiente es una lista de las opciones m�s comunes disponibles para /usr/sbin/exportfs:
-r — Provoca que todos los directorios listados en /etc/exports sean exportados construyendo una nueva lista de exportaci�n en /etc/lib/nfs/xtab. Esta opci�n refresca la lista de exportaci�n con cualquier cambio que hubi�ramos realizado en /etc/exports.
-a — Provoca que todos los directorios sean exportados o no, dependiendo de qu� otras opciones hemos pasado a /usr/sbin/exportfs. Si no se pasan otras opciones, /usr/sbin/exportfs exporta todos los sistemas de archivos especificados en /etc/exports.
-o sistema-de-archivos — Permite especificar directorios a exportar que no est�n listados en /etc/exports. Reemplace sistema-de-archivos con los sistemas de archivos adicionales a exportar. Estos sistemas de archivos deben tener el mismo formato en que fueron especificados en /etc/exports. Consulte la Secci�n 9.3.1 para m�s informaci�n sobre la sintaxis de /etc/exports. Esta opci�n se utiliza a menudo para probar un sistema de archivos antes de a�adirlo de forma permanente a la lista de sistemas a exportar.
-i — Ignora /etc/exports; s�lo las opciones dadas desde la l�nea de comandos son usadas para definir los sistemas de archivos exportados.
-u — No exporta todos los directorios compartidos. El comando /usr/sbin/exportfs -ua suspende la compartici�n de archivos NFS mientras que mantiene todos los demonios NFS activos. Para reactivar NFS, teclee exportfs -r.
-v — Operaci�n descriptiva, donde los sistemas de archivos exportados o dejados de exportar son mostrados en gran detalle al ejecutarse el comando exportfs.
Si no se pasan opciones al comando /usr/sbin/exportfs, mostrar� una lista de los sistemas de archivos actualmente exportados.
Para m�s informaci�n sobre /usr/sbin/exportfs, vaya a la p�gina man de exportfs.
9.3.2.1. Uso de exportfs con NFSv4
Puesto que en NFSv4 ya no se utiliza el protocolo rpc.mountd como se utiliz� en NFSv2 y NFSv3, el montaje de sistemas de archivos ha cambiado.
Un cliente NFSv4 ahora tiene la habilidad de ver todas las exportaciones servidas por el servidor NFSv4, como un �nico sistema de archivos, llamado el pseudo sistema de archivos NFSv4. En Red Hat Enterprise Linux, se identifica el pseudo sistema de archivos como un sistema de archivos �nico y verdadero, identificado con la opci�n fsid=0.
Por ejemplo, los comandos siguientes no se podr�an ejecutar en un servidor NFSv4: