«

linux如何查看当前用户名

时间:2024-3-10 22:23     作者:韩俊     分类: Linux


本篇内容主要讲解“linux如何查看当前用户名”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux如何查看当前用户名”吧!

linux查看当前用户名的方法:1、使用id命令,可显示当前用户名、用户的ID,以及所属群组的ID,语法“id -un”;2、使用whoami命令,可打印当前执行操作的用户名;3、使用who命令,语法“who am i”,可打印登陆当前Linux系统的用户名。

linux查看当前用户名的两种方法

方法2:使用id命令

Linux id命令用于显示用户的ID,以及所属群组的ID。

id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。

打印 当前用户名 的信息,输出结果各字段如下:

  • uid:显示 用户ID 和 用户名

  • gid:显示 用户组ID 和 组名称

  • groups:显示 用户的附加 组ID 和 组名称


id
 
--------------------------------------------------------------------------------
uid=0(root) gid=0(root) groups=0(root)


想要利用id命令查找当前用户名,执行

id -un

即可

[root@localhost ~]# id -un
root


方法2:使用whoami命令

Linux 中的 whoami 命令用来打印当前执行操作的用户名,该命令相当于执行 “

id -un

” 指令。

whoami

方法3:使用

who am i

命令


Linux who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。


who am i

--------------------------------------------------------------------------------
Cyuyan    pts/0    2017-10-09 15:30 (:0.0)


说明:

whoami

命令 vs

who am i

命令


whoami 命令和 who am i 命令是不同的 2 个命令,前者用来打印当前执行操作的用户名,后者则用来打印登陆当前 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 命令切换用户身份后,使用 whoami 命令打印的是切换后的用户名,而 who am i 命令打印的仍旧是登陆系统时所用的用户名。

执行 whoami 命令,等同于执行 id -un 命令;执行 who am i 命令,等同于执行 who -m 命令。

也就是说,使用 su 或者 sudo 命令切换用户身份,骗得过 whoami,但骗不过 who am i。要解释这背后的运行机制,需要搞清楚什么是实际用户(UID)和有效用户(EUID,即 Effective UID)。

所谓实际用户,指的是登陆 Linux 系统时所使用的用户,因此在整个登陆会话过程中,实际用户是不会发生变化的;而有效用户,指的是当前执行操作的用户,也就是说真正决定权限高低的用户,这个是能够利用 su 或者 sudo 命令进行任意切换的。

一般情况下,实际用户和有效用户是相同的,如果出现用户身份切换的情况,它们会出现差异。需要注意的是,实际用户和有效用户出现差异,切换用户并不是唯一的触发机制,至于其他的触发条件,后续章节会做详细介绍。

那么,whoami 和 who am i通常应用在哪些场景中呢?通常,对那些经常需要切换用户的系统管理员来说,经常需要明确当前使用的是什么身份;另外,对于某些 shell 脚本,或者需要特别的用户才能执行,这时就需要利用 whoami 命令来搞清楚执行它的用户是谁;甚至还有一些 shell 脚本,一定要某个特别用户才能执行,即便使用 su 或者 sudo 命令切换到此身份都不行,此时就需要利用 who am i 来确认。

标签: linux

热门推荐