Wie finde ich heraus, ob ich Sudoer bin?

32

Wie verhält sich ein Linux-System, wenn ich kein Sudoer bin? Folgendes passiert, wenn ich versuche, sudo zu verwenden:

server:/tmp>$ sudo cal
[sudo] password for user:
Sorry, try again.

Kann es sein, dass ich mein Passwort nicht kenne oder dass ich kein Sudoer bin? (Auf einem anderen Maschinensystem wird ausgedruckt, dass ich kein Sudoer bin und der Vorfall gemeldet wird)

Rasto
quelle
Bessere Antwort als eine der unten: superuser.com/questions/553932/...
barnhillec

Antworten:

40

Um zu wissen, ob ein bestimmter Benutzer sudo-Zugriff hat oder nicht, können wir -lund -Uoptions zusammen verwenden.

Beispielsweise,

Wenn der Benutzer über Sudo-Zugriff verfügt, wird die Sudo-Zugriffsebene für diesen bestimmten Benutzer gedruckt.

   $ sudo -l -U pradeep
     User pradeep may run the following commands on this host:
     (ALL : ALL) ALL

Wenn der Benutzer keinen sudo-Zugriff hat, wird gedruckt, dass der Benutzer nicht berechtigt ist, sudo auf localhost auszuführen.

   $ sudo -l -U pradeep.c
     User pradeep.c is not allowed to run sudo on localhost.
pradeepchhetri
quelle
4
Das funktioniert bei mir nicht. Anstatt mir Informationen zu geben, werde ich erneut nach dem Passwort gefragt: server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:Auf diesem Server gibt es eine Red Hat-Distribution, wenn das hilft
Rasto,
9

Sie können die -lFlagge verwenden, um Ihre Berechtigungen aufzulisten.

-l[l] [command]
   If no command is specified, the -l (list) option will list the allowed (and forbidden)
   commands for the invoking user (or the user specified by the -U option) on the current
   host.  If a command is specified and is permitted by sudoers, the fully-qualified path
   to the command is displayed along with any command line arguments.  If command is
   specified but not allowed, sudo will exit with a status value of 1.  If the -l option
   is specified with an l argument (i.e. -ll), or if -l is specified multiple times, a
   longer list format is used.

Wenn Sie nicht in der Datei sind, sollten Sie den Fehler "Nicht in der sudoers-Datei" erhalten, den Sie auf dem anderen Computer sahen.

Kevin
quelle
2
Das funktioniert auch bei mir nicht. Es fragt mich nur nach dem Passwort:server:/home/drasto>$ sudo -l [sudo] password for drasto:
Rasto
1
Gib dein Passwort ein
Kevin
1
@ Kevin @ Michael Mein Passwort funktioniert nicht. Ich kenne nur ein Passwort für diesen Server und das ist das, mit dem ich mich beim Server anmelde. Das funktioniert einfach nicht, wenn ich nach meinem Sudo-Passwort gefragt werde (ich habe es ungefähr 100 Mal versucht, Feststelltaste, Nummertaste usw.). Aber das ganze Denken macht keinen Sinn! Ich möchte wissen, ob ich Sudo-Berechtigungen habe, aber um dies herauszufinden, benötige ich Sudo-Berechtigungen ?! Zum Ausführen sudo -lbenötige ich ein sudo Passwort? Also muss ich root sein, um zu wissen, ob ich root bin ?!
Rasto
1
@drasto Wie bereits erwähnt, sudowird nach Ihrem Login-Passwort gesucht . Wenn Sie das versucht haben und es nicht funktioniert, ist sudo entweder schrecklich falsch konfiguriert oder Sie befinden sich in einem Gefängnis, in dem die richtigen Dateien nicht angezeigt oder gelesen werden können. In beiden Fällen haben Sie praktisch keine Sudo-Berechtigungen.
Kevin
1
@ Kevin Dann bin ich wahrscheinlich in irgendeiner Art von Gefängnis. Eigentlich denke ich, ich sollte diese Sudo-Berechtigungen auf diesem Computer nicht haben. Ich war also überrascht, als ich an erster Stelle nach meinem sudo-Passwort gefragt wurde. Jedenfalls ist es so, wie ich es geschrieben habe: Mein Login-Passwort funktioniert nicht.
Rasto
-1

Mit dem Befehl können Sie überprüfen, ob Sie zur sudo-Gruppe gehören

groups

In einem Shell-Skript können Sie Folgendes verwenden:

if groups | grep "\<sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi
Schlacki
quelle
1
Die Gruppe könnte sein sudo, admin, wheel, oder etwas ganz anderes, und auch mit der Mitgliedschaft in einer Gruppe, ein einzelner Benutzer vielleicht verweigerte sudo - Zugriff über spezielle Regeln (oder umgekehrt).
muru
Dies hat zu viele falsche Negative für meinen Zweck (Härtungsnachweis). Kevins Antwort ist definitiver.
StockB