Gestión de sistemas de archivos de red en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Comando share

Utilice el comando share para ubicar un sistema de archivos en un servidor NFS disponible para el montaje. También puede utilizar el comando share para mostrar una lista de los sistemas de archivos en el sistema que se comparten actualmente. El servidor NFS debe estar en ejecución para que el comando share funcione.

Los objetos que se pueden compartirse incluyen cualquier árbol de directorios. Sin embargo, cada jerarquía del sistema de archivos está limitada por el segmento de disco o la partición en donde se encuentra el sistema de archivos.

Un sistema de archivos no se puede compartir si ese sistema de archivos es parte de un sistema de archivos más grande que ya se está compartiendo. Por ejemplo, si /usr y /usr/local están en un segmento de disco, es posible compartir /usr o /usr/local. Sin embargo, si ambos directorios deben compartirse con diferentes opciones para compartir, /usr/local se debe mover a un segmento de disco separado.

Puede obtener acceso a un sistema de archivos de sólo lectura que esté compartido a través del identificador de archivos de un sistema de archivos compartido de lectura y escritura. Sin embargo, los dos sistemas de archivos tienen que estar en el mismo segmento de disco. Para crear una situación más segura, coloque los sistemas de archivos que deben ser de lectura y escritura en una partición distinta o en un segmento de disco independiente de los sistemas de archivos que necesita compartir como de sólo lectura.


Notas -  Para obtener información acerca de cómo funciona NFS versión 4 cuando un sistema de archivos no se comparte y, luego, se vuelve a compartir, consulte Anular el uso compartido y volver a compartir un sistema de archivos en NFS versión 4.

Opciones de share

Algunas de las opciones que puede incluir con el indicador –o son las siguientes:

rw|ro

El sistemas de archivos pathname se comparte en modo de lectura y escritura y en modo de sólo lectura para todos los clientes.

rw=lista-acceso

El sistema de archivos se comparte en modo de lectura y escritura sólo para los clientes en la lista. Todas las demás solicitudes se deniegan. Consulte Configuración de listas de acceso con el comando share para obtener más información. Puede utilizar esta opción para anular una opción –ro.

Opciones share específicas de NFS

Las opciones que puede utilizar con sistemas de archivos NFS incluyen las siguientes:

aclok

Esta opción permite que un servidor NFS que admite el protocolo NFS versión 2 sea configurado para controlar el acceso de los clientes NFS versión 2. Sin esta opción, todos los clientes obtienen acceso mínimo. Con esta opción, los clientes obtienen acceso máximo. Por ejemplo, en los sistemas de archivos que se comparten con la opción –aclok, si alguien cuenta con permisos de lectura, todos lo tienen. Sin embargo, sin esta opción, puede denegar el acceso a un cliente que debe tener los permisos de acceso. La decisión de permitir demasiado acceso o acceso muy limitado depende de los sistemas de seguridad en lugar. Consulte Uso de listas de control de acceso para proteger archivos UFS de Protección y verificación de la integridad de archivos en Oracle Solaris 11.2 para obtener más información sobre listas de control de acceso (ACLs).


Notas -  Para utilizar las ACL, asegúrese de que los clientes y los servidores ejecuten software compatible con los protocolos NFS versión 3 y NFS_ACL. Si el software sólo admite el protocolo NFS versión 3, los clientes obtienen acceso correcto pero no puede manipular las ACL. Si el software admite el protocolo NFS_ACL, los clientes obtienen acceso correcto y pueden manipular las ACL.
anon=uid

Utiliza anon para seleccionar el ID de usuario de los usuarios no autenticados. Si configura anon en -1, el servidor niega el acceso a los usuarios no autenticados. Debido a que el otorgamiento del acceso root al configurar anon=0 permite que los usuarios no autenticados tengan acceso root, utilice la opción root en su lugar.

index=filename

Cuando un usuario accede a una URL de NFS, la opción –index=filename fuerza la carga del archivo HTML, en lugar de mostrar una lista del directorio. Esta opción imita la acción de los exploradores actuales si se encuentra un archivo index.html en el directorio al que la dirección URL de HTTP está accediendo. Esta opción es el equivalente a la configuración de la opción DirectoryIndex para httpd. Por ejemplo, suponga que el comando share informa lo siguiente:

