exports(5) Sistemas de ficheros NFS a exportar

SINOPSIS

/etc/exports

DESCRIPCIÓN

El fichero /etc/exports sirve como la lista de control de acceso para sistemas de ficheros que pueden ser exportados a clientes NFS. Lo utilizan el demonio de montaje mountd(8) y el demonio servidor de ficheros NFS nfsd(8).

El formato del fichero es similar al fichero exports del SunOS con la excepción de que se permiten varias opciones adicionales. Cada línea contiene un punto de montaje y una lista de máquinas o nombres de grupo de red a las que se les permite montar el sistema de ficheros en ese punto. A continuación del nombre de la máquina se puede poner entre paréntesis una lista opcional de parámetros de montaje. Las líneas en blanco no son tenidas en cuenta, y el símbolo # se puede utilizar para poner comentarios de una línea.

Opciones Generales

secure
Esta opción requiere que los pedidos se originen en un puerto de internet menor que IPPORT_RESERVED (1024). Esta opción esta habilitada por omisión. Para deshabilitarla se debe especificar insecure.
ro
Sólo permitir pedidos de lectura exclusiva en este volumen NFS. Por omisión, también se permiten pedidos de escritura, lo cual se puede hacer explícito usando la opción rw.
link_relative
Convierte enlaces simbólicos absolutos (donde los contenidos del enlace empiezan con una barra) en enlaces relativos, añadiendo la cantidad necesaria de ../'s al frente del nombre para llegar desde el directorio que contiene el enlace a la raíz en el servidor. Esta opción tiene implicaciones sutiles, y quizá cuestionables, cuando la jerarquía de ficheros no está montada en su raíz.
link_absolute
Deja los enlaces simbólicos como están. Esta es la operación por omisión.

Correspondencia de ID de Usuarios

El control de acceso a ficheros de nfsd en la máquina servidora se basa en el uid (identificador de usuario) y gid (identificador de grupo) proporcionado en cada pedido RPC de NFS. Como los usuarios suponen que pueden acceder a sus ficheros de la misma forma que en un sistema de ficheros normal, la máquina cliente y la máquina servidora deberían utilizar los mismos uids y gids. Sin embargo, esto no siempre ocurre y no siempre es conveniente.

Muy a menudo, no es conveniente que el usuario root en la máquina cliente sea también tratado como root en los accesos a los ficheros en el servidor NFS. Por lo tanto, el uid 0 se suele hacer corresponder a un id diferente: el uid nobody o anónimo. Este modo de operación (llamado `root squashing') es el modo por omisión, y se puede deshabilitar utilizando la opción no_root_squash.

Al comienzo del programa, nfsd intenta obtener el uid y gid anónimo buscando el usuario nobody en el fichero de cuentas passwd. Si no lo encuentra, utiliza un uid y un gid igual a -2 (65534). Estos valores se pueden cambiar utilizando las opciones anonuid y anongid.

Además de esto, nfsd también permite especificar cualquier uid y gid para ser trasladados al usuario nobody. Finalmente, también se pueden trasladar todos los pedidos de usuarios al uid anónimo utilizando la opción all_squash.

Para facilitar el trabajo en aquellas instalaciones donde las uids son diferentes entre distintas máquinas, nfsd permite trasladar dinámicamente uids del servidor a uids del cliente y viceversa. Para habilitar esta traducción se utiliza la opción map_daemon , la cual utiliza el protocolo RPC UGID. Para que esto funcione, el demonio de traslados ugidd(8) debe ser ejecutado en la máquina cliente.

La siguiente es la lista completa de opciones de traslado:

root_squash
Traslada pedidos del uid/gid 0 al uid/gid anonymous. Nótese que esto no se aplica a otros uids que pueden ser igualmente sensibles, como el usuario bin.
no_root_squash
Deshabilita la opción de `root squashing'. Esta opción es particularmente útil para clientes sin discos.
squash_uids y squash_gids
Esta opción especifica una lista de uids o gids que se deberían trasladar al usuario anonymous. La siguiente es una lista válida de ids:
squash_uids=0-15,20,25-50
En general, la lista es mucho mas simple, por ejemplo:
squash_uids=0-100
all_squash
Traslada todos los uids y gids al usuario anónimo. Útil para exportar con NFS directorios FTP públicos, directorios de spool para noticias, etc. La opción contraria es no_all_squash, la cual está habilitada por omisión.
map_daemon
Esta opción habilita el traslado de uids y gids dinámico. Cada uid en un pedido NFS se traduce a su equivalente uid del servidor, y cada uid en una respuesta NFS se traduce a su equivalente uid del cliente. Para usar esta opción, el demonio rpc.ugidd(8) debe ejecutarse en la máquina cliente. Las opciones por omisión son map_identity, la cuál deja todos los uids como están. Esté o no el traslado dinámico habilitado, el sistema utilizará las opciones normales de squash.
anonuid y anongid
Estas opciones establecen en forma explícita las uid y gid de la cuenta anónima. Esta opción es útil para clientes PC/NFS, donde todos los pedidos parecen provenir de un solo usuario. Por ejemplo, la línea de exportación para /home/pepe en la sección de ejemplo de más abajo, mapea todos los pedidos al uid 150 (que supuestamente pertenece al usuario pepe).


EJEMPLO

# fichero de ejemplo /etc/exports
/               master(rw) trusty(rw,no_root_squash)
/projects       proj*.local.domain(rw)
/usr            *.local.domain(ro) @trusted(rw)
/home/pepe       pc001(rw,all_squash,anonuid=150,anongid=100)
/pub            (ro,insecure,all_squash)

La primera línea exporta el sistema de ficheros completo a las máquinas master y trusty. Además de permitir acceso de escritura, deshabilita el traslado de uids para la máquina trusty. La segunda y la tercer entradas muestran ejemplos de comodines en nombres de máquinas y grupos de red (la entrada `@trusted'). La cuarta línea muestra la entrada para el cliente PC/NFS presentada anteriormente. La última línea exporta el directorio público FTP a todas las máquinas del mundo, y los pedidos serán ejecutados usando la cuenta nobody. La opción insecure también permite clientes con implementaciones NFS que no utilizan un puerto reservado para NFS.

ADVERTENCIAS

Contrariamente a otras implementaciones del servidor NFS, este nfsd permite exportar directorios y sus respectivos subdirectorios a la misma máquina, por ejemplo /usr y /usr/X11R6. En este caso, se utilizan las opciones de montaje para la entrada mas específica. Por ejemplo, cuando un usuario en una máquina cliente acceda a un fichero en /usr/X11R6, se usarán las opciones de montaje de /usr/X11R6 . Este mismo criterio se utiliza cuando la entrada es un comodín o un grupo de red.

FICHEROS

/etc/exports
Fichero de configuración para nfsd(8).
/etc/passwd
El fichero de cuentas.

DIAGNÓSTICOS

Errores de sintaxis en el fichero de configuración se registran usando syslogd(8) con nivel NOTICE de un DAEMON cuando nfsd(8) o mountd(8) comienzan. Las máquinas desconocidas también se registran al comienzo. Como named(8) no suele reconocer todas las máquinas al arrancar el sistema, a medida que se van encontrando máquinas, éstas se registran utilizando los mismos parámetros para syslogd(8).