Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Sistemas de arquivos e regiões não globais

Esta seção fornece informações sobre os problemas do sistema de arquivos em um sistema do Solaris com regiões instaladas. Cada região tem sua própria seção na hierarquia do sistema de arquivos, enraizada em um diretório conhecido como a região root. Os processos na região podem acessar somente arquivos na parte da hierarquia que está localizada na raiz da região. O utilitário chroot pode ser usado em uma região, mas somente para restringir o processo a um caminho raiz dentro da região. Para obter mais informações sobre chroot, consulte chroot(1M).

A opção -o nosuid

A opção -o nosuid para o utilitário mount tem a seguinte funcionalidade:

Esta opção específica do sistema está disponível para todos os sistemas de arquivos do Solaris que podem ser montados com utilitários mount, como descrito na página do manual mount(1M) Neste guia, esses sistemas de arquivos estão listados em Montagem de sistemas de arquivos em regiões. As capacidades de montagem também são descritas. Para obter mais informações sobre a opção -o nosuid, consulte “Accessing Network File Systems (Reference)” no System Administration Guide: Network Services .

Montagem de sistemas de arquivos em regiões

Quando sistemas de arquivos são montados a partir do interior da região, a opção nodevices se aplica. Por exemplo, se uma região recebe acesso a um dispositivo de bloco (/dev/dsk/c0t0d0s7 ) e a um dispositivo básico (/dev/rdsk/c0t0d0s7) correspondentes a um sistema de arquivos UFS, o sistema de arquivos é montado automaticamente nodevices quando montado a partir do interior de uma região. Esta regra não se aplica a montagens especificadas através da configuração zonecfg.

As opções para a montagem de sistemas de arquivos em regiões não globais são descritas na tabela abaixo. Os procedimentos para essas alternativas de montagem são fornecidos em Configuração, verificação e comprometimento de uma região e Montagem de sistemas de arquivos em regiões não globais em execução.

Qualquer tipo de sistema de arquivos não listados tabela podem ser especificados na configuração se tiver um binário de montagem em /usr/lib/fstype/mount .

Sistema de arquivos 

Opções de montagem em uma região não global 

AutoFS 

Não pode ser montado usando-se zonecfg, não pode ser montado manualmente a partir da região global para uma região não global. Pode ser montado a partir do interior da região.

CacheFS 

Não pode ser usado em uma região não global. 

FDFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

HSFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

LOFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

MNTFS 

Não pode ser montado usando-se zonecfg, não pode ser montado manualmente a partir da região global para uma região não global. Pode ser montado a partir do interior da região.

NFS 

Não pode ser montado usando-se zonecfg. V2, V3 e V4, que são as versões que atualmente têm suporte em regiões, podem ser montadas a partir do interior da região.

PCFS  

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

PROCFS 

Não pode ser montado usando-se zonecfg, não pode ser montado manualmente a partir da região global para uma região não global. Pode ser montado a partir do interior da região.

TMPFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

UDFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

UFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

XMEMFS 

Pode ser montado usando-se zonecfg, pode ser montado manualmente a partir da região global para uma região não global, pode ser montado a partir do interior da região.

O suporte a este sistema de arquivos será removido do sistema do Solaris em uma versão futura. 

ZFS 

Pode ser montado usando-se os tipos de recursos zonecfg dataset e fs.

Para obter mais informações, consulte Como configurar a região, Montagem de sistemas de arquivos em regiões não globais em execução e a página do manual mount(1M).

Desmontagem de sistemas de arquivos em regiões

A capacidade de desmontar um sistema de arquivos depende de quem executou a montagem inicial. Se um sistema de arquivos foi especificado como parte da configuração da região usando-se o comando zonecfg, a região global é proprietária dessa montagem e o administrador da região para a região não global não pode desmontar o sistema de arquivos. Se o sistema de arquivos foi montado a partir do interior da região não global, por exemplo especificando a montagem no arquivo /etc/vfstab da região, o administrador da região na região não global pode desmontar o sistema de arquivos.

