Comment empêcher un utilisateur d'accéder à une application particulière?

8

Je souhaite restreindre l'ouverture d'une application avec des privilèges ordinaires. Seul root doit exécuter l'application, afin que le contenu ne soit pas vu par les autres et ne change rien.

GKUTTY
la source
@VRU Je ne suis pas sûr que votre lien soit en double.
don.joey
1
@VRU Puisque vous ne pouvez pas duper les sites acros, nous pouvons certainement utiliser un Q&A à ce sujet (sauf si nous déclarons ce hors-sujet, ce que je ne ferais pas).
user98085
@GKUTTY pour votre référence stackoverflow.com/questions/527876/…
VRU

Réponses:

2

Il devrait y avoir un meilleur moyen de le faire (peut-être avec AppArmor?) Mais vous pouvez toujours modifier les autorisations de l'exécutable. Supposons que vous souhaitiez désactiver l'accès à nano. Leurs autorisations par défaut sont les suivantes:

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

Il peut être exécuté par le propriétaire, le groupe et autres. Pour conserver uniquement l'exécution du propriétaire, vous pouvez utiliser

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

Après cela, si vous l'exécutez dans un terminal en tant qu'utilisateur ordinaire:

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

Veuillez noter que ce n'est pas une solution pare-balles. Si l'application que vous souhaitez verrouiller possède d'autres points d'entrée, vous pouvez toujours y accéder. Par exemple, si vous avez essayé la même astuce avec Firefox:

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

Même si vous avez limité l'accès à /usr/bin/firefox, car il ne s'agit que d'un lien vers /usr/lib/firefox/firefox.shcelui-ci, il pourrait toujours être exécuté par là (ou en utilisant /usr/lib/firefox/firefox, qui est utilisé dans le fichier .sh).

Salem
la source