EXPORTS(5) | Administración del Sistema Linux | EXPORTS(5) |
exports - Sistemas de ficheros NFS a exportar
/etc/exports
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.
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:
# 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.
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.
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).
6 Enero 1996 | 4.2 Berkeley Distribution |