Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Sistemas de archivos y zonas no globales

En esta sección se proporciona información sobre las cuestiones relativas al sistema de archivos en un sistema Solaris con zonas instaladas. Cada zona tiene su propia sección de la jerarquía del sistema de archivos, en un directorio conocido como directorio root de la zona. Los procesos de la zona sólo pueden acceder a los archivos de la parte de la jerarquía que se encuentra en la raíz de la zona. La utilidad chroot se puede utilizar en una zona, pero únicamente para limitar el proceso a una ruta raíz dentro de la zona. Para más información sobre chroot, consulte chroot(1M).

La opción -o nosuid

La opción -o nosuid de la utilidad mount tiene la siguiente funcionalidad:

Esta opción específica del sistema de archivos está disponible para todos los sistemas de archivos de Solaris que se pueden montar con las utilidades mount, tal como se describe en la página del comando man mount(1M) En esta guía, estos sistemas de archivos se enumeran en Cómo montar sistemas de archivos en zonas. Asimismo, se describen las posibilidades de montaje. Para obtener más información sobre la opción -o nosuid, consulte el apartado sobre cómo acceder a los sistemas de archivos de red (referencia) de la System Administration Guide: Network Services .

Cómo montar sistemas de archivos en zonas

Cuando los sistemas de archivos se montan desde una zona, se aplica la opción nodevices. Por ejemplo, si la zona tiene acceso a un dispositivo de bloques (/dev/dsk/c0t0d0s7) y a un dispositivo básico (/dev/rdsk/c0t0d0s7) correspondiente a un sistema de archivos UFS, el sistema de archivos se monta automáticamente con nodevices cuando se monta desde una zona. Esta regla no se aplica a los montajes especificados a través de una configuración de zonecfg.

En la tabla siguiente se describen las opciones para montar sistemas de archivos en zonas no globales. Encontrará los procedimientos para estas alternativas de montaje en Configuración, verificación y confirmación de una zona y Cómo montar los sistemas de archivos en zonas no globales en ejecución.

Cualquier tipo de sistema de archivos que no se incluya en la tabla se puede especificar en la configuración si tiene un binario de montaje en /usr/lib/tipo_sistema_archivos/mount.

Sistema de archivos 

Opciones de montaje en una zona no global 

AutoFS 

No se puede montar utilizando zonecfg ni manualmente desde la zona global en una zona no global. Se puede montar desde la zona

CacheFS 

No se puede utilizar en una zona no global. 

FDFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

HSFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

LOFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

MNTFS 

No se puede montar utilizando zonecfg ni manualmente desde la zona global en una zona no global. Se puede montar desde la zona

NFS 

No se puede montar utilizando zonecfg. V2, V3 y V4, que son las versiones que se admiten actualmente en las zonas, se pueden montar desde la zona.

PCFS  

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

PROCFS 

No se puede montar utilizando zonecfg ni manualmente desde la zona global en una zona no global. Se puede montar desde la zona

TMPFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

UDFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

UFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

XMEMFS 

Se puede montar utilizando el comando zonecfg, manualmente desde la zona global en una zona no global y desde la zona.

La compatibilidad con este sistema de archivos se eliminará del sistema Solaris en una futura versión. 

ZFS 

Se puede montar utilizando los tipos de recursos zonecfg dataset y fs.

Para más información, consulte Cómo configurar la zona, Cómo montar los sistemas de archivos en zonas no globales en ejecución y la página del comando man mount(1M).

Cómo desmontar sistemas de archivos de zonas

La posibilidad de desmontar un sistema de archivos depende de quién haya realizado el montaje inicial. Si se especifica un sistema de archivos como parte de la configuración de la zona utilizando el comando zonecfg, la zona global es propietaria de este montaje y el administrador de zona de la zona no global no puede desmontar el sistema de archivos. Si el sistema de archivos está montado desde la zona no global, por ejemplo, especificando el montaje en el archivo /etc/vfstab de la zona, el administrador de zona de la zona no global puede desmontar el sistema de archivos.

