who am i 顯示的是實際用戶ID即用戶登陸的時候的用戶ID
whoami 顯示的是有效用戶ID.
但在大多數(shù)情況下,實際用戶ID和有效用戶ID是一致的。
如
login:zhx
Pssword:
$who am i
zhx pts/0 2007-08-16 13:16 (:0.0)
$whoami
zhx
當切換用戶后:
su
Password:
#who am i
zhx pts/0 007-08-16 13:16 (:0.0)
#whoami
root
也可以說who am i 顯示的是切換用戶前的實際登陸的用戶ID,whoami是切換后的有效的用戶ID,此時此終端具有切換后用戶的訪問權限,如本文中切換后則具有超級用戶的訪問權限。
who am i 和whoami有何區(qū)別?
首先要說明uid和euid(effective user id)的區(qū)別。uid就是你login的時候使用的id,而euid則是你當前的有效id。因為登錄后我們可以使用su切換用戶身份,所以uid和euid可能是不同的,程序在運行的時候一般看的都是euid,當然也有特出的,who am i就是一個。
舉個例子:用戶用ABC登陸,使用su變成root,用who am i看到的是ABC,使用whoami命令看到的是root。
login: u1
Password:
$ su
Password:
# /usr/ucb/whoami
root
# who am i
u1 pts/4 10月 31 23:18 (192.168.0.1)