Restrições de segurança e comportamento do sistema de arquivos

Há restrições de segurança à montagem de determinados sistemas de arquivos a partir de uma região. Outros sistemas de arquivos expõem comportamento especial quando montados em uma região. Segue-se a lista de sistemas de arquivos modificados.

AutoFS

Autofs é um serviço de cliente que monta automaticamente o sistema de arquivos apropriado. Quando um cliente tenta acessar um sistema de arquivos que não está atualmente montado, o sistema de arquivos AutgoFS intercepta a solicitação e chama automountd para montar o diretório solicitado. Montagens do AutoFS estabelecidas no interior de uma região são locais para essa região. As montagens não podem ser acessadas a partir de outras regiões, inclusive a região global. As montagens são removidas quando a região é parada ou reinicializada. Para obter informações sobre AutoFS, consulte How Autofs Works no System Administration Guide: Network Services.

Cada região executa sua própria cópia de automountd. Os mapas automáticos e os tempos-limites são controlados pelo administrador da região. Não é possível acionar uma montagem em outra região atravessando-se um ponto de montagem do AutoFS para uma região não global a partir da região global.

Determinadas montagens do AutoFS são criadas no kernel quando outra montagem é acionada. Essas montagens não podem ser removidas usando-se a interface regular umount, porque devem ser montadas ou desmontadas como um grupo. Observe que esta funcionalidade é fornecida por desligamento de região.

MNTFS

MNTFS é um sistema de arquivos virtual que fornece acesso somente leitura à tabela de sistemas de arquivos montados para o sistema local. O conjunto de sistemas de arquivos visíveis usando-se mnttab a partir do interior da região não global é o conjunto de sistemas de arquivos montados na região, mais uma entrada para raiz (/) . Pontos de montagem com um dispositivo especial que não é acessível a partir do interior da região, como /dev/rdsk/c0t0d0s0, têm um conjunto de dispositivos semelhante ao do ponto de montagem. Todas as montagens no sistema são visíveis a partir da tabela /etc/mnttab da região global. Para obter mais informações sobre MNTFS, consulte o Capítulo 18, Mounting and Unmounting File Systems (Tasks), no System Administration Guide: Devices and File Systems.

NFS

Montagens do NFS estabelecidas no interior de uma região são locais para essa região. As montagens não podem ser acessadas a partir de outras regiões, inclusive a região global. As montagens são removidas quando a região é parada ou reinicializada.

Como documentado na página do manual mount_nfs(1M), um servidor de NFS não deve tentar montar seus próprios sistemas de arquivos. Assim, uma região não deve montar um sistema de arquivos NFS exportado pela região global. Regiões não podem ser servidores de NFS. A partir do interior de uma região, as montagens NFS se comportam como se montadas com a opção nodevices.

A saída do comando nfsstat somente pertence à região em que o comando é executado. Por exemplo, se o comando for executado na região global, somente informações a região global são relatadas. Para obter mais informações o comando nfsstat, consulte nfsstat(1M).

O comando zlogin falhará se qualquer um dos arquivos abertos ou qualquer parte do espaço de endereço residirem em NFS. Para obter mais informações, consulte Comando zlogin.

PROCFS

O sistema de arquivos /proc, ou PROCFS, fornece visibilidade de processos e restrições de acesso, assim como informações sobre a associação de regiões de processos. Somente processos na mesma região são visíveis através de /proc.

Processos na região global podem observar processos e outros objetos em regiões não globais. Isso permite que esses processos tenham uma observação do sistema geral.

A partir do interior de uma região, as montagens de procfs se comportam como se feitas com a opção nodevices. Para obter mais informações sobre procfs, consulte a página do manual proc(4).

LOFS

O escopo do que pode ser montado através de LOFS é limitado à parte do sistema de arquivos que é visível para a região. Assim, não há restrições a montagens LOFS em uma região.

