在linux中uid就是你login的那個帳戶,而euid就是目前有效的uid (effective uid),舉例來說如果某一程式有設setuid的話,那麼當你去執行那隻程式當下你的euid就會是該程式的owner id. ------get_euid.c------ #include< unistd.h > #include< sys/types.h > #include< stdio.h > void main() { printf (" current euid is %d \n",geteuid()); } ------ Code End ------ #gcc -o get_euid get_euid.c #chmod 4701 get_euid -rws-----x 1 root root 11633 2007-08-08 04:20 geteuid #su abc123 $id uid=1001(abc123) gid=100(users) groups=100(users) $who am i root pts/0 Aug 8 04:04 (192.168.1.1) $whoami abc123 $./get_euid current euid is 0 (因為get_euid這隻程式設定setuid所以執行該程式時你的身份暫時變成root) Ref: http://fanqiang.chinaunix.net/a1/b3/20020510/060200218_b.html http://www.cs.nctu.edu.tw/~yslin/library/linuxc/function/07.html
文章標籤
全站熱搜
創作者介紹
創作者 fvalinux 的頭像
fvalinux

Elegance

fvalinux 發表在 痞客邦 留言(4) 人氣(2,089)