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