UFS, UDFS, PCFS e outros sistemas de arquivos baseados em armazenamento

Ao usar o comando zonecfg para configurar sistemas de arquivos baseados em armazenamento que têm um binária fsck, como UFS, o administrador da região deve especificar um parâmetro raw. O parâmetro indica o dispositivo (caractere) básico, como /dev/rdsk/c0t0d0s7 . zoneadmd executa automaticamente o comando fsck em modo não interativo somente de verificação (fsck -m) neste dispositivo antes de montar o sistema de arquivos. Se fsck falhar, zoneadmd não pode colocar a região no estado de preparado. O caminho especificado por raw não pode ser um caminho relativo.

É um erro especificar um dispositivo para fsck de um sistema de arquivos que não fornece um binário fsck em /usr/lib/ fstype/fsck. É também um erro não especificar um dispositivo fsck se um binário fsck existir para esse sistema de arquivos.

Para obter mais informações, consulte O daemon zoneadmd e fsck(1M)

ZFS

Você pode adicionar um conjunto de dados ZFS a uma região não global usando o comando zonecfg com o recurso add dataset. O conjunto de dados será visível e montado em uma região não global e não mais visível na região global. O administrador de região pode criar e destruir sistemas de arquivos dentro desse conjunto de dados, criar e destruir clones e modificar as propriedades do conjunto de dados.

O atributo zoned de zfs indica se um conjunto de dados foi adicionado a uma região não global.


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

Se desejar compartilhar um conjunto de dados da região global, você pode adicionar um sistema de arquivos ZFS com montagem LOFS usando o comando zonecfg com o subcomando add fs. O administrador global é responsável para definição e pelo controle das propriedades do conjunto de dados.

Para mais informações sobre ZFS, consulte o Capítulo 10, Tópicos avançados do ZFS do Oracle Solaris, no Guia de administração do ZFS Oracle Solaris.

Regiões não globais como clientes NFS

Regiões podem ser clientes NFS. Há suporte para os protocolos das versões 2, 3 e 4. Para obter mais informações sobre estas versões de NFS, consulte Features of the NFS Service no System Administration Guide: Network Services.

A versão padrão é a versão 4 do NFS. Você pode ativar outras versões de NFS em um cliente usando um dos seguintes métodos:

Uso de mknod proibido em uma região

Observe que não é possível usar o comando mknod documentado na página do manual mknod(1M) para criar um arquivo especial em uma região não global.

Atravessamento de sistemas de arquivos

Em espaço de nome do sistema de arquivos da região é um subconjunto do espaço de nome acessível a partir da região global. Processos não privilegiados na região global são impedidos de atravessar a hierarquia do sistema de arquivos de uma região não global através dos seguintes meios:

Observe que a tentativa de acessar nós de AutoFS montados por outra região irá falhar. O administrador global não deve ter mapas automáticos que passem para outros regiões.

Restrição de acesso a uma região não global a partir da região global

Após a instalação de uma região não global, a região não deve ser acessada diretamente da região global por quaisquer comandos que não sejam utilitários de backup do sistema. Além disso, uma região não global não pode mais ser considerada segura depois de ter sido exposta a um ambiente desconhecido. Um exemplo seria uma região colocada em uma rede acessível publicamente, em que seria possível que a região fossem comprometida e o conteúdo de seus sistemas de arquivos alterados. Se houver qualquer possibilidade da ocorrência de comprometimento, a administrador global deve tratar a região como não confiável.

Qualquer comando que aceite uma raiz alternativa com o uso das opções -R ou - b (ou o equivalente) não deve ser usado quando o seguinte for verdadeiro:

Um exemplo é a opção -R root_path para o utilitário pkgadd executado a partir da região global com um caminho raiz de região não global.

A lista de comandos, programas e utilitários que usam -R com um caminho raiz alternativo inclui o seguinte:

A lista de comandos e programas que usam -b com um caminho raiz alternativo inclui o seguinte: