Red Hat Linux 9: Manual de referencia de Red Hat Linux | ||
---|---|---|
Anterior | Capítulo 9. Network File System (NFS) | Siguiente |
Es sencillo configurar un sistema para compartir archivos y directorios usando NFS. Cada Sistema de archivos que se exporta a usuarios remotos vía NFS, así como los derechos de acceso relativos a ellos, es localizado en el archivo /etc/exports. Este archivo es leído por el comando exportfs para dar a rpc.mountd y a rpc.nfsd la información necesaria para permitir el montaje remoto de un sistema de archivos por una máquina autorizada.
El comando exportfs permite a root exportar o no directorios concretos sin reiniciar los servicios NFS. Cuando se le pasan las opciones apropiadas a exportfs, el sistema de archivos a exportar es incluido en /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.
Hay varias opciones disponibles cuando usamos 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 exportfs.
-o opciones — Permite al usuario especificar directorios a exportar que no estén listados en /etc/exports. Estos sistemas de archivos adicionales compartidos deben ser escritos de la misma forma que son especificados en /etc/exports. Esta opción es usada para probar un sistema de archivos antes de añadirlo permanentemente 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 — Termina de exportar directorios que puedan ser montados por usuarios remotos. El comando exportfs -ua suspende la compartición de archivos NFS mientras que mantiene los demonios activos. Para continuar con la compartición 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 exportfs, mostrará una lista de los sistemas de archivos actualmente exportados.
Los cambios efectuados a /etc/exports pueden ser leídos al recargar el servicio NFS con el comando service nfs reload. Esto deja a los demonios NFS ejecutándose mientras reexporta el archivo /etc/exports.
El archivo /etc/exports controla cuáles sistemas de archivos son exportados a las máquinas remotas y especifica opciones particulares que controlen todo. 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. La lista de máquinas autorizadas colocada después de un sistema de archivos exportado, debe estar separada por un espacio. Las opciones para cada uno de las máquinas deben ser colocadas entre paréntesis directamente detrás del identificador de la máquina, sin ningún espacio de separación entre la máquina y el primer paréntesis.
De esta sencilla manera, /etc/exports sólo necesita saber el directorio a exportar y las máquinas que pueden usarlo:
/some/directory bob.example.com /another/exported/directory 192.168.0.3 |
Después de reexportar /etc/exports con el comando /sbin/service nfs reload, la máquina bob.example.com será capaz de montar /some/directory y 192.168.0.3 podrá montar /another/exported/directory. Como no hay opciones especificadas en este ejemplo, varias preferencias por defecto toman efecto:
ro — Sólo lectura (read-only). Las máquinas que monten este sistema de archivos no podrán cambiarlo. Para permitirlas que puedan hacer cambios en el sistema de archivos, debe especificar la opción rw (lectura-escritura, read-write).
async — Permite al servidor escribir los datos en el disco cuando lo crea conveniente. Mientras que esto no tiene importancia en un sistema de sólo lectura, si una máquina hace cambios en un sistema de archivos de lectura-escritura y el servidor se cae o se apaga, se pueden perder datos. Especificando la opción sync, todas las escrituras en el disco deben hacerse antes de devolver el control al cliente. Esto puede que disminuya el rendimiento.
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ándole el userid de 'nobody'. Esto reconvierte el poder del usuario root remoto al de usuario local más bajo, previniendo que los usuarios root remotos puedan convertirse en usuarios root en el sistema local. 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 una máquina particular, use las opciones anonuid y anongid, respectivamente. De esta manera, puede crear una cuenta de usuario especial para usuarios NFS remotos para compartir y especificar (anonuid=<uid-value>,anongid=<gid-value>), donde <uid-value> es el número ID de usuario y <gid-value> es el número ID de grupo.
Para saltarse estas opciones predeterminadas, debe especificar una opción que tome su lugar. Por ejemplo, si no especifica la opción rw, entonces se exportará en sólo lectura. Cada opción predeterminada para cada sistema de archivos exportado, debe ser explícitamente ignorada. Adicionalmente, hay otra opciones que están disponibles que no tienen especificado un valor predeterminado. Estas incluyen desactivar el navegar por subdirectorios, permitir el acceso a 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.
Cuando especifique los nombres de máquinas, use los métodos siguientes:
una sola máquina — Cuando una máquina en particular es especificada con nombre completo de dominio, nombre de máquina o dirección IP.
comodines — Cuando 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.
Sin embargo, 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 *.example.com como comodín, permitirá a ventas.domain.com acceder al sistema de archivos exportado, pero no a bob.ventas.domain.com. Para permitir ambas posibilidades, así como a sam.corp.domain.com, debería usar *.example.com *.*.example.com.
redes IP — Permite el acceso a máquinas basadas en sus direcciones IP dentro de una red más grande. Por ejemplo, 192.168.0.0/15 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, pero no a la 192.168.0.16 y superiores.
grupos de redes — Permite que un nombre de grupo de red NIS, escrita como @<group-name>, sea usada. 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.
![]() | 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.example.com acceder en modo de lectura-escritura al directorio /home. La segunda línea permite a los usuarios de bob.example.com montar el directorio de solo lectura (el predeterminado), pero el resto del mundo puede instalarlo como lectura-escritura. |