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 para o utilitário mount tem a seguinte funcionalidade:
Os processos de um binário setuid localizado em um sistema de arquivos que é montado usando-se a opção nosetuid não é executada com privilégios do bináriosetuid. Os processos são executados com os privilégios do usuário que executa o binário.
Por exemplo, se um usuário executa um binário setuid pertencente a root, os processos são executados com os privilégios do usuário.
Não é permitida a abertura de entradas especiais de dispositivo no sistema de arquivos. Este comportamento é equivalente a especificar a opção nodevices.
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 .
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).
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.
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 é 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 é 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.
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.
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).
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.
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)
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 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:
Você pode editar /etc/default/nfs para definir NFS_CLIENT_VERSMAX=number para que a região use por padrão a versão especificada. Consulte Setting Up NFS Services no System Administration Guide: Network Services . Use o procedimento Como selecionar diferentes versões de NFS em um cliente modificando o arquivo /etc/default/nfs no mapa de tarefas.
Você pode criar manualmente uma montagem de versão. Este método sobrescreve o conteúdo de /etc/default/nfs. Consulte Setting Up NFS Services no System Administration Guide: Network Services . Use o procedimento Como usar a linha de comando para selecionar diferentes versões de NFS em um cliente a partir do mapa de tarefas.
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.
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:
Especificação de que o diretório pai da raiz da regiões é pertencente à raiz e legível e executável somente por ela
Restrição de acesso a diretórios exportados por /proc
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.
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:
O comando é executado na região global.
A raiz alternativa se refere a qualquer caminho raiz dentro de uma região não global, seja o caminho relativo à região global do sistema em execução atualmente seja a região global em uma raiz alternativa.
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:
auditreduce
bart
flar
flarcreate
installf
localeadm
makeuuid
metaroot
patchadd
patchrm
pkgadd
pkgadm
pkgask
pkgchk
pkgrm
prodreg
removef
routeadm
showrev
syseventadm
A lista de comandos e programas que usam -b com um caminho raiz alternativo inclui o seguinte:
add_drv
pprosetup
rem_drv
roleadd
sysidconfig
update_drv
useradd