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).