Como impedir que um usuário acesse um aplicativo específico?

8

Eu quero restringir a abertura de um aplicativo sob privilégios comuns. Apenas o root deve executar o aplicativo, para que o conteúdo não seja visto pelos outros e eles não mudem nada.

    
por GKUTTY 25.01.2013 / 13:20

1 resposta

2

Deve haver uma maneira melhor de fazer isso (talvez com o AppArmor?), mas você sempre pode alterar as permissões do executável. Suponha que você queira desativar o acesso a nano . Suas permissões padrão são as seguintes:

 ➜  ls -la /bin/nano
-rwxr-xr-x 1 root root 192008 Oct  1 15:12 /bin/nano

Pode ser executado pelo proprietário, grupo e outros. Para manter apenas a execução do proprietário, você pode usar

sudo chmod g-x /bin/nano
sudo chmod o-x /bin/nano

Depois disso, se você executá-lo em um terminal como um usuário comum:

 ➜  nano
bash: /usr/bin/nano: Permission denied

Por favor, note que esta não é uma solução à prova de balas. Se o aplicativo que você deseja bloquear tiver outros pontos de entrada, eles ainda poderão ser acessados. Por exemplo, se você tentou o mesmo truque com o Firefox:

 ➜  ls -la /usr/bin/firefox
lrwxrwxrwx 1 root root 25 Jan 17 08:26 /usr/bin/firefox -> ../lib/firefox/firefox.sh

Mesmo que você tenha limitado o acesso a /usr/bin/firefox , como é apenas um link para /usr/lib/firefox/firefox.sh , ele ainda pode ser executado por lá (ou usando /usr/lib/firefox/firefox , que é usado no arquivo .sh).

    
por Salem 25.01.2013 / 23:32