[COMO] NFS - funcionamiento - uso - configuración

Imagen de Gabriel_M
11,581 puntos

Sistema de archivos de red (NFS)
Un Sistema de archivos de red (NFS) permite a los hosts remotos montar sistemas de archivos sobre la red e interactuar con esos sistemas de archivos como si estuvieran montados localmente.
Hay tres versiones de NFS actualmente en uso. La versión 2 de NFS (NFSv2), es la más antigua y está ampliamente soportada por muchos sistemas operativos. La versión 3 de NFS (NFSv3) tiene más características, incluyendo manejo de archivos de tamaño variable y mejores facilidades de informes de errores, pero no es completamente compatible con los clientes NFSv2. NFS versión 4 (NFSv4) incluye seguridad Kerberos, trabaja con cortafuegos, permite ACLs y utiliza operaciones con descripción del estado.
Todas las versiones de NFS pueden utilizar el Protocolo de control de transmisiones (TCP) ejecutándose sobre una red IP. En el caso de NFSv4, éste lo requiere. NFSv2 y NFSv3 pueden utilizar el Protocolo de datagrama de usuarios (UDP) sobre una red IP para proporcionar conexiones de red sin supervisión (stateless) entre el cliente y el servidor.
Cuando se utiliza NFSv2 o NFSv3 con UDP, bajo condiciones normales la conexión UDP desatendida minimiza el tráfico de la red, ya que el servidor NFS envia un cookie al cliente después que este tiene acceso al volumen compartido. Esta cookie es un valor aleatorio guardado en el lado del servidor y es pasado junto con las peticiones RPC desde el cliente. El servidor NFS puede ser reiniciado sin afectar a los clientes y las cookies permanecen intactas. Sin embargo, debido a que UDP es sin supervisión, si el servidor se cae de forma inesperada, los clientes UDP continúan saturando la red con peticiones para el servidor. Por esta razón, TCP es el protocolo preferido cuando se conecte a un servidor NFS.
Cuando se autentifique utilizando NFSv4, se crea una conexión atenta y, de forma opcional, está disponible la autenticación de usuarios y grupos con Kerberos. NFSv4 no tiene interacción con portmapper, rpc.mountd, rpc.lockd y rpc.statd, pues estos han sido incorporados en el kernel. NFSv4 escucha en el puerto TCP 2049.
TCP es el protocolo por defecto para NFS. UDP se puede utilizar para propósitos de compatibilidad si se necesita, pero no es recomendado para uso general.
La única vez que NFS lleva a cabo la autentificación es cuando el cliente intenta montar un recurso compartido NFS. Para limitar el acceso al servicio NFS, se utilizan envolturas TCP (TCP wrappers). Los TCP wrappers leen los archivos /etc/hosts.allow y /etc/hosts.deny para determinar si a un cliente particular o red tiene acceso o no al servicio NFS.
Después de que al cliente se le permite acceso gracias a un TCP wrapper, el servidor NFS recurre a su archivo de configuración, /etc/exports, para determinar si el cliente tiene suficientes privilegios para acceder a los sistemas de archivos exportados. Una vez otorgado el acceso, todas las operaciones de archivos y de directorios están disponibles para el usuario.
Si se está utilizando NFSv2 o NFSv3, los cuales no son compatibles con la autenticación Kerberos, los privilegios de montaje de NFS son otorgados al host cliente, no para el usuario. Por lo tanto, se puede acceder a los sistemas de archivos exportados por cualquier usuario en un host cliente con permisos de acceso. Cuando se configuran las unidades compartidas NFS, tenga mucho cuidado de cuáles hosts obtienen permisos de lectura/escritura (rw).
Para que NFS funcione con una instalación con un cortafuegos instalado, se debe configurar IPTables con el puerto predeterminado TCP 2049. Sin una configuración IPTables, NFS no funcionará correctamente.
El script de inicialización NFS y el proceso rpc.nfsd ahora permiten la vinculación a cualquier puerto especificado durante el inicio del sistema. Sin embargo, esto puede ser susceptible a errores si el puerto no está disponible o si entra en conflicto con otro demonio.
Servicios requeridos
Se utiliza una combinación de soporte a nivel del kernel y procesos demonio para proporcionar los archivos compartidos con NFS. NFSv2 y NFSv3 confía en las Llamadas de procedimientos remotos ((RPC)) para enrutar peticiones entre clientes y servidores. Los servicios RPC bajo Linux son controlados por el servicio portmap. Para compartir o montar sistemas de archivos NFS, los servicios siguientes funcionan juntos, dependiendo de cuál versión de NFS se tenga implementada:
nfs — Inicia los procesos RPC apropiados para servir peticiones para los sistemas de archivos compartidos NFS.
nfslock — Un servicio opcional que inicia los procesos RPC adecuados para permitir que clientes NFS bloqueen archivos en el servidor.
portmap — El servicio RPC para Linux; responde a las peticiones para servicios RPC y configura las conexiones al servicio RPC solicitado. No se utiliza con NFSv4.
Los siguientes procesos RPC facilitan los servicios NFS:
rpc.mountd — Este proceso recibe las peticiones de montaje desde clientes NFS y verifica que el sistema de archivos solicitado esté actualmente exportado. Este proceso es iniciado automáticamente por el servicio nfs y no requiere de la configuración del usuario. No se utiliza con NFSv4.
rpc.nfsd — Este proceso es el servidor NFS. Trabaja con el kernel Linux para satisfacer las demandas dinámicas de clientes NFS, tales como proporcionar hilos del servidor cada vez que se conecta un cliente NFS. Este proceso corresponde al servicio nfs.
rpc.lockd — Un proceso opcional que permite a los clientes NFS bloquear archivos en el servidor. Esto corresponde al servicio nfslock. No se utiliza con NFSv4.
rpc.statd — Este proceso implementa el protocolo RPC Network Status Monitor (NSM) el cual notifica a los clientes NFS cuando un servidor NFS es reiniciado luego de haber sido apagado abruptamente. Este proceso es iniciado automáticamente por el servicio nfslock y no requiere configuración por parte del usuario. No se utiliza con NFSv4.
rpc.rquotad — Proporciona información de cuotas de usuario para los usuarios remotos. Este proceso se inicia automáticamente por el servicio nfs y no requiere configuración por parte del usuario.
rpc.idmapd — Este proceso proporciona al cliente y servidor NFSv4 llamadas ascendentes (upcalls) que hacen corresponder los nombres NFSv4 (los cuales son cadenas en la forma usuario@dominio) y los UIDs y GIDs locales. Para que idmapd funcione con NFSv4, el /etc/idmapd.conf debe estar configurado. Se requiere este servicio para su uso con NFSv4.
rpc.svcgssd — Este proceso proporciona al servidor los mecanismos de transporte para el proceso de autenticación (Kerberos versión 5) con NFSv4. Se requiere este servicio para su uso con NFSv4.
rpc.gssd — Este proceso proporciona al cliente los mecanismos de transporte para el proceso de autenticación (Kerberos versión 5). Se requiere este servicio para su uso con NFSv4.
NFS y portmap
El servicio portmap bajo Linux asigna las peticiones RPC a los servicios correctos. Los procesos RPC notifican a portmap cuando comienzan, revelando el número de puerto que ellos están supervisando y el número de programas RPC que esperan servir. El sistema cliente entonces contacta con el portmap del servidor con un número de programa RPC particular. Entonces portmap redirecciona al cliente al número del puerto apropiado para que se comunique con el servicio solicitado.
Como los servicios basados en RPC confian en portmap para hacer todas las conexiones con las peticiones de clientes entrantes, portmap debe estar disponible antes que cualquiera de esos servicios comience.
El servicio portmap puede utilizar TCP wrappers para el control de acceso, y las reglas de control de acceso para portmap afectan a todos los servicios basados en RPC. Alternativamente, es posible especificar reglas de control de acceso para cada demonio RPC NFS. Las páginas man para rpc.mountd y rpc.statd contienen información relativa a la sintaxis precisa de estas reglas.
Resolución de problemas de NFS y portmap
Como portmap proporciona la coordinación entre servicios RPC y los números de puertos usados para comunicarlos, es útil poder visualizar el estado de los servicios RPC actuales usando portmap cuando estamos resolviendo algún problema. El comando rpcinfo muestra cada servicio basado en RPC con su número de puerto, número de programa RPC, versión y tipo de protocolo (TCP o UDP).
Para asegurarse que están activos los servicios NFS basados en RPC para portmap, usar el comando siguiente:
sudo rpcinfo -p
A continuación se presenta una muestra de la salida de este comando:
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100021 1 udp 32774 nlockmgr
100021 3 udp 32774 nlockmgr
100021 4 udp 32774 nlockmgr
100021 1 tcp 34437 nlockmgr
100021 3 tcp 34437 nlockmgr
100021 4 tcp 34437 nlockmgr
100011 1 udp 819 rquotad
100011 2 udp 819 rquotad
100011 1 tcp 822 rquotad
100011 2 tcp 822 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100005 1 udp 836 mountd
100005 1 tcp 839 mountd
100005 2 udp 836 mountd
100005 2 tcp 839 mountd
100005 3 udp 836 mountd
100005 3 tcp 839 mountd
La salida de este comando revela que los servicios NFS correctos se están ejecutando. Si uno de los servicios NFS no comienza correctamente, portmap puede ser incapaz de corresponder las peticiones RPC de los clientes para ese servicio con sus respectivos puertos. En muchos casos, si NFS no está presente en la salida de rpcinfo, reiniciando NFS provocará que estos servicios se registren correctamente con portmap y empiecen a funcionar.
Iniciar y detener NFS
Para ejecutar un servidor NFS, debe estar ejecutándose el servicio portmap. Para verificar que portmap está activo, ejecutar el comando siguiente:
sudo portmap status
Si el servicio portmap se está ejecutando, entonces se puede iniciar nfs. Para iniciar un servidor NFS, ejecutar:
sudo nfs start
Para detener el servidor, ejecutar:
sudo nfs stop
La opción restart es un atajo para detener y luego iniciar NFS. Esta es la forma más eficiente de hacer que los cambios en la configuración tomen efecto luego de modificar el archivo de configuración por NFS.
Para reiniciar el servidor, ejecutar:
sudo nfs restart
La opción condrestart (reinicio condicional) solamente inicia nfs si este está actualmente ejecutándose. Esta opción es útil para los scripts, porque no inicia el demonio si este no se está ejecutando.
Para reiniciar condicionalmente el servidor, ejecutar:
sudo nfs condrestart
Para recargar el archivo de configuración del servidor NFS sin reiniciar el servicio, ejecutar:
sudo nfs reload
Configuración del servidor NFS
El archivo de configuración /etc/exports
El archivo /etc/exports controla cuáles sistemas de archivos son exportados a las máquinas remotas y especifica opciones. Las líneas en blanco son ignoradas, se pueden comentar líneas con el símbolo # y las líneas largas pueden ser divididas con una barra invertida (\). Cada sistema de archivos exportado debe tener su propia línea y cualquier lista de hosts autorizadas colocada después de un sistema de archivos exportado, debe estar separada por un espacio. Las opciones para cada uno de los hosts deben ser colocadas entre paréntesis directamente detrás del identificador del host, sin ningún espacio de separación entre el host y el primer paréntesis.
Una línea para un sistema de archivos exportado tiene la estructura siguiente:
() ()...
En esta estructura, reemplazar con el directorio a exportar, con el host o la red a la cual va a compartir el directorio y con las opciones para ese host o red. Los hosts adicionales se pueden especificar en una lista separada por espacios.
Se pueden usar los métodos siguientes para especificar nombres de host:
host único — Cuando una máquina en particular es especificada con nombre completo de dominio, nombre de máquina o dirección IP.
comodines — Usamos un carácter * o ? para referirnos a un grupo de nombres completos de dominio o direcciones IP o que coincidan con una cadena particular de letras. Los comodines no se deberían de utilizar con direcciones IP; sin embargo, es posible para estos funcionar accidentalmente si fallan las búsquedas de DNS inversas.
Tener cuidado cuando se especifiquen comodines con nombres de dominio completos, pues tienden a ser más exactos de lo que se cree. Por ejemplo, el uso de *.ejemplo.com como comodín, permitirá a ventas.ejemplo.com acceder al sistema de archivos exportado, pero no a tom.ventas.ejemplo.com. Para coincidir ambas posibilidades, debería usar *.ejemplo.com y también *.*.ejemplo.com
redes IP — Permite la coincidencia de hosts basados en sus direcciones IP dentro de una red más grande. Por ejemplo, 192.168.0.0/28 permite al acceso a las primeras 16 direcciones IP, desde la 192.168.0.0 a la 192.168.0.15, acceder al sistema de archivos exportado, pero no a la 192.168.0.16 y superiores.
grupos de redes — Permite usar un nombre de grupo de red NIS, escrito como @. Esto pone al servidor NIS controlando el acceso de este sistema de archivos, donde los usuarios pueden ser añadidos o borrados de un grupo NIS sin que afecte a /etc/exports.
En su forma más sencilla, el archivo /etc/exports sólo especifica el directorio a exportar y los hosts que pueden usarlo, como en el ejemplo siguiente:
/exported/directory tom.ejemplo.com
En el ejemplo, tom.ejemplo.com puede montar /exported/directory/. Como no se especifica ninguna opción en este ejemplo, tomarán efecto las siguientes opciones predeterminadas de NFS:
ro — Se montan los sistemas de archivos como de sólo lectura (read-only). Los host remotos no pueden hacer cambios a los datos compartidos en el sistema de archivos. Para permitir que los hosts puedan hacer cambios, debe especificar la opción rw (lectura-escritura, read-write).
wdelay — Provoca que el servidor NFS retrase el escribir a disco si sospecha que otra petición de escritura es inminente. Esto puede mejorar el rendimiento reduciendo las veces que se debe acceder al disco por comandos de escritura separados. Use no_wdelay para desactivar esta opción, la cual sólo funciona si está usando la opción sync.
root_squash — Previene a los usuarios root conectados remotamente de tener privilegios como root asignándoles el id del usuario de nobody. Esto reconvierte el poder del usuario root remoto al de usuario local más bajo, previniendo la alteración desautorizada de archivos en el servidor remoto. Alternativamente, la opción no_root_squash lo desactiva. Para reconvertir a todos los usuarios, incluyendo a root, use la opción all_squash. Para especificar los ID de usuario y grupo para usar con usuarios remotos desde un host particular, utilice las opciones anonuid y anongid, respectivamente. De esta manera, puede crear una cuenta de usuario especial para que los usuarios NFS remotos compartan y especificar (anonuid=,anongid=), donde es el número de ID del usuario y es el número de ID del grupo.
Por defecto, las listas de control de acceso (ACLs) son soportadas por NFS. Para desactivar esta funcionalidad, especifique la opción no_acl cuando esté exportando el sistema de archivos.
Cada valor predeterminado para un sistema de archivos exportado debe ser explícitamente ignorado. Por ejemplo, si no se especifica la opción rw, entonces el sistema de archivos es exportado como de sólo lectura. Lo siguiente es una línea de muestra de /etc/exports la cual sobreescribe dos opciones predeterminadas:
/another/exported/directory 192.168.0.3(rw,sync)
En este ejemplo 192.168.0.3 puede montar /another/exported/directory/ como lectura/escritura y todas las transferencias al disco son efectuadas antes de completar la petición de escritura del cliente.
Adicionalmente, hay otras opciones que están disponibles que no tienen especificado un valor predeterminado. Estas incluyen la habilidad de desactivar la verificación por subdirectorios, permitir el acceso desde puertos inseguros y permitir bloquear archivos inseguros (necesario para algunas implementaciones antiguas de clientes NFS). Vea la página man de exports para estas opciones menos usadas.
La manera en que el archivo /etc/exports está organizado es muy importante, particularmente lo que concierne a los espacios en blanco. Recuerde separar siempre los sistemas de archivos exportados de una máquina a la otra, con un espacio. Sin embargo, no debería haber otros espacios en el archivo a menos que se usen en líneas comentadas.
Por ejemplo, las siguientes dos líneas significan cosas distintas:
/home tom.ejemplo.com(rw)
/home tom.ejemplo.com (rw)
La primera línea permite sólo a los usuarios de tom.ejemplo.com acceder en modo de lectura/escritura al directorio /home. La segunda línea permite a los usuarios de tom.ejemplo.com montar el directorio como de sólo lectura (el predeterminado), pero el resto del mundo puede instalarlo como lectura/escritura.
Archivos de configuración de clientes NFS
Las comparticiones NFS son montadas en el lado del cliente usando el comando mount. El formato del comando es como sigue:
mount -t -o :
Reemplazar con nfs para servidores NFSv2 o NFSv3, o nfs4 para servidores NFSv4, con una lista de opciones separadas por comas para el sistema NFS, con el host remoto, con el directorio remoto que está siendo montado y con el directorio local donde el sistema de archivos remoto se montará.
Si está accediendo a una compartición NFS emitiendo manualmente el comando mount, el sistema de archivos debe ser remontado manualmente después de reiniciar el sistema.
El archivo /etc/fstab
El archivo /etc/fstab lo referencia el servicio netfs al momento del arranque, por lo que las líneas haciendo referencia a las comparticiones NFS tienen el mismo efecto que escribir manualmente el comando mount durante el arranque.
Una muestra de línea de /etc/fstab para montar un NFS exportado será parecida a:
: 0 0
Reemplazar con el nombre de la máquina, dirección IP o nombre de dominio totalmente cualificado del servidor que exporta el sistema de archivos, con la ruta al directorio exportado, con el sistema de archivos local en el cual se montará el directorio exportado. Este punto de montaje debe existir antes de que /etc/fstab sea leído o el montaje fallará, con nfs para servidores NFSv2 o NFSv3, o con nfs4 para servidores NFSv4, con una lista de opciones separada por comas para el sistema NFS
Opciones de montaje NFS
Aparte de montar un sistema de archivos a través de NFS en un host remoto, existe un número de diferentes opciones que pueden ser especificadas al momento del montaje que pueden hacerlo más fácil de usar. Estas opciones pueden usarse con el comando manual mount, configuraciones /etc/fstab
Las siguientes son opciones populares utilizadas para montajes NFS:
fsid=num — Obliga a que las configuraciones de manejo y de atributos de archivos en el cable, a ser num, en vez de un número derivado desde el número menor y principal ('minor' y 'major') del dispositivo de bloques en el sistema de archivos montado. El valor 0 tiene un significado especial cuando se utiliza con NFSv4. NFSv4 tiene un concepto de raíz del sistema de archivos exportado en general. El punto de exportación con fsid=0 se utiliza como esta raíz.
hard o soft — Especifican si el programa que usa un archivo vía una conexión NFS, debe parar y esperar (hard) a que el servidor vuelva a estar en línea, si el host que sirve el sistema de archivos no está disponible, o si debe informar de un error (soft).
Si se especifica la opción hard, el usuario no podrá terminar el proceso que está esperando que la comunicación NFS se reanude a menos que especifique la opción intr.
Si usa soft, puede usar la opción adicional timeo=, donde especifica el número de segundos que deben pasar antes de informar del error.
intr — Permite que se interrumpan las peticiones NFS si el servidor se cae o no puede ser accedido.
nfsvers=2 o nfsvers=3 — Especifica cuál versión del protocolo NFS se utiliza. Esto es útil para los hosts que ejecutan múltiples servidores. Si no se especifica ninguna versión, NFS utiliza la última versión compatible con el kernel y el comando mount. Esta opción no es soportada con NFSv4 y por tanto no se debería de utilizar.
noacl — Apaga todo el procesamiento de ACL.
nolock — Desactiva el bloqueo de archivos.
noexec — No permite la ejecución de binarios en sistemas de archivos montados. Esto es útil si el sistema está montando un sistema de archivos no Linux a través de NFS que contiene binarios incompatibles.
nosuid — No permite que los bits set-user-identifier o set-group-identifier tomen efecto. Esto previene que los usuarios remotos obtengan privilegios mayores ejecutando un programa setuid.
port=num — Especifica el valor numérico del puerto del servidor NFS. Si num es 0 (el valor predeterminado), entonces mount consulta al portmapper del host remoto por el número de puerto. Si el demonio NFS del host remoto no está registrado con su portmapper, se utilizará el número de puerto estándar de NFS, TCP 2049.
rsize=num and wsize=num — Estas configuraciones pueden acelerar la comunicación NFS tanto para lecturas (rsize) como para escrituras (wsize), configurando un tamaño de bloque de datos mayor, en bytes, que serán transferidos de una sola vez. Tenga cuidado al cambiar estos valores; algunos kernels antiguos de Linux y tarjetas de red no funcionan bien con grandes tamaños de bloques. Para NFSv2 o NFSv3, los valores por defecto para ambos parámetros está configurado a 8192. Para NFSv4, los valores por defecto para ambos parámetros es 32768.
sec=mode — Especifica el tipo de seguridad a utilizar cuando se autentique una conexión NFS.
sec=sys es la configuración por defecto, lo que utiliza UNIX UIDs y GIDs locales a través de AUTH_SYS para autentificar las operaciones NFS.
sec=krb5 utiliza Kerberos V5 en vez de UNIX UIDs y GIDs locales para autentificar a los usuarios.
sec=krb5i utiliza Kerberos V5 para la autenticación de usuarios y realiza la verificación de integridad de las operaciones NFS usando sumas de verificación para prevenir el daño de los datos.
sec=krb5p utiliza Kerberos V5 para la autenticación de usuarios, la verficación de integridad y encriptar el tráfico NFS para prevenir el huzmeo del mismo. Esta es la configuración más segura, pero también tiene la sobrecarga de rendimiento más grande.
tcp — Especifica que se utilice el protocolo TCP para el montaje NFS.
udp — Especifica que NFS utilice el protocolo UDP para el montaje.
Cómo proteger NFS
NFS trabaja muy bien compartiendo sistemas de archivos enteros con un gran número de hosts conocidos de una manera muy transparente. Sin embargo, esta facilidad de uso trae una variedad de problemas potenciales de seguridad.
Acceso al sistema
La versión de NFS que planee implementar, depende de su red existente y de sus preocupaciones de seguridad. La sección siguiente explica las diferencias entre las medidas de seguridad con NFSv2, NFSv3 y NFSv4. Si es posible, utilice NFSv4. Es el más recomendado.
Uso de NFSv2 o NFSv3
NFS controla quien puede montar y exportar sistemas de archivos basados en la máquina que hace la petición, no el usuario que utiliza el sistema de archivos. Los hosts tienen que tener los derechos para montar los sistemas de archivos exportados explícitamente. El control de acceso no es posible para usuarios, aparte de los permisos de archivos y directorios. En otras palabras, una vez que un sistema de archivos es exportado vía NFS, cualquier usuario en cualquier máquina remota conectada al servidor NFS puede acceder a los datos compartidos. Para limitar estos riesgos potenciales, los administradores sólo pueden permitir acceso de sólo-lectura o reducir a los usuarios a un usuario común y groupid. Pero estas soluciones pueden impedir que la compartición NFS sea usada de la forma en que originalmente se pensó.
Adicionalmente, si un atacante gana el control del servidor DSN usado por el sistema que exporta el sistema de archivos NFS, el sistema asociado con un nombre de host concreto o nombre de dominio totalmente cualificado, puede ser dirigido a una máquina sin autorización. En este punto, la máquina desautorizada es el sistema que tiene permitido montar la compartición NFS, ya que no hay intercambio de información de nombre de usuario o contraseña para proporcional seguridad adicional al montaje NFS.
Los comodines o metacaracteres deben ser usados lo menos posible cuando garantizamos el acceso a una compartición NFS. El uso de los comodines puede incluir más sistemas de los que se desean.
También es posible restringir el acceso al servicio portmap a través de los TCP wrappers. El acceso a los puertos usados por portmap, rpc.mountd y rpc.nfsd se puede limitar creando reglas de cortafuegos con iptables.
Uso de NFSv4
El lanzamiento de NFSv4 trajo consigo una revolución para la autentificación y la seguridad cuando se comparten directorios a través de NFS. NFSv4 manda la implementación del módulo del kernel RPCSEC_GSS, el mecanismo GSS-API de la versión Kerberos 5, SPKM-3, y LIPKEY. Con NFSv4, los mecanismos de seguridad obligatorios están orientados hacia la autenticación de usuarios individuales y no a máquinas clientes, como lo hace NFSv2 y NFSv3.
Se asume que se tiene instalado un servidor de entrega de tíckets (KDC) y que está configurado de la forma correcta, antes de configurar el servidor NFSv4.
NFSv4 incluye el soporte a ACL basado en el modelo de Microsoft Windows NT, no en el modelo POSIX, por sus funcionalidades y porque es implementado ampliamente. NFSv2 y NFSv3 no son compatibles con los atributos nativos de ACL.
Otra funcionalidad de seguridad importante de NFSv4 es la eliminación del demonio rpc.mountd. El demonio rpc.mountd presentaba posibles agujeros de seguridad debido a la forma en que trataba con los manejadores de archivos.
Permisos de archivos
Una vez que el sistema de archivos es montado como lectura/escritura por un host remoto, la única protección que tiene cada archivo compartido son sus permisos. Si dos usuarios que comparten el mismo valor de identificador de usuario montan el mismo NFS, ellos podran modificar sus archivos mutuamente. Adicionalmente, cualquiera con acceso root en el sistema cliente puede usar el comando su - para volverse un usuario que tenga acceso a determinados archivos a través de la compartición NFS.
Por defecto, las listas de control de acceso (ACLs) son soportados por NFS. No se recomienda desactivar esta funcionalidad.
El comportamiento predeterminado cuando se está exportando un sistema de archivos a través NFS es usar aplastamiento de root. Esto coloca el identificador del usuario de cualquiera que esté accediendo a la compartición NFS, como el usuario root en su máquina local a un valor de la cuenta de nfsnobody. Nunca desactive el aplastamiento (squashing) de root.
Si se está exportando una compartición NFS como de sólo lectura, considere usar la opción all_squash, la cual hace que todos los usuarios accesando el sistema de archivos exportado tomen el ID de usuario del nfsnobody.

Imagen de robert2889
+1
0
-1

buenos dias.
estos dias he estado intentando montar un servidor utilizando NIS y NFS pero no me funciona e seguido muchos tutoriales pero a veces no le entiendo a los pasos. y creo que por eso no me sale y viendo tu documento queria preguntarte si puedes escribir un tutorial de instalacion de los dos servicios de forma sencilla para entenderle y ademas serviria para futuras dudas de otras personas
gracias

»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
Estudiante tratando de demostrar que se puede utilizar el software libre en la universidad

+1
0
-1