GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sudo - gibt es einen Befehl, um zu überprüfen, ob ich sudo habe und/oder wie viel Zeit noch übrig ist?

Ich weiß, dass dies eine wirklich alte Frage ist, aber hier habe ich sie heute in einem Skript gemacht. Angenommen, sudo zu sein bedeutet, jeden Befehl als sudo ausführen zu können (oder zumindest Betriebszeit)

CAN_I_RUN_SUDO=$(sudo -n uptime 2>&1|grep "load"|wc -l)
if [ ${CAN_I_RUN_SUDO} -gt 0 ]
then
    echo "I can run the sudo command"
else
    echo "I can't run the Sudo command"
fi

Wenn Ihr Benutzer jedoch Einschränkungen im visudo hat, wird diese Prüfung nicht ausreichen, z. B. wenn Ihr Benutzer nur den make-Befehl verwenden kann. Versuchen Sie, einen Befehl auszuführen, von dem Sie wissen, dass er funktioniert. Sie können den Filter grep -v Sorry hinzufügen, z. B.:$(sudo -n uptime 2>&1|grep "load" | grep -v Sorry|wc -l), um diese Fehlalarme zu vermeiden.


Der -n Option ist in neueren Versionen von sudo verfügbar, aber wie Sie sagten, ist dies keine Option. Es gibt keine wirkliche Möglichkeit, das zu tun, wonach Sie suchen, außer einfach sudo auszuprobieren und zu sehen, ob es mit einer Aufforderung zur Eingabe eines Passworts zurückkommt. Wenn Sie eine visuelle Anzeige möchten, warum starten Sie nicht do sudo /bin/bash, um eine Root-Bash-Sitzung zu starten? Beachten Sie, dass dies unsicher ist, aber es ist auch etwas unsicher, wenn jemand Ihre Eingabeaufforderungsänderungen auf sudo erkennt.


Zur Vereinfachung der Antwort von @wags007

if sudo -n true
then
  sudo id
else
  echo "sorry, but did not want to bother you"
fi

Wenn Sie jedoch in Ihrer https://www.sudo.ws/man/1.8.15/sudoers.man.html-Konfiguration defaults mail_badpass haben Es wird eine E-Mail für jeden Test gesendet, der ein falsches Ergebnis ergibt (hätte aufgefordert). Um solche Belästigungen zu vermeiden, ändern Sie diesen Teil Ihrer sudoers-Datei in

Defaults       mail_badpass
Defaults!      /bin/true !mail_badpass

Als Ergebnis werden Sicherheitswarnmails für alle Befehle außer /bin/true gesendet. Nun ja, jemand könnte jetzt versuchen, ein Passwort per Brute-Force zu erzwingen, indem er sudo true aufruft unbegrenzt oft, ohne dass Sicherheitswarnungen per E-Mail gesendet werden.

Hinweis:Verwenden Sie immer visudo anstelle Ihres bevorzugten Editors, um die sudoers-Datei zu bearbeiten. Andernfalls riskieren Sie, ausgesperrt zu werden.


Linux
  1. So überprüfen Sie, ob ein Linux-System 32-Bit oder 64-Bit ist

  2. So kopieren Sie Dateien und ändern gleichzeitig den Besitz und die Berechtigungen

  3. Befehlszeilentricks:So identifizieren Sie Datum und Uhrzeit einer Unix-Befehlsausführung

  4. Wie überprüfe ich, ob ich sudo-Zugriff habe?

  5. So überprüfen Sie das Betriebssystem und die Version mit einem Linux-Befehl

[Bash-Tipps] Wie cp oder mv und cd in einem Befehl ausgeführt werden

So ändern Sie Datum, Uhrzeit und Zeitzone in Debian 10

5 Möglichkeiten, um zu überprüfen, wie viel RAM unter CentOS 8 installiert und verwendet wird

So überprüfen Sie die CPU-Informationen in Linux

So überprüfen Sie den Systemneustartverlauf und die Startzeit in Linux

Wie überprüfe ich die Inode-Nutzung über cPanel und die Befehlszeile?