Estou montando um servidor de teste em um sistema de arquivos compartilhado no trabalho. É uma montagem cifs, então estou olhando esta página de referência:https://linux.die.net/man/8/mount.cifs
Quero tentar montar de uma maneira "saber o mínimo possível" para evitar que as pessoas falsifiquem o sistema de arquivos compartilhado de um servidor de teste. Então, nos documentos eu vejo:
uid=arg define o uid que possuirá todos os arquivos ou diretórios no sistema de arquivos montado quando o servidor não fornecer informações de propriedade. Pode ser especificado como um nome de usuário ou um uid numérico. Quando não especificado, o padrão é uid 0. O auxiliar mount.cifs deve estar na versão 1.10 ou superior para suportar a especificação do uid em formato não numérico. Consulte a seção sobre PROPRIEDADE E PERMISSÕES DE ARQUIVOS E DIRETÓRIOS abaixo para obter mais informações.
Parece bom. Mas aqui está minha pergunta:
- Como posso verificar se o servidor fornece informações de propriedade e, em caso afirmativo, como posso descobrir o que realmente é?
Pergunta bônus:
- Qual é o sentido de oferecer permissões quando você pode simplesmente substituí-las
file_mode=0777,dir_mode=0777
?
Responder1
Você está olhando para CIFS, não para NFS. Eu nunca encontrei um método para extrair informações de propriedade de um compartilhamento Windows CIFs com ferramentas Linux (se alguém souber como - prove que estou errado!). É assim que funciona:
- No servidor, as credenciais fornecidas determinam seu acesso. Você não pode "anular" um acesso somente leitura
file_mode=0777
; nesse caso, você obteria um acesso negado ao tentar gravar um arquivo. - Como um compartilhamento CIFS padrão não exporta nenhuma informação de propriedade, as opções
uid
,gid
,umask
,file_mode
,dir_mode
fornecem uma maneira de colocar uma segurança de arquivo Linux sobre o compartilhamento montado. Dessa forma, você pode dizer que apenas um usuário/grupo Linux local específico é capaz de ler/gravar em seu compartilhamento montado. Se você não fornecer essas opções durante a montagem, os valores padrão serão usados (provavelmenteuid=0, gid=0, umask=0
para todos os diretórios e arquivos dentro desse compartilhamento) - Olhando para o oficialdocumentação, pode-se ler que existem "extensões unix para CIFS" que permitem exportar informações de propriedade de uid/gid. Mas não sei se existe uma maneira de determinar se o servidor suporta essas extensões.