De vérifier rapidement si sudo autorisations sont disponibles

Je veux être en mesure de vérifier rapidement si j'ai les deux ont sudo accès et de mon mot de passe est déjà authentifié. Je ne suis pas inquiet d'avoir sudo accès spécifiquement pour l'opération, je suis sur le point d'exécuter, mais ce serait un joli bonus.

Précisément ce que je suis en train d'utiliser cette pour est un script que je veux être praticable par tout un éventail d'utilisateurs. Certains ont sudo accès. Tous connaissent le mot de passe root.

Lors de l'exécution de mon script, je veux qu'il utilise sudo autorisations sans l'aide d'un mot de passe si c'est possible, et sinon, à demander de l' racine mot de passe (parce qu'ils pourraient ne pas avoir sudo accès).

Mon premier travail non-tentative de bifurquer sudo -S true avec STDIN fermé ou la lecture à partir de /dev/null. Mais il demande le mot de passe et attend un couple de secondes.

J'ai essayé plusieurs autres choses, y compris attente de 0,3 sec pour voir si elle a réussi immédiatement, mais tout ce que j'ai essayer finit par échouer dans certaines situation. (Et non pas parce que mon délai est trop court.) Il est difficile de comprendre ce qui se passe, parce que je ne peux pas juste strace comme je le feriez normalement.

Une chose que je savoir ne fonctionne pas est de fermer STDIN ou de le raccorder à un tuyau avant d'exécuter sudo -S true. J'espérais que ferait l'invite de mot de passe immédiatement échouer, mais il reste encore des invites et se comporte de façon étrange. Je pense qu'il pourrait vouloir un terminal.

InformationsquelleAutor sfink | 2008-09-23