新聞中心

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的天壇街道網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
為了能夠更好地區(qū)分這 2 個命令的功能,給大家舉個例子,我們首先使用用戶名為“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)時所用的用戶名。 也就是說,使用 su 或者 sudo 命令切換用戶身份,騙得過 whoami,但騙不過 who am i。要解釋這背后的運(yùn)行機(jī)制,需要搞清楚什么是實(shí)際用戶(UID)和有效用戶(EUID,即 Effective UID)。
所謂實(shí)際用戶,指的是登陸 Linux 系統(tǒng)時所使用的用戶,因此在整個登陸會話過程中,實(shí)際用戶是不會發(fā)生變化的;而有效用戶,指的是當(dāng)前執(zhí)行操作的用戶,也就是說真正決定權(quán)限高低的用戶,這個是能夠利用 su 或者 sudo 命令進(jìn)行任意切換的。
一般情況下,實(shí)際用戶和有效用戶是相同的,如果出現(xiàn)用戶身份切換的情況,它們會出現(xiàn)差異。需要注意的是,實(shí)際用戶和有效用戶出現(xiàn)差異,切換用戶并不是唯一的觸發(fā)機(jī)制,至于其他的觸發(fā)條件,后續(xù)章節(jié)會做詳細(xì)介紹。
那么,whoami 和 who am i通常應(yīng)用在哪些場景中呢?通常,對那些經(jīng)常需要切換用戶的系統(tǒng)管理員來說,經(jīng)常需要明確當(dāng)前使用的是什么身份;另外,對于某些 shell 腳本,或者需要特別的用戶才能執(zhí)行,這時就需要利用 whoami 命令來搞清楚執(zhí)行它的用戶是誰;甚至還有一些 shell 腳本,一定要某個特別用戶才能執(zhí)行,即便使用 su 或者 sudo 命令切換到此身份都不行,此時就需要利用 who am i 來確認(rèn)。
文章標(biāo)題:Linuxwhoami和whoami命令用法和區(qū)別
當(dāng)前地址:http://m.5511xx.com/article/djgjgjp.html


咨詢
建站咨詢
