who am i和whoami区别

who am i 显示的是实际用户ID即用户登陆的时候的用户ID
whoami   显示的是有效用户ID.
但在大多数情况下,实际用户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有何区别?

 

首先要说明uideuideffective user id)的区别。uid就是你login的时候使用的id,而euid则是你当前的有效id。因为登录后我们可以使用su切换用户身份,所以uideuid可能是不同的,程序在运行的时候一般看的都是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

u<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="1" unitname="pts">1<span style="mso-spacerun: yes">         </span>pts</chmetcnv>/4        10 31 23:18   (192.168.0.1)

你可能感兴趣的:(区别)