Wie in der Überschrift erwähnt, muss ich überprüfen, ob das Sudo-Passwort für diese Terminalsitzung in einer Shell eingegeben wurde (auch bekannt als, wenn ich jetzt Sudo-Rechte habe).
Wenn ich es habe, möchte ich etwas tun und wenn ich es nicht habe, sollte es mich nicht dazu auffordern, lass mich einfach etwas anderes tun.
Im Pseudocode sieht das also so aus:
if (sudo = true)
echo "i got sudo"
else
echo "i dont have sudo"
fi
Aber alle Befehle, die ich dafür gefunden habe, fordern mich immer zur Eingabe des sudo-Passworts auf, wenn ich versuche, es zu überprüfen.
Die Grundidee ist, dass das Skript an mehreren Stellen nach dem Sudo-Passwort fragen kann (und wird), aber ich möchte nicht ausdrucken: "Das Skript fragt jetzt nach Ihrem Sudo-Passwort." wenn es bereits eingegeben wurde (was bedeutet, dass Sie nicht nach dem sudo-Passwort gefragt werden).
Hoffe mir kann jemand helfen.
quelle
if sudo -n true 2>/dev/null; then
mail_badpass
in sudoers ein Kennwort erforderlich ist , E-Mails an root gesendet werden.