在linux中uid就是你login的那個帳戶,而euid就是目前有效的uid (effective uid),舉例來說如果某一程式有設setuid的話,那麼當你去執行那隻程式當下你的euid就會是該程式的owner id.
------get_euid.c------
#include
#include
#include

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


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 fvalinux 的頭像
    fvalinux

    Elegance

    fvalinux 發表在 痞客邦 留言(3) 人氣()