export_web /export/web   nfs sec=sys,public,index=index.html,ro

Estas URL muestran la misma información:

nfs://server/dir
nfs://server/dir/index.html
nfs://server//export/web/dir
nfs://server//export/web/dir/index.html
http://server/dir
http://server/dir/index.html
log=tag

Esta opción especifica la marca en /etc/nfs/nfslog.conf que contiene la información de configuración del registro del servidor NFS para un sistema de archivos. Esta opción debe estar seleccionada para activar el registro del servidor NFS.

nosuid

Esta opción señala que deben ignorarse todos los intentos de activar el modo setuid o setgid. Los clientes NFS no pueden crear archivos con los bits setuid o setgid activados.

public

La opción –public se ha agregado al comando share a fin de activar la exploración WebNFS. Sólo se puede compartir un sistema de archivos en un servidor con esta opción.

–root=access-list

El servidor otorga acceso root a los hosts incluidos en la lista. De manera predeterminada, el servidor no otorga acceso root a ninguno de los hosts remotos. Si el modo de seguridad seleccionado es cualquier otro valor que no sea –sec=sys, sólo puede incluir los nombres de host de cliente en la lista. Consulte Configuración de listas de acceso con el comando share para obtener más información.


Caution

Precaución  -  El otorgamiento de acceso root a otros hosts tiene grandes consecuencias en la seguridad. Utilice la opción –root= con extrema precaución.


–root=client-name

El valor client-name se utiliza con la autenticación AUTH_SYS para comprobar la dirección IP del cliente en comparación con una lista de direcciones proporcionada por exportfs(1B). Si se encuentra una coincidencia, se dará acceso root en los sistemas de archivos que se comparten.

–root=hostname

Para los modos NFS seguros, como AUTH_SYS o RPCSEC_GSS, el servidor comprueba los nombres principales de los clientes frente a una lista de nombres principales basados en host que se derivan de una lista de acceso. La sintaxis genérica del nombre principal del cliente es root@hostname. Para Kerberos V la sintaxis es root/hostname.fully.qualified@REALM. Al utilizar el valor hostname, los clientes en la lista de acceso deben tener las credenciales de un nombre principal. Para Kerberos V, el cliente debe tener una entrada de keytab válida para su nombre principal root/hostname.fully.qualified@REALM. Para obtener más información, consulte Configuración de clientes Kerberos de Gestión de Kerberos y otros servicios de autenticación en Oracle Solaris 11.2 .

–sec=mode[:mode]

Esta opción configura los modos de seguridad que son necesarios para obtener acceso al sistema de archivos. De manera predeterminada, el modo de seguridad es la autenticación UNIX. Puede especificar varios modos, pero sólo puede utilizar cada modo de seguridad una vez por línea de comandos. Cada opción –sec= se aplica a todas las opciones subsiguientes –rw, –ro, –rw=, –ro=, –root= y –window= hasta encontrar otra opción –sec=. El uso de –sec=none asigna todos los usuarios al usuario nobody.

window=value

value selecciona la duración máxima en segundos de una credencial en el servidor NFS. El valor predeterminado es 30000 s o 8,3 h.

Configuración de listas de acceso con el comando share

La lista de acceso que proporciona con el comando share puede incluir un nombre de dominio, un número de subred o una entrada para denegar acceso, además de las opciones estándares –ro=, –rw= o –root=. Estas extensiones deberían simplificar el control de acceso a archivos en un único servidor sin tener que cambiar el espacio de nombres o mantener largas listas de clientes.

El siguiente ejemplo proporciona acceso de sólo lectura para la mayoría de los sistemas, pero permite el acceso de lectura y escritura para rose y lilac:

# share -F nfs -o ro,rw=rose:lilac /usr/src

En el siguiente ejemplo, se asigna acceso de sólo lectura a cualquier host en el eng grupo de red. Al cliente rose se le otorga específicamente acceso de lectura y escritura.

# share -F nfs -o ro=eng,rw=rose /usr/src

Notas -  No puede especificar rw y ro sin argumentos. Si no se especifica una opción de lectura y escritura, el valor predeterminado para todos los clientes es de lectura y escritura.

