Iniciar um processo com permissões limitadas

4

Eu gostaria de poder iniciar processos com permissões muito limitadas a partir da linha de comando, basicamente para que eu possa executar um processo que não entendo sem que ele tenha acesso a coisas na minha área de usuário. Por exemplo, se eu receber um pacote de algum colega que tem a tendência de escrever instaladores excessivamente intrusivos, eu poderia fazer algo assim:

> subdo make

executaria make de tal forma que não seria permitido tocar em nenhum diretório pai. Alguma dessas funcionalidades existe no Unix?

    
por Shep 29.06.2013 / 17:42

3 respostas

1

would run make in such that it wouldn't be allowed to touch any parent directories.

Isso basicamente descreve o chroot:

Observe que, no entanto, quando você executa o chroot, o processo não terá acesso a nada, exceto às pastas sob a nova raiz. Isso significa que e. se o processo precisar executar alguns programas de, e. /usr/bin ou por ex. carregar algumas bibliotecas compartilhadas de /usr/lib , não será possível fazer isso a menos que você copie essas bibliotecas sob a nova raiz. Isso realmente depende do programa que você está tentando executar.

Você pode encontrar muitos tutoriais para diferentes programas, por exemplo, aqui está um exemplo de tutorial chroot do BIND:

Espero que isso ajude.

    
por 29.06.2013 / 18:13
1

A maneira mais simples é usar a conta nobody :

sudo -u nobody make

nobody nunca deve ter permissão para gravar em nada além de arquivos graváveis mundiais.

    
por 30.06.2013 / 08:45
0

en.wikipedia.org: Systrace

Página man do OpenBsd

Gerar política:

systrace -A -d /etc/systrace/make.policy/ \
         -E /var/log/systrace_make.log make

Edite a política com seu editor de texto favorito:

vi /etc/systrace/make.policy/

Em seguida, inicie o processo com restrições:

systrace -a -d /etc/systrace/make.policy/ \
         -E /var/log/systrace_make.log make

Olhe para o meu outro responder sobre o uso do systrace com o sshd

    
por 06.07.2013 / 17:20