Limitaciones de seguridad y comportamiento del sistema de archivos

Existen limitaciones de seguridad para el montaje de determinados sistemas de archivos dentro de una zona. Otros sistemas de archivos muestran un comportamiento especial cuando se montan en una zona. A continuación se incluye la lista de los sistemas de archivos modificados.

AutoFS

Autofs es un servicio de cliente que monta automáticamente el sistema de archivos apropiado. Cuando un cliente intenta acceder a un sistema de archivos que no está montado, el sistema de archivos AutoFS intercepta la solicitud y llama a automountd para montar el directorio solicitado. Los montajes de AutoFS establecidos en una zona son locales para esa zona. No es posible acceder a los montajes desde otras zonas, incluida la zona global. Los montajes se eliminan cuando se detiene o reinicia la zona. Para más información sobre AutoFS, consulte How Autofs Works de System Administration Guide: Network Services.

Cada zona ejecuta su propia copia de automountd. El administrador de zona controla las asignaciones y los tiempos de espera automáticos. No puede activar un montaje en otra zona cruzando un punto de montaje AutoFS para una zona no global desde la zona global.

Algunos montajes AutoFS se crean en el núcleo cuando se activa otro montaje. Dichos montajes no se pueden eliminar utilizando la interfaz de umount habitual porque deben montarse o desmontarse como grupo. Esta función se proporciona para el cierre de zonas.

MNTFS

MNTFS es un sistema de archivos virtual que proporciona acceso de sólo lectura a la tabla de sistemas de archivos montados para el sistema lógico. El conjunto de sistemas de archivos visibles utilizando mnttab desde una zona no global es el conjunto de sistemas de archivos montados en la zona, más una entrada para el root (/) . Los puntos de montaje con un dispositivo especial al que no se puede acceder desde la zona, como /dev/rdsk/c0t0d0s0, tienen su dispositivo especial configurado como el punto de montaje. Todos los montajes del sistema están visibles desde la tabla /etc/mnttab de la zona global. Para más información sobre MNTFS, consulte el Capítulo 18, Mounting and Unmounting File Systems (Tasks) de System Administration Guide: Devices and File Systems.

NFS

Los montajes de NFS establecidos en una zona son locales para esa zona. No es posible acceder a los montajes desde otras zonas, incluida la zona global. Los montajes se eliminan cuando se detiene o reinicia la zona.

Tal como se explica en la página del comando man mount_nfs(1M), un servidor NFS no debe intentar montar sus propios sistemas de archivos. Por tanto, una zona no debe montar con NFS un sistema de archivos exportado por la zona global. Las zonas no pueden ser servidores NFS. Dentro de una zona, los montajes NFS se comportan como si estuvieran montados con la opción nodevices.

El resultado del comando nfsstat sólo hace referencia a la zona en la que se ejecuta el comando. Por ejemplo, si el comando se ejecuta en la zona global, sólo se registra la información de la zona global. Para obtener más información sobre el comando nfsstat, consulte nfsstat(1M).

El comando zlogin fallará si alguno de sus archivos abiertos o cualquier parte de su espacio de dirección reside en NFS. Para más información, consulte Comando zlogin.

PROCFS

El sistema de archivos /proc, o PROCFS, proporciona visibilidad del proceso y limitaciones de acceso, así como información sobre la asociación de zonas de los procesos. Sólo los procesos de la misma zona están visibles a través de /proc.

Los procesos de la zona global pueden observar los procesos y otros objetos de las zonas no globales. Esto permite que dichos procesos puedan observarse en todo el sistema.

En la zona, los montajes de procfs se comportan como si estuvieran montados con la opción nodevices. Para más información sobre procfs, consulte la página del comando man proc(4).

LOFS

El ámbito de lo que se puede montar mediante LOFS está limitado a la parte del sistema de archivos que está visible para la zona. Por tanto, no hay limitaciones en los montajes de LOFS de una zona.

UFS, UDFS, PCFS y otros sistemas de archivos basados en almacenamiento

