Como limitar o acesso do ecryptf a um grupo de processos

1

Eu gostaria de ter um script que faça o seguinte:

  1. Monta um diretório criptografado usando o ecryptfs
  2. Configura as permissões para que apenas um bash shell seja iniciado por ele e quaisquer processos herdados dele possam acessar o diretório.

Se necessário, o script pode ser executado usando o sudo, de modo que tenha permissões para fazer a montagem e a configuração.

A ideia é que eu tenha alguns programas confiáveis que desejo usar para processar dados armazenados em um diretório criptografado. Desejo proteger os dados de outros programas no sistema.

No entanto, eu quero que os programas confiáveis possam acessar minha pasta base normalmente e os arquivos gravados por eles fora do diretório criptografado estejam disponíveis para qualquer aplicativo. Portanto, executar o programa como um usuário diferente não parece ajudar.

Até agora eu olhei para o SELinux e cgroups. Destes, os cgroups parecem estar mais próximos do que eu quero porque herda automaticamente as permissões. Eu acho que eu poderia configurar dois cgroups, "confiável" e "não confiável", onde "não confiável" seria o padrão contendo todas as tarefas. No entanto, eu encontrei muito pouca informação sobre como restringir o acesso a arquivos usando cgroups e não tenho certeza se é realmente possível da maneira que eu quero.

Então, como limitar o acesso do ecryptf a um grupo de processos ?

    
por jpa 01.12.2016 / 13:50

1 resposta

1

Seguindo um questão relacionada , encontrei a ferramenta sem compartilhamento que Eu desconhecia e fazia exatamente o que eu queria.

O seguinte script é o que eu criei:

mount_privately.sh:

#!/bin/bash
sudo unshare -m /bin/bash -c "mount -t ecryptfs $1 $2; su $USER; umount $2"

Exemplo de uso:

user@localhost:~$ ./mount_privately.sh backing_dir secure_dir
Passphrase: ...
user@localhost:~$ # secure_dir is now a

Parece que pode ser possível realizar isso sem root também, mas isso é bom o suficiente para mim.

    
por 01.12.2016 / 14:27