/etc/exports
and /etc/exports.d/
, lists the directories that are made available over the network (exported). For each NFS share, only the given list of machines is granted access. More fine-grained access control can be obtained with a few options. The syntax for this file is quite simple:
/directorio/a/compartir maquina1(opcion1,opcion2,...) maquina2(...) ...
fsid=0
o fsid=root
.
*.falcot.com
o un rango de direcciones IP 192.168.0.0/255.255.255.0
o 192.168.0.0/24
.
ro
), los directorios están disponibles sólo para lectura. La opción rw
permite acceso de lectura y escritura. Los clientes NFS típicamente se conectan desde un puerto restringido sólo a root (en otras palabras, menor a 1024); puede eliminar esta restricción con la opción insecure
(la opción secure
es implícita, pero puede hacerla explícita para más claridad).
sync
); puede desactivar esta funcionalidad con la opción async
. Las escrituras asíncronas aumentarán un poco el rendimiento a cambio de una disminución de la fiabilidad, debido al riesgo de pérdida de datos en caso de un cierre inesperado del servidor durante el tiempo que transcurre entre que se recibe la petición de escritura y cuando los datos hayan sido escritos realmente en el disco. Debido a que el valor predeterminado cambió recientemente (comparado con el valor histórico de NFS), se recomienda configurarlo explícitamente.
nobody
. Este comportamiento corresponde a la opción root_squash
y está activado de forma predeterminada. La opción no_root_squash
, que desactiva este comportamiento, es riesgosa y sólo debe ser utilizada en entornos controlados. Si todos los usuarios deberían ser asociados al usuario nobody
, use all_squash
. Las opciones anonuid=uid
y anongid=gid
permiten especificar otro usuario falso que será utilizado en lugar deñ UID/GID 65534 (que corresponden al usuario nobody
y al grupo nogroup
).
sec
para precisar el nivel de seguridad deseado: sec=sys
es el valor predeterminado sin ningún tipo de seguridad particular, sec=krb5
habilita únicamente la autenticación, sec=krb5i
añade una protección de integridad y sec=krb5p
es el nivel más alto, que incluye la protección de la confidencialidad (mediante el cifrado de datos). Para que todo esto pueda funcionar es necesaria una instalación funcional de Kerberos (este libro no se trata en este libro).
mount
command and the /etc/fstab
file.
Ejemplo 11.20. Elemento NFS en el archivo /etc/fstab
arrakis.internal.falcot.com:/shared /srv/shared nfs4 rw,nosuid 0 0
/shared/
desde el servidor arrakis
en el directorio local /srv/shared/
. Se solicita acceso de lectura y escritura (de ahí el parámetro rw
). La opción nosuid
es una medida de protección que elimina cualquier bit setuid
o setgid
de los programas almacenados en el espacio compartido. Si el espacio compartido NFS está destinado únicamente a almacenar documentos, también se recomienda utilizar la opción noexec
, que evita la ejecución de programas almacenados en el espacio compartido. Es importante tener en cuenta que, en el servidor, el directorio shared
se encuentra dentro del directorio exportado como raiz de NFSv4 (por ejemplo /export/shared
), no es un directorio de primer nivel.