在linux中查看当前用户名的详细教程来了,大致内容如下:
1、使用id命令,可显示当前用户名、用户的ID,以及所属群组的ID,语法“id -un”;
2、使用whoami命令,可打印当前执行操作的用户名;
3、使用who命令,语法“who am i”,可打印登陆当前Linux系统的用户名。
在linux中查看当前用户名的详细教程
一、使用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
二、使用whoami命令
Linux 中的 whoami 命令用来打印当前执行操作的用户名,该命令相当于执行 “id -un” 指令。
whoami
三、使用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中查看当前用户名的方法分享,翼速应用平台内有更多相关资讯,欢迎查阅!
我来说两句