Como restringir um usuário de acessar um aplicativo específico?

8

Quero restringir a abertura de um aplicativo com privilégios comuns. Somente o root deve executar o aplicativo, para que o conteúdo não seja visto por outros e não mude nada.

GKUTTY
fonte
@VRU Não sei se o seu link está duplicado.
don.joey
1
@VRU Como você não pode enganar sites da acros, podemos definitivamente usar uma sessão de perguntas e respostas sobre isso (a menos que declaremos isso fora do tópico, o que eu não faria).
user98085
@GKUTTY para sua referência stackoverflow.com/questions/527876/…
VRU

Respostas:

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ê deseja 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

Observe que essa 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 se você tiver acesso limitado /usr/bin/firefox, pois é apenas um link /usr/lib/firefox/firefox.sh, ainda poderá ser executado por lá (ou usando /usr/lib/firefox/firefox, o que é usado no arquivo .sh).

Salem
fonte