Para compartir un sistema de archivos con varios clientes, debe escribir todas las opciones en la misma línea. Si se invoca el comando share varias veces en el mismo objeto, sólo se aplica el último comando ejecutado. En el siguiente ejemplo, se activa el acceso de lectura y escritura a tres sistemas de cliente, pero sólo rose y tulip tienen acceso al sistema de archivos como root.

# share -F nfs -o rw=rose:lilac:tulip,root=rose:tulip /usr/src

Al compartir un sistema de archivos que utiliza varios mecanismos de autenticación, asegúrese de incluir las opciones –ro, –ro=, –rw, –rw=, –root y –window después de los modos de seguridad correctos. En este ejemplo, se selecciona la autenticación de UNIX para todos los hosts del grupo de red denominado eng. Estos hosts sólo pueden montar el sistema de archivos en modo de sólo lectura. Los hosts tulip y lilac pueden montar el sistema de archivos de lectura y escritura si utilizan autenticación Diffie-Hellman. Con estas opciones, tulip y lilac pueden montar el sistema de archivos de sólo lectura, incluso si estos hosts no utilizan autenticación DH. Sin embargo, los nombres de host deben estar incluidos en el grupo de red eng.

# share -F nfs -o sec=dh,rw=tulip:lilac,sec=sys,ro=eng /usr/src

Aunque la autenticación UNIX es el modo de seguridad predeterminado, la autenticación UNIX no se incluye si se utiliza la opción –seg. Por lo tanto, debe incluir una opción –sec=sys si la autenticación UNIX se utilizará con cualquier otro mecanismo de autenticación.

Puede utilizar el nombre de dominio DNS en la lista de acceso si antepone un punto al nombre de dominio actual. La cadena que continua después del punto es un nombre de dominio, no un nombre de host completo. En el siguiente ejemplo, se permite el acceso de montaje a todos los hosts del dominio eng.example.com:

# share -F nfs -o ro=.:.eng.example.com /export/share/man

En este ejemplo, el punto único coincide con todos los hosts confrontados mediante los espacios de nombres NIS. Los resultados que se devuelven de estos servicios de nombres no incluyen el nombre de dominio. La entrada .eng.example.com coincide con todos los hosts que usan DNS para la resolución de espacios de nombres. Porque DNS siempre devuelve un nombre de host completo, se requiere la entrada más larga si debe usar una combinación de DNS y los otros espacios de nombres.

Puede utilizar un número de subred en una lista de acceso si antepone (@) al número de red real o el nombre de red. Este carácter diferencia el nombre de red de un grupo de red o un nombre de host completo. Debe identificar la subred en /etc/networks o en un espacio de nombres NIS. Las entradas siguientes tienen el mismo efecto si la subred 192.168 se ha identificado como red eng:

# share -F nfs -o ro=@eng /export/share/man
# share -F nfs -o ro=@192.168 /export/share/man
# share -F nfs -o ro=@192.168.0.0 /export/share/man

Las últimas dos entradas muestran que no tiene que incluir las direcciones de red completas.

Si el prefijo de red no está alineado con el byte, como con el enrutamiento entre dominios sin clase (CIDR), la longitud de la máscara puede especificarse explícitamente en la línea de comandos. La longitud de la máscara se define siguiendo el nombre de red o el número de red con una barra diagonal y el número de bits significativos en el prefijo de la dirección. Por ejemplo:

# share -f nfs -o ro=@eng/17 /export/share/man
# share -F nfs -o ro=@192.168.0/17 /export/share/man

En estos ejemplos, "/17" indica que los primeros 17 bits de la dirección se utilizarán como máscara. Para obtener información adicional sobre CIDR, consulte RFC 1519.

También puede seleccionar acceso negativo si coloca "-" antes de la entrada. Tenga en cuenta que las entradas se leen de izquierda a derecha. Por lo tanto, debe colocar el acceso negativo a las entradas antes de la entrada sobre la que se aplicará el acceso negativo:

# share -F nfs -o ro=-rose:.eng.example.com /export/share/man

Este ejemplo permite el acceso a cualquier host en el dominio eng.example.com, excepto el host que se denomina rose.