Si j'exécute une commande sudo
, elle me demandera un mot de passe, mais dans cette session Terminal pour les prochaines minutes, elle me permettra d'exécuter les commandes sudo
sans me demander de mot de passe car elle mettra en cache ce que je suis autorisé.
C'est bon pour la commodité, et je trouve cela plutôt pratique, donc je ne veux pas résoudre ce problème en signifiant qu'il demande un mot de passe à chaque fois au lieu de la mise en cache.
Mais ce que j'ai trouvé récemment est quelque chose d'assez inquiétant, si je crée un petit script comme celui-ci par exemple:
#!/bin/bash
sudo rm -rf /
Et je l'exécute en tant qu'utilisateur normal dans Terminal avant d'avoir exécuté les commandes sudo
, alors tout va bien et fonctionne comme prévu, il me demande le mot de passe sudo
.Cependant, si je dois exécuter une commande sudo
avant d'exécuter ce script sans sudo
, il mettra en cache que les commandes sudo
ne devraient pas demander de mot de passe pendant quelques minutes dans cette session et même si je n'ai pas donné lescript sudo
privilèges il ne me demandera pas de mot de passe et le script sera autorisé à exécuter toutes les commandes sudo
qu'il veut.
Maintenant, je ne suis pas du genre à exécuter de nombreux scripts sans savoir ce qu'ils contiennent, mais parfois je dois installer des éléments à partir d'un script que j'ai obtenu d'un emplacement de confiance, mais je ne sais pas avec certitude s'il n'y en a pasquelque chose de mauvais dans le script, donc je voudrais avoir la tranquillité d'esprit que cela ne va pas simplement détourner la capacité sudo
qui a été accordée à ma session Terminal.
Ma question est donc la suivante: est-il possible de faire en sorte que je puisse exécuter les commandes sudo
et il le mettra en cache pour moi, mais si j'exécute un script pas avec sudo
pour le script nonpour pouvoir simplement détourner cette capacité?Je comprends que mon exécution du script est fondamentalement la même chose que moi qui exécute simplement les commandes du script dans l'ordre dans lequel elles se trouvent, mais n'y a-t-il pas un moyen de faire quelque chose d'intelligent pour qu'il fonctionne d'une manière légèrement différentesudo
est limité aux scripts que j'exécute?
En fait, tout ce que je n'ai pas exécuté avec sudo
ne devrait pas pouvoir exécuter des choses avec sudo
.Y compris les commandes.S'ils ne font que détourner la capacité mise en cache qui est ...
J'utilise Ubuntu GNOME 15.10 avec GNOME 3.18.
J'ai une suggestion sur la façon dont cela pourrait être fait mais je ne connais pas les aspects pratiques de ceci: pourrais-je faire en sorte que lorsque j'exécute une commande et qu'elle commence à l'exécuter, il la consigne dans un fichier (comme c'est faitavec toutes les commandes du terminal bien que peut-être un peu trop tard pour cela - avec la commande sudo
5) et ensuite, lorsque sudo
est exécuté, il vérifie si j'ai exécuté cette commande dans le terminal (via l'utilisation du journal qui enregistre quand je le fais) et sinon alorsil est supposé que ce n'est pas de moi, donc il me demande un mot de passe?