linux查看當(dāng)前用戶名的方法:1、使用id命令,可顯示當(dāng)前用戶名、用戶的ID,以及所屬群組的ID,語(yǔ)法“id -un”;2、使用whoami命令,可打印當(dāng)前執(zhí)行操作的用戶名;3、使用who命令,語(yǔ)法“who am i”,可打印登陸當(dāng)前Linux系統(tǒng)的用戶名。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux查看當(dāng)前用戶名的兩種方法
方法2:使用id命令
Linux id命令用于顯示用戶的ID,以及所屬群組的ID。
id會(huì)顯示用戶以及所屬群組的實(shí)際與有效ID。若兩個(gè)ID相同,則僅顯示實(shí)際ID。若僅指定用戶名稱,則顯示目前用戶的ID。
打印 當(dāng)前用戶名 的信息,輸出結(jié)果各字段如下:
-
uid:顯示 用戶ID 和 用戶名
-
gid:顯示 用戶組ID 和 組名稱
-
groups:顯示 用戶的附加 組ID 和 組名稱
id -------------------------------------------------------------------------------- uid=0(root) gid=0(root) groups=0(root)
想要利用id命令查找當(dāng)前用戶名,執(zhí)行id -un
即可
[root@localhost ~]# id -un root
方法2:使用whoami命令
Linux 中的 whoami 命令用來(lái)打印當(dāng)前執(zhí)行操作的用戶名,該命令相當(dāng)于執(zhí)行 “id -un
” 指令。
whoami
方法3:使用who am i
命令
Linux who命令用于顯示系統(tǒng)中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機(jī)、從哪邊連上來(lái)的、上線時(shí)間、呆滯時(shí)間、CPU 使用量、動(dòng)作等等。
who am i -------------------------------------------------------------------------------- Cyuyan pts/0 2017-10-09 15:30 (:0.0)
說(shuō)明:whoami
命令 vs who am i
命令
whoami 命令和 who am i 命令是不同的 2 個(gè)命令,前者用來(lái)打印當(dāng)前執(zhí)行操作的用戶名,后者則用來(lái)打印登陸當(dāng)前 Linux 系統(tǒng)的用戶名。
為了能夠更好地區(qū)分這 2 個(gè)命令的功能,給大家舉個(gè)例子,我們首先使用用戶名為“Cyuyan”登陸 Linux 系統(tǒng),然后執(zhí)行如下命令:
[Cyuyan@localhost ~]$ whoami Cyuyan [Cyuyan@localhost ~]$ who am i Cyuyan pts/0 2017-10-09 15:30 (:0.0)
在此基礎(chǔ)上,使用 su 命令切換到 root 用戶下,再執(zhí)行一遍上面的命令:
[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 命令打印的仍舊是登陸系統(tǒng)時(shí)所用的用戶名。
執(zhí)行 whoami 命令,等同于執(zhí)行 id -un 命令;執(zhí)行 who am i 命令,等同于執(zhí)行 who -m 命令。
也就是說(shuō),使用 su 或者 sudo 命令切換用戶身份,騙得過(guò) whoami,但騙不過(guò) who am i。要解釋這背后的運(yùn)行機(jī)制,需要搞清楚什么是實(shí)際用戶(UID)和有效用戶(EUID,即 Effective UID)。
所謂實(shí)際用戶,指的是登陸 Linux 系統(tǒng)時(shí)所使用的用戶,因此在整個(gè)登陸會(huì)話過(guò)程中,實(shí)際用戶是不會(huì)發(fā)生變化的;而有效用戶,指的是當(dāng)前執(zhí)行操作的用戶,也就是說(shuō)真正決定權(quán)限高低的用戶,這個(gè)是能夠利用 su 或者 sudo 命令進(jìn)行任意切換的。
一般情況下,實(shí)際用戶和有效用戶是相同的,如果出現(xiàn)用戶身份切換的情況,它們會(huì)出現(xiàn)差異。需要注意的是,實(shí)際用戶和有效用戶出現(xiàn)差異,切換用戶并不是唯一的觸發(fā)機(jī)制,至于其他的觸發(fā)條件,后續(xù)章節(jié)會(huì)做詳細(xì)介紹。
那么,whoami 和 who am i通常應(yīng)用在哪些場(chǎng)景中呢?通常,對(duì)那些經(jīng)常需要切換用戶的系統(tǒng)管理員來(lái)說(shuō),經(jīng)常需要明確當(dāng)前使用的是什么身份;另外,對(duì)于某些 shell 腳本,或者需要特別的用戶才能執(zhí)行,這時(shí)就需要利用 whoami 命令來(lái)搞清楚執(zhí)行它的用戶是誰(shuí);甚至還有一些 shell 腳本,一定要某個(gè)特別用戶才能執(zhí)行,即便使用 su 或者 sudo 命令切換到此身份都不行,此時(shí)就需要利用 who am i 來(lái)確認(rèn)。