Ao montar um sistema de arquivos externo, como o Ubuntu combina os usuários?

1

Se eu montar um sistema de arquivos que faz parte de outra instalação do Ubuntu (systemB, vamos chamá-lo), como meu sistema (systemA) funciona? Especificamente:

  • O userA no meu sistema obtém acesso aos arquivos do userA no sistema de arquivos externo do systemB apenas porque eles têm o mesmo nome? As senhas devem coincidir? Isso implica para mim que o sistema de arquivos deve armazenar o usuário + senha juntos em algum lugar para que eles possam viajar com o sistema de arquivos.
  • O que acontece se houver um userB no systemB e nenhum usuário correspondente no meu sistema? Quem pode acessar seus arquivos do systemA? Pode fazer root?
por Ian 14.04.2013 / 13:31

1 resposta

3

As permissões são concedidas com base no ID do usuário em / etc / password. Os nomes são apenas uma conveniência. (BTW, que também é assim que é feito no Windows).

Exemplo:

O sistema local 'A' tinha um disco com esta configuração:

Joe,            uid 500
Jane,           uid 501
Job,            uid 502

Os arquivos criados por Joe recebem o ID do usuário 500.

Agora eu movo esse disco para o sistema 'B' O sistema B tem dois usuários:

Janette,        uid 500
slartibartfast, uid 501
Mark,           uid 599

Os arquivos pertencentes ao usuário 500 (Joe) no sistema 'A' agora poderão ser acessados pelo usuário 500 no sistema 'B'. O proprietário será listado como 'Janette'

Esta é a principal razão pela qual as pessoas mantêm seus UIDs iguais em todos os sistemas em que se conectam. Esp. quando o NFS está envolvido.


(Para completar: O proprietário de Fles por 'Jane' agora aparecerá como pertencente a 'slartibartfast', e os arquivos pertencentes a 'Job' serão listados apenas pela ID 502, já que não há um nome correspondente.)

Se você gosta de uma analogia, pense em uids como números de seguridade social. Seu nome pode mudar (por exemplo, quando você se casar), mas esse número será sempre o mesmo.

[Editado um pouco para responder as perguntas diretamente]

  

Se eu montar um sistema de arquivos que faz parte de outra instalação do Ubuntu (systemB, vamos chamá-lo), como meu sistema (systemA) funciona?

O sistema elimina a permissão verificando se o usuário ativo tem direitos sobre o arquivo ou se o usuário ativo está em um grupo que possui direitos nesse arquivo. Em todos os lugares que eu escrevi usuário ativo, você precisa perceber que o usuário é apenas um número. (A identificação). E isso ignora as restrições extras definidas pelo SE-Linux.

  

Especificamente: O userA no meu sistema obtém acesso aos arquivos do userA no sistema de arquivos externo do systemB apenas porque eles possuem o mesmo nome?

Não. Só se eles tiverem o mesmo uid.

  

As senhas devem coincidir?

Nenhuma verificação de senha feita quando você acessa o arquivo. Você autentica uma vez (quando você faz o login). Depois disso, você tem direitos sobre os arquivos que possui ou que estão nos mesmos grupos em que está.

  

Isso implica para mim que o sistema de arquivos deve armazenar o usuário + senha juntos em algum lugar para que eles possam viajar com o sistema de arquivos.

Nenhuma verificação de senha é feita no acesso aos arquivos, portanto isso não é relevante.

  

O que acontece se houver um userB no systemB e nenhum usuário correspondente no meu sistema?

Se não houver usuário com o mesmo uid, não será possível traduzir o uid para um nome. Assim, o valor numérico bruto é mostrado.

  

Quem pode acessar seus arquivos do sistema A? Pode fazer root?

Todo usuário com o mesmo uid ou com uid 0.

    
por Hennes 14.04.2013 / 13:47