linux怎麼檢視當前使用者名稱

2023-02-24 22:00:48

linux檢視當前使用者名稱的方法:1、使用id命令,可顯示當前使用者名稱、使用者的ID,以及所屬群組的ID,語法「id -un」;2、使用whoami命令,可列印當前執行操作的使用者名稱;3、使用who命令,語法「who am i」,可列印登陸當前Linux系統的使用者名稱。

本教學操作環境:linux7.3系統、Dell G3電腦。

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
登入後複製

1.png

方法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視訊教學

以上就是linux怎麼檢視當前使用者名稱的詳細內容,更多請關注TW511.COM其它相關文章!