【发布时间】:2013-10-26 06:59:58
【问题描述】:
我有一个我们登录的 AIX 5.3 主机,需要时使用 pbrun 工具成为 root。现在的问题是我如何从命令行中找到我登录的用户以获得这个特权/root 用户。如果我没记错的话,如何从我当前的 EUID 中找到 UID。试过 whoami 和 who am i 都以 root 身份输出。
【问题讨论】:
标签: aix
我有一个我们登录的 AIX 5.3 主机,需要时使用 pbrun 工具成为 root。现在的问题是我如何从命令行中找到我登录的用户以获得这个特权/root 用户。如果我没记错的话,如何从我当前的 EUID 中找到 UID。试过 whoami 和 who am i 都以 root 身份输出。
【问题讨论】:
标签: aix
“我是谁”来自 utmp。如果 utmp 将您显示为 root,那么您的 pbrun 工具肯定会更改您第一次登录时的状态。
你可以这样做:
ps l $$
打印出带有 PID 和 PPID 的一行。获取 PPID 并再次执行此操作:
ps l <PPID>
UID 列是您的数字用户 ID。如果 PPID 显示为 1,则 pbrun 执行了 exec 而不是 follow / exec(这意味着它是 shell 中的函数或别名)。在这种情况下,您可以恢复为“last”,这将显示谁在什么时间登录了哪个 tty。
======
另一个想法。您可以通过 ps 获取程序正在执行的终端。这称为控制终端。也可以通过“tty”命令获取:
tty
/dev/pts/18
现在,将其提供给“last”,但删除前导 /dev/ 部分并进行第一次点击:
last pts/18 | head -1
myname pts/18 myhost.mydomain.com Nov 14 10:22 still logged in.
这是最后一个登录该特定终端的人。这行得通吗?
【讨论】: