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

Gibt es einen Befehl, um meinen Benutzernamen anzuzeigen, nachdem sudo su'd zu root wurde?

Der übergeordnete Prozess der Shell ist su - , und das übergeordnete Element davon ist sudo su - . Sie müssen also den Benutzer herausfinden, der sudo su - ausführt den übergeordneten Prozess von , indem Sie mit ps in zwei Schritten zurücksuchen :

ps -o user= $(ps -o ppid= $(ps -o ppid= $PPID))

Aber sudo su - sollten Sie nicht machen wenn Ihre Version von sudo nicht zu alt ist, um sudo -i zu haben . Sudo setzt die Umgebungsvariable SUDO_USER an den Namen des Benutzers, der sudo ausgeführt hat. Sie werden es nicht mit sudo su - sehen weil su - reinigt die Umwelt.

$ sudo -i
# echo $SUDO_USER
gilles

Führen Sie den Befehl whoami aus es wird Ihnen so etwas zurückgeben:

gladimdim tty2        2011-01-27 23:54 (:0)

In Fettschrift ist „gladimdim“ der Benutzer, der ursprünglich beim System angemeldet war.


Linux
  1. Wie führe ich einen Befehl aus, der Umleitung oder Piping mit Sudo beinhaltet?

  2. Dateien nach Alter löschen?

  3. Sudo-Berechtigung für Benutzer von der Befehlszeile aus deaktivieren?

  4. sudo:python:Befehl nicht gefunden

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

Sudo-Befehl unter Linux

Grundlagen der Linux-Befehlszeile:sudo

sudoedit:Befehl nicht gefunden

sudo:Befehl nicht gefunden

Führen Sie ifconfig ohne sudo aus

Wachsende LVM-Root