Forcer sudo à requestr un mot de passe

Si je fais ce qui suit:

sudo su - //enter password exit exit //login again straight away sudo su - 

La deuxième invocation de sudo ne request pas de mot de passe parce que même si je me suis encore déconnecté, je suis toujours dans un certain timeout, ce qui signifie que je n'ai plus besoin d'être invité à entrer mon mot de passe.

Parce que j'essaie de nouveaux rôles pour m'assurer qu'ils fonctionnent, cela me ralentit vraiment pendant que j'attends le timeout d'attente.

Existe-t-il une command que je peux exécuter pour réinitialiser le timeout d'attente?

Je ne veux pas changer le timeout d'attente ou affecter d'autres users, en passant!

sudo -k Tue l'horodatage du timeout d'attente. Vous pouvez même mettre la command par la suite, comme sudo -k test_my_privileges.sh

De l' man sudo :

-K L'option -K (sure kill) est comme -k sauf qu'elle supprime entièrement l'horodatage de l'user et ne peut pas être utilisée conjointement avec une command ou une autre option. Cette option ne nécessite pas de mot de passe.

-k Lorsqu'il est utilisé seul, l'option -k (kill) de sudo invalide l'horodatage de l'user en définissant l'heure à Epoch. La prochaine fois que sudo sera lancé, un mot de passe sera requirejs. Cette option ne nécessite pas de mot de passe et a été ajoutée pour permettre à un user de révoquer les permissions sudo à partir d'un file .logout.

Vous pouvez également le changer de façon permanente. De l' man sudoers :

timestamp_timeout

Nombre de minutes pouvant s'écouler avant que sudo ne request à nouveau un mot de passe. Le timeout d'expiration peut inclure un composant fractionnaire si la granularité minuscule est insuffisante, par exemple 2.5. La valeur par défaut est 5. Définissez cette valeur sur 0 pour toujours requestr un mot de passe. S'il est défini sur une valeur inférieure à 0, l'horodatage de l'user n'expire jamais. Cela peut être utilisé pour permettre aux users de créer ou de supprimer leurs propres horodatages via respectivement sudo -v et sudo -k.

La réponse de Shawn est excellente, mais il existe une option de configuration supplémentaire qui pourrait être utile dans cette situation.

De l' man sudoers :

tty_tickets

Si cette option est définie, les users doivent s'authentifier sur une base de pourcentage. Avec cet indicateur activé, sudo utilisera un file nommé pour le tty dans lequel l'user est connecté dans le directory d'horodatage de l'user. Si désactivé, l'horodatage du directory est utilisé à la place.

Ce drapeau est activé par défaut.

De l' man sudo :

Lorsque l'option tty_tickets est activée dans sudoers, l'horodatage a une granularité par tty mais peut survivre à la session de l'user. Sur les systèmes Linux où le système de files devpts est utilisé, les systèmes Solaris avec le système de files des périphériques, ainsi que d'autres systèmes utilisant un système de files devfs qui augmentent monotone le nombre inode de périphériques (tels que Mac OS X), sudo est capable pour déterminer quand un file d'horodatage basé sur tty est périmé et l'ignorera. Les administrateurs ne doivent pas countr sur cette fonctionnalité car elle n'est pas universellement disponible.

Je pense que c'est relativement nouveau. Si votre système le prend en charge, si vous vous déconnectez puis vous connectez, sudo vous requestra à nouveau votre mot de passe. (J'ai sudo -K dans mon script de déconnection de shells aussi.)