Isolando um usuário

3

No meu sistema Linux eu tenho dois usuários, digamos A e B. Eu preciso isolar B de tal maneira que B não possa ter acesso ao diretório home de A, nem mesmo pela própria A. Como posso resolver o problema?

    
por PaulDaviesC 22.11.2011 / 17:08

4 respostas

6

Coloque o diretório home do A em um diretório para o qual B não possui um conjunto de bits x (execução).

Exemplo: Deixe /home/prison/A ser o diretório pessoal de A. Defina as permissões de prison para r-xr-x--- e o proprietário: grupo para root:prisoners . Defina as permissões em /home/prison/A normalmente, ou seja, A é o proprietário.

Naturalmente, A ainda pode vincular seus arquivos a outros diretórios e torná-los acessíveis dessa maneira. Não há realmente nenhuma maneira de proteger os dados de usuários com acesso de leitura e a vontade de duplicá-los.

    
por 22.11.2011 / 17:28
3

A resposta de Thiton é uma boa maneira de resolver isso.

Outra correção (mais pesada e complexa) é criar uma política apropriada se você estiver usando o SELinux ou o AppArmour. Você pode impor isso no nível do sistema e A não poderá ignorá-lo no nível do sistema de arquivos (com AppArmour) ou até mesmo copiando arquivos (com o SELinux).

A implementação de tal política é deixada como um exercício para o leitor.

    
por 22.11.2011 / 19:00
2

Isso soa como um trabalho para o chroot, e alguém tem um projeto chamado jailkit que parece fazer exatamente isso . Sua milhagem pode variar.

    
por 22.11.2011 / 17:33
1

Se ninguém mais precisar acessar os arquivos no diretório inicial dos usuários, você poderá tornar os diretórios home executáveis / legíveis / graváveis somente por esse usuário.

sudo chmod 700 /home/username

Outros usuários não poderão ver dentro deste diretório, cd para ele, etc.

    
por 22.11.2011 / 18:50

Tags