Explique por que as permissões da pasta diferem dependendo de como o usuário está acessando o servidor AFP vs SSH

3

Esperando que alguém possa explicar o que é provavelmente bastante óbvio ... mas me confunde.

Imagine dois usuários com privilégios de administrador em nosso servidor (Mac OS X Server 10.5). Chame-os de joe & bob.

ambos os usuários são membros desses grupos:

 Staff       Group ID: 20
 Workgroup   Group ID: 1025
 Admin       Group ID: 80 (assuming "[X] Administer Server" in Workgroup Manager sets this)

A pasta compartilhada "devfolder" tem o compartilhamento definido assim:

POSIX:

 Owner: joe     read & write
 Group: admin   read & write
 Other          no access

ACL:

 Workgroup  Allow  Read & write

A questão é por que, ao olhar para a mesma pasta, a propriedade parece mudar dependendo de quem está olhando?!? Ambos olhando para a mesma pasta no servidor:

Da perspectiva de Joe:

xserve:devfolder joe$ ls -l
drwxrwxr-x   6 joe  workgroup    204 May 20 19:32 app
drwxrwxr-x   9 joe  workgroup    306 May 20 19:32 config
drwxrwxr-x   3 joe  workgroup    102 May 20 19:32 db
drwxrwxr-x   3 joe  workgroup    102 May 20 19:32 doc
drwxrwxr-x   3 joe  workgroup    102 May 20 19:32 lib

E da perspectiva de Bob (pasta montada em sua máquina via AFP):

bobmac:devfolder bob$ ls -l
drwxrwxr-x   6 bob  _bob    264 May 20 19:32 app
drwxrwxr-x   9 bob  _bob    264 May 20 19:32 config
drwxrwxr-x   3 bob  _bob    264 May 20 19:32 db
drwxrwxr-x   3 bob  _bob    264 May 20 19:32 doc
drwxrwxr-x   3 bob  _bob    264 May 20 19:32 lib

Agora, se Bob se conectar ao servidor via SSH, sua saída será idêntica à de Joe, como esperado.

Alguém pode me dizer o que o cliente está fazendo neste caso e o que deve ser esperado quando o Bob criar ou atualizar arquivos nessa pasta? Quais ferramentas eu tenho para entender melhor isso na linha de comando? Isso é normal? Talvez uma maneira "mais limpa" que não seria confusa com "bob _bob"?!?

    
por Meltemi 22.05.2010 / 02:22

2 respostas

1

O AFP usa um modelo de permissão que é bem diferente do NFS. Os clientes se conectam usando suas credenciais e, em seguida, o acesso a arquivos é controlado pelo servidor. Em alguns casos, ocorre "Mapeamento de Privilégios", que é o fenômeno que você está descrevendo.

Benefícios

  1. Muito mais seguro que o NFS tradicional
  2. Modelo muito simples e ideal para um cliente que só tem um único usuário logado

Desvantagens

  1. Dois usuários no cliente não podem acessar simultaneamente o mesmo sistema de arquivos AFP montado como eles mesmos. O melhor que podem fazer é acessar o sistema de arquivos com as permissões do usuário que o montou primeiro (e até mesmo isso exigiria raiz do cliente para o outro usuário)
  2. As permissões relatadas não são as permissões "reais" da perspectiva do servidor

Esse inconveniente # 2 foi corrigido no Snow Leopard 10.6. O restante das implicações do modelo de segurança ainda se aplica, mas de alguma forma o cliente sabe relatar as permissões "reais" e não apenas as permissões "efetivas" como havia feito anteriormente.

Mais informações em:

por 16.06.2010 / 22:30
0

Acho que quando você tem acesso direto a todos os arquivos, obtém as permissões reais neles. Quando você montá-lo sobre o AFP, parece mostrar, digamos, permissões locais. (Possivelmente ele não tem idéia de quem são os outros usuários no sistema remoto, e apenas determina se você tem acesso de leitura e gravação a um arquivo, e lhe dá a propriedade se você tem, e não mostra se você não o fizer. )

Se bob modifica um arquivo, acho que você verá que as permissões permanecem as mesmas, conforme visualizadas no servidor. Eu realmente não tenho certeza do que acontece quando ele cria um arquivo. Suspeito que os atributos de propriedade corresponderão às credenciais usadas para obter acesso ao compartilhamento AFP.

    
por 22.05.2010 / 05:39