您的位置:首页 > 运维架构 > Linux

Linux中的who系列命令who/whoami/who am i

2015-05-12 10:38 316 查看
在Linux中who系列命令存在who/whoami/who am i。
首先我以普通用户guixian001登陆系统。然后执行命令分别执行命令whoami/who am i/who。截图如下:



然后我们使用su命令切换到root用户再执行以上三个命令。




看出区别了吗?使用whoami命令显示的是当前“操作用户”的用户名。而who am i显示的是“登录用户”的用户名。要解释这个现象需要引入linux中的两个概念――实际用户(UID,即user id)和有效用户(EUID,即effective user id)。

实际用户是指用户登录时所使用的用户,所以在整个登录会话中,实际用户是不会变化的。而有效用户是指当前执行操作的用户,这个是能够利用su和sudo命令进行任意切换的。一般情况下,实际用户和有效用户是一样的,只有发生用户身份切换的时候,会发生差异。所以who am i显示的是实际用户的用户名,即用户登陆时候的用户ID,相当于who -m,而whoami显示的是有效用户的ID即EUID。

References:

《Linux就是这个范儿》

《who am i》-linux命令五分钟系列之十六
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: