O que o NFS faz quando o / etc / exports contém uma exportação que está dentro do diretório de outra exportação?

1

Eu tenho um arquivo / etc / exports como este:

/home          remotehost.com(rw,root_squash,anonuid=500,anongid=500)
/home/fred     remotehost.com(rw,root_squash,anonuid=1000,anongid=1000)

As duas exportações funcionam independentemente umas das outras ou podem ocorrer conflitos? Por exemplo, se eu montar / home e / home / fred, o que acontecerá? Se desmontar / home, o / home / fred ficará montado?

Obrigado

    
por Tom 29.04.2011 / 22:41

2 respostas

3

A primeira linha não concede o direito de montar / home / fred, apenas especifica o ponto de montagem. A segunda linha é independente da primeira. Onde você os monta para determinar os problemas de herança.

    
por 29.04.2011 / 22:46
2

Vamos ligar para o seu servidor nfs nfshost.com. Vamos dizer que nele existem dois diretórios em / home

  • / home / fred, de propriedade do usuário e grupo numerados de 500
  • / home / bob, de propriedade do usuário e do grupo com o número 1000

Digamos que no remotehost.com você tenha três diretórios vazios

  • / allhome
  • / justbob
  • / justfred

Se você montou nfshost.com:/home em / allhome, você poderá ver todo o conteúdo de nfshost.com:/home on / allhome, ou seja, / allhome / bob e / allhome / fred. Desde que você ativou root_squash e configurou anonuid e anongid para 500, se o usuário root tentar acessar qualquer coisa sob / allhome, eles o farão com os direitos de acesso que o usuário com ID 500 ou um usuário do grupo 500 no nfshost.com possui. Por exemplo, se /allhome/bob/.profile tiver as permissões -rw-r -----, o root poderá ler e gravar nele. Se /allhome/fred/.profile tivesse as permissões -rw-r -----, o root não seria capaz de acessá-lo.

Mesmo que você não tenha explicitamente exportado / home / bob, já que é um subdiretório de um diretório que você exportou, você pode montar nfshost.com:/home/bob on / justbob. Isso usaria as mesmas opções de exportação que você especificou para / home.

Embora / home / fred seja um subdiretório de outro diretório que você exportou, uma vez que você o exportou explicitamente ao montá-lo, as opções de exportação especificadas para ele terão efeito. Isso significa que se você montou nfshost.com:/home/fred em / justfred, anonuid e anongid seriam definidos como 1000. O usuário root seria capaz de ler e escrever /justfred/.profile. Isso não afetaria sua incapacidade de acessar o mesmo arquivo pelo caminho /allhome/fred/.profile.

E se você montou nfshost.com:/home/fred em / allhome / fred? Isso mascararia o conteúdo de / allhome / fred da exportação nfshost.com:/home e mostraria o conteúdo da exportação nfshost.com/home/fred. Nesse caso, a diferença não seria aparente, já que os arquivos acessados são os mesmos. No entanto, as opções de exportação não são as mesmas. root agora acessaria / allhome / fred com uid e gid de 1000. Agora eles seriam capazes de ler e escrever /home/fred/.profile.

Se você tentou desmontar / allhome neste ponto, você receberia um erro informando que o dispositivo está ocupado. Você teria que desmontar / allhome / fred primeiro.

    
por 30.04.2011 / 03:28

Tags