Comment annuler le délai d'expiration du sudo actuellement appliqué?

33

Lorsque je viens d'exécuter sudo et que je ne souhaite pas qu'il reste actif pendant la durée normale de son délai d'expiration, comment puis-je annuler le délai d'expiration actif restant?

sudo -k le tue pour la session de terminal en cours, mais si un processus est en cours d'exécution dans cette session et ne peut donc pas exécuter sudo -k , existe-t-il un moyen de l'annuler d'une autre session de terminal?

Y a-t-il un moyen d'annuler tous les sudo fois appliqués (pour toutes les sessions de terminal et toutes les applications gksudo en cours d'exécution, etc.?

Bien que, à bien y penser, une interface graphique en cours d'exécution doit simplement être fermée, mais je viens de vérifier que Alt + F2 active gksu pour les invocations suivantes .

    
posée Peter.O 26.11.2010 - 04:40
la source

3 réponses

31

Vous ne savez pas si vous voulez supprimer un délai d'expiration sudo pour ne pas expirer, mais si vous souhaitez supprimer l'horodatage restant, vous pouvez utiliser sudo -k

Sinon, si vous essayez d’annuler un délai d’expiration pour que sudo n’expire pas, je ne pense pas que cela soit possible dans une session en cours. Le seul moyen que je connaisse serait de changer le timestamp_timeout dans le fichier sudoers et de redémarrer la session.

    
réponse donnée wajiw 26.11.2010 - 04:52
la source
8

Juste sur l’un de vos points:

  

mais si un processus est en cours d'exécution   dans cette session et ne peut donc pas exécuter sudo   -k

Ceci est spécifique à la ligne de commande, si vous voulez faire quelque chose alors qu’un autre processus est en cours, vous pouvez appuyer sur Ctrl + Z pour interrompre le processus; vous accédez ensuite au terminal actuel, faites ce que vous voulez. Lorsque vous avez terminé, vous pouvez taper jobs pour obtenir une liste de processus, avec un numéro à côté. Tapez fg 1 (par exemple - et simplement fg s'il n'y a qu'un travail) pour redémarrer un processus en le faisant passer au premier plan. De même, bg fait la même chose mais laisse le processus s'exécuter en arrière-plan.

Exemple de session

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....
    
réponse donnée Stefano Palazzo 26.11.2010 - 10:43
la source
2

J'ai trouvé une solution. comme ma recherche n'a rien montré de semblable et que c'est une question fréquente: sudo stocke quelque part sur le système de fichiers (par exemple dans / var / run / sudo), un répertoire par nom d'utilisateur, plusieurs fichiers fonctionnant comme horodatage , un fichier pour chaque terminal. supprimez ces fichiers et votre système est à nouveau sécurisé. Il suffit de garder à l'esprit que ces fichiers ne sont visibles que par root (sinon un intrus pourrait lire l'horodatage et redéfinir l'horloge à un moment où ils étaient toujours valides - accorder des root-ls à quelqu'un est dangereux). donc dans mon / etc / pm / sleep / et peut-être aussi pour l'écran de veille que je lance:

rm -f /var/db/sudo/*/*

en tant que root bien sûr ...

    
réponse donnée piotr5 02.05.2013 - 09:16
la source

Lire d'autres questions sur les étiquettes