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).