NOMBRE¶
exports - 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).
VÉASE TAMBIÉN¶
mountd(8),
nfsd(8),
nfs(5),
passwd(5).