一旦 sudo su 到 root,是否有命令可以查看我的用户名?

一旦 sudo su 到 root,是否有命令可以查看我的用户名?

我在 Redhat 盒子上拥有 sudo 权限;一旦我必须sudo su -成为 shell 中的 root,我可以运行任何命令来查看我使用的用户名是什么?

答案1

shell 的父进程是su -,它的父进程是sudo su -。因此,您需要sudo su -通过以下两个步骤向后搜索来找出运行父进程的用户ps

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

sudo su -但如果您的 sudo 版本不是太旧而无法使用,则您不应该这样做sudo -i。 Sudo 将环境变量设置SUDO_USER为运行 sudo 的用户的名称。你不会看到它,sudo su - 因为su -它会破坏环境。

$ sudo -i
# echo $SUDO_USER
gilles

答案2

运行命令whoami它会返回类似的内容:

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

粗体的“gladimdim”是最初登录到系统的用户。

答案3

我认为他的意思是:

$ who -am i

它可以(取决于)被解析为相同:

$ who -am

“-a”列出了当前登录的所有用户,“-m”则筛选出与 STDIN 相关联的用户(实际上应该是一个),也就是说,它会告诉您谁登录了你的终端。这就是您要寻找的。

$ who -am

相关内容