Cuando el administrador de zona utiliza el comando zonecfg para configurar los sistemas de archivos basados en almacenamiento que tienen un binario fsck, como UFS, debe especificar el parámetro raw. El parámetro indica el dispositivo básico (carácter), como /dev/rdsk/c0t0d0s7. zoneadmd ejecuta automáticamente el comando fsck en el modo de sólo comprobación no interactivo (fsck -m) en este dispositivo antes de montar el sistema de archivos. Si fsck falla, zoneadmd no puede colocar la zona en el estado de lista. La ruta especificada por raw no puede ser una ruta relativa.

Es erróneo especificar un dispositivo para fsck para un sistema de archivos que no proporciona un binario fsck en /usr/lib/ tipo_sistema_archivos/fsck. También es un error no especificar ningún dispositivo para fsck si existe un binario fsck para ese sistema de archivos.

Para obtener más información, consulte El daemon zoneadmd y fsck(1M)

ZFS

Puede añadir un conjunto de datos ZFS a una zona no global utilizando el comando zonecfg con el recurso add dataset. El conjunto de datos estará visible y se montará en la zona no global y dejará de estar visible en la zona global. El administrador de zona puede crear y destruir sistemas de archivos dentro de ese conjunto de datos, crear y destruir clones y modificar las propiedades del conjunto de datos.

El atributo zoned de zfs indica si se ha añadido un conjunto de datos a una zona no global.


# zfs get zoned tank/sales
NAME          PROPERTY    VALUE      SOURCE
tank/sales    zoned       on         local

Si desea compartir un conjunto de datos desde la zona global, puede añadir un sistema de archivos ZFS montado con LOFS utilizando el comando zonecfg con el subcomando add fs. El administrador global se encarga de configurar y controlar las propiedades del conjunto de datos.

Para más información sobre ZFS, consulte el Capítulo 10, Temas avanzados de Oracle Solaris ZFS de Guía de administración de Oracle Solaris ZFS.

Zonas no globales como clientes NFS

Las zonas pueden ser clientes NFS. Se admiten las versiones 2, 3 y 4 de los protocolos. Para obtener información sobre estas versiones de NFS, consulte Features of the NFS Service de System Administration Guide: Network Services

La versión predeterminada es NFS versión 4. Puede habilitar otras versiones de NFS en un cliente mediante uno de los métodos siguientes:

Prohibición del uso de mknod en una zona

No se puede utilizar el comando mknod descrito en la página del comando man mknod(1M) para crear un archivo especial en una zona no global.

Recorrido de sistemas de archivos

El espacio de nombre del sistema de archivos de una zona es un subconjunto del espacio de nombre al que se puede acceder desde la zona global. Para que los procesos que no tienen privilegios en la zona global no puedan recorrer la jerarquía del sistema de archivos de una zona no global:

Tenga en cuenta que cualquier intento de acceder a los nodos de AutoFS montados para otra zona será fallido. El administrador global no debe tener asignaciones automáticas que desciendan a otras zonas.

Limitación del acceso a una zona no global desde la zona global

Una vez instalada una zona no global, no se podrá acceder directamente a la zona desde la zona global mediante ningún comando que no sea de las utilidades de copia de seguridad del sistema. Además, una zona no global ya no puede considerarse segura una vez se ha expuesto a un entorno desconocido. Un ejemplo sería una zona colocada en una red de acceso público, en la que sería posible poner en peligro la zona y modificar el contenido de sus sistemas de archivos. Si existe la posibilidad de que se haya puesto en peligro, el administrador debe tratar la zona como zona que no es de confianza.

No se debe utilizar ningún comando que acepte una raíz alternativa utilizando las opciones -R o -b (o equivalentes) cuando se den las siguientes condiciones:

Un ejemplo es la opción -R root_path de la utilidad pkgadd que se ejecuta desde la zona global con una ruta raíz de zona no global.

La lista de los comandos, programas y utilidades que hacen uso de -R con una ruta raíz alternativa incluye:

La lista de los comandos y programas que utilizan -b con una ruta raíz alternativa incluye: