Isso é algo que discutimos na escola.
É mais ou menos assim,
- Crie um diretório (nomeado
data
, para referência aqui)
- alterar permissões como "
chmod 711 data
"
- grupo e outros têm apenas
x
- acesso para entrar no diretório
- eles não podem listar o diretório
- Agora, crie um diretório
difficult-name-here
(isso pode ser uma string com hash)
- alterar permissões como "
chmod a+rx difficult-name-here
"
- o conteúdo deste diretório é seguro, enquanto o diretório externo não pode ser listado
- pessoas que conhecem o "nome difícil" podem pular para este segundo diretório
- "
cd path/to/data/difficult-name-here
"
- outras pessoas não podem ver o nome e não podem acessar o conteúdo do diretório
- No entanto,
root
sempre é possível acessar tudo (o que não é um problema aqui)
- compartilhe
difficult-name-here
com as pessoas que você deseja fornecer esses dados
- Mantenha os arquivos compartilhados nesse segundo diretório
Muito rude, mas se isso puder ser quebrado sem a quebra do controle de acesso ao unix, eu gostaria de saber.
Atualização no comentário de dmckee
,
Esta é exatamente a conclusão que chegamos!
"segurança pela obscuridade" tem segurança limitada .
Dito isto, ao projetar proteção para dados,
é importante identificar seu valor.
Você deve ter como alvo,
- Um custo de quebra da segurança superior a,
- O custo do conteúdo protegido,
- Por um fator proporcional à sua paranóia
Nesse caso, se você root
decidir enumerar a árvore de diretórios em algum lugar de acesso público,
seu segredo será revelado! Mas você está protegendo da raiz ou de sua potencial irresponsabilidade?
Se for esse o caso, você terá muito mais com que se preocupar do que com os arquivos compartilhados.
Atualização sobre a nota que não está funcionando na pergunta .
Eu usei isso nos primeiros dias do linux para saber que funciona.
Se você receber ' cannot access non-existant file
' em vez de 'permissions denied
'', provavelmente cometeu um erro na sequência. O que você deseja deve ficar assim,
755 711 755 o que for - === Permissões de acesso
BasePath / CoverDir / Obscure / protectedFile.txt
| | ^^^^^^^^^^^^^^^^^ Não pode ser visto sem
| ^^^^^^^ Nome do diretório, acesso de leitura a
^^^^^ Público compartilhado com um amigo. Diretório obscuro.
acessível
diretório.
- Se você definir '
CoverDir
' acesso como 'rwx--x--x
'', o
grupo e outros só poderão entrar no diretório, mas não poderão ler seu conteúdo.
- Agora, se você usar um nome de diretório obscuro
' Obscure
', dentro dele e conceder acesso de leitura completo com ' rwxr-xr-x
',
qualquer pessoa que conheça esse nome poderá listar seu conteúdo.
- Esse acesso terá que ser feito de fora com um '
ls BasePath/CoverDir/Obscure
'
Porque as pessoas do seu grupo e outras pessoas não poderão ' ls BasePath/CoverDir
'.