JSRUN 用代码说话

whoami 命令与 who am i 命令-打印用户名

编辑教程

whoami 命令与 who am i 命令

whoami 命令和 who am i 命令是不同的 2 个命令,

whoami 命令用来打印当前执行操作的用户名

who am i 命令用来打印登陆当前 Linux 系统的用户名。

为了能够更好地区分这 2 个命令的功能 我们首先使用用户名为“Cyuyan”登陆 Linux 系统,然后执行如下命令:

[Cyuyan@localhost ~]$ whoami
Cyuyan
[Cyuyan@localhost ~]$ who am i
Cyuyan    pts/0    2017-10-09 15:30 (:0.0)

在此基础上,使用 su 命令切换到 root 用户下,再执行一遍上面的命令:

[Cyuyan@localhost ~] su - root
[root@localhost ~]$ whoami
root
[root@localhost ~]$ who am i
Cyuyan    pts/0    2017-10-09 15:30 (:0.0)

在未切换用户身份之前,whoami 和 who am i 命令的输出一样. 但使用 su 或者 sudo 命令切换用户身份,骗得过 whoami,但骗不过 who am i。

要解释这背后的运行机制,需要搞清楚什么是实际用户(UID)和有效用户(EUID,即 Effective UID)。

实际用户:指的是登陆 Linux 系统时所使用的用户,因此在整个登陆会话过程中,实际用户是不会发生变化的;

有效用户,指的是当前执行操作的用户,也就是说真正决定权限高低的用户,这个是能够利用 su 或者 sudo 命令进行任意切换的。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