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.
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.
Réponses:
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.sh
celui-ci, il pourrait toujours être exécuté par là (ou en utilisant /usr/lib/firefox/firefox
, qui est utilisé dans le fichier .sh).