Comando de terminal (chamado não de SU) que restringiria o processo de escrever para todos os diretórios, exceto um?

1

Temos um aplicativo testApp . Temos uma pasta chamada notRestricted no diretório em que executamos o aplicativo. Queremos limitar o acesso do aplicativo ao sistema de arquivos para que o aplicativo possa gravar somente nessa pasta (preferimos que ele seja lido em qualquer lugar em que o aplicativo normalmente possa ler). Como fazer isso no Unix?

    
por Kabumbus 16.06.2011 / 09:25

2 respostas

3

Crie um usuário dedicado a executar este aplicativo. Conceda permissão de gravação a este usuário no diretório notRestricted e em nenhum outro lugar. Já que você não se importa se o aplicativo pode ler de qualquer lugar, você não precisa de nada mais sofisticado.

O aplicativo ainda poderá gravar em diretórios graváveis publicamente: /tmp e /var/tmp na maioria das configurações. Se isso for um problema, configure uma lista de controle de acesso nesses diretórios e negue permissão de gravação ao aplicativo, por exemplo, no Linux

setfacl -m user:testUser:0 /tmp /var/tmp

Certifique-se de que o usuário não esteja em um grupo que tenha permissão de gravação em algum diretório em que você não queira que o aplicativo grave.

    
por 16.06.2011 / 10:36
2

É isso que o sistema sandbox do Gentoo faz. Não é particularmente bem documentado, e não tenho certeza de como seria difícil correr em um sistema não-Gentoo, mas provavelmente é possível.

Você pode obter a versão estável atual aqui e procurar em etc / sandbox .conf para ver como configurá-lo.

    
por 16.06.2011 / 10:35