who命令的手册页描述是who - show who is logged on
但是有一个类似的命令whoami。whoami的手册页描述是
whoami - print effective userid
有人能解释这些命令到底是干什么的吗?他们之间有什么不同?
发布于 2014-09-19 17:13:04
我在shell中以root用户身份登录,并输入who,这是输出。
who
root tty1 2014-08-25 14:01 (:0)
root pts/0 2014-09-05 10:22 (:0.0)
root pts/3 2014-09-19 10:08 (xxx.xxx.edu)它有效地显示了已经建立连接的所有用户。
ssh ramesh@hostname再次运行who将为用户ramesh带来另一个条目。
who
root tty1 2014-08-25 14:01 (:0)
root pts/0 2014-09-05 10:22 (:0.0)
root pts/3 2014-09-19 10:08 (xxx.xxx.edu)
ramesh pts/4 2014-09-19 12:11 (xxx.xxx.edu)在root shell中,我只需执行su ramesh,然后运行whoami。它将给我当前用户ramesh作为输出。
实际上,who给出了当前在机器上登录的所有用户的列表,使用whoami,您可以知道当前的用户在shell中。
发布于 2018-05-23 18:58:53
请注意who和whoami之间的区别。
who命令将始终显示用于登录的帐户(真实用户信息)。
whoami命令将显示您的有效用户。
例如,如果您以“谴责”身份登录,则who和whoami命令将显示如下所示:
> who
blammy pts/0 2011-04-23 13:43 (123.23.123.123)
> whoami
blammy这表明用户于2011年4月23日13:43从ip "123.23.123.123“登录。
如果然后运行su - kapow,则将有效用户更改为"kapow“。
现在,who和whoami命令将显示如下所示:
> who
blammy pts/0 2011-04-23 13:43 (123.23.123.123)
> whoami
kapow注意,who信息保持不变,但whoami信息根据su进行更改。
https://unix.stackexchange.com/questions/156453
复制相似问题