CIFS e NFS: Permissões e sistemas de arquivos subjacentes

1

Eu tenho lido um pouco, mas ainda não estou completamente claro. Meu entendimento é que as permissões NFS são pretas ou brancas, e são controladas pelo arquivo de exportação (acredito que existam opções para que as permissões do sistema de arquivos local sejam respeitadas pelo cliente NFS, mas eu normalmente não vejo isso sendo usado). O sistema de arquivos subjacente não delegar permissões para o cliente NFS. Como o CIFS gerencia permissões? As permissões de ACLs ou NTFS do Windows controlam o acesso do cliente? O sistema de arquivos subjacente entra em cena?

Especificamente, estou curioso sobre a cópia de arquivos de um compartilhamento NFS para um compartilhamento CIFS. Ao usar o rsync -a, as permissões devem ser mantidas? Importa se o sistema de arquivos subjacente usado inodes ou não no compartilhamento NFS ou CIFS?

    
por usedTobeaMember 16.06.2014 / 16:37

1 resposta

2

Esta é uma questão bastante ampla e depende de, por exemplo, Versões NFS.

No entanto:

O NFS permite que você especifique um modo de segurança na exportação. Ele também permite aplicar limites aos quais os servidores podem montar sua exportação. (Limitando a montagem ou impondo somente leitura / sem raiz).

Isso não tem nada a ver com permissões. Se o seu modo de segurança for 'sys' significa que o sistema remoto decide como lidar com a autenticação - você está delegando confiança ao servidor remoto - se o cliente de montagem disser 'ei, eu sou o UID 123', seu servidor confia neles.

É possível exportar o NFS com o modo de segurança Kerberos, que é menos confiável. Não é nem de longe tão fácil de configurar e trabalhar, e como resultado não é muito usado. No entanto, o Kerberos move a relação de confiança para um servidor confiável - um controlador de domínio Kerberos. (Se você conhece melhor o Windows, é bem parecido com um controlador de domínio do Windows - também não é por acaso).

Com o Kerberos, você precisa se autenticar por meio de terceiros, e seus acessos a arquivos são então arbitrados de acordo com as permissões. O NFS < = V3 permite o usuário 'padrão', grupo, outro sistema de permissão de leitura / gravação / execução. O NFSv4 suporta listas de controle de acesso mais detalhadas. Eles também não são muito usados, porque são mais complicados.

Quando você vem para o CIFS, você está se aproximando de um ângulo diferente. Compartilhamentos CIFS são todos sobre o contexto do usuário. Servidores não montam um compartilhamento CIFS, os usuários mapeiam para ele. Embutidos nisso estão a autenticação do usuário CIFS. Isso agora (normalmente) é feito via Kerberos também.

Eu apresento minhas credenciais de usuário (ticket Kerberos) * para o servidor, que pode ver as permissões compartilhar para ver se posso acessá-las.

Separadas das permissões de compartilhamento estão as permissões do sistema de arquivos, que também são aplicadas - uma vez que eu tenha sido autorizado para acesso de compartilhamento.

Tenho certeza que não será nenhuma surpresa que haja um grau de convergência entre a autenticação e permissão do CIFS / Kerberos e o NFSv4 / Kerberos. De fato, atualmente estamos no processo de convergir nossos ambientes de hospedagem para usar permissões comuns.

No entanto, se você não estiver fazendo o NFSv4, ainda precisará manipular o mapeamento entre as permissões baseadas em grupo / função do CIFS e as do Unix.

  • Você não precisa estar usando o Kerberos para falar com o Windows - há uma alteração que você está usando o NTLM. Não é um ótimo plano, mas funciona da mesma maneira - pelo menos de uma perspectiva de mapeamento de permissões / compartilhamento.
por 16.06.2014 / 17:49