APUE 實際使用者ID和有效使用者ID(euid)

2021-07-08 20:07:27 字數 880 閱讀 2885

1.實際使用者id是登陸使用者的id。

有效使用者id在設定suid後,為檔案所有者id。

2.比如說,使用者修改密碼,是通過執行命令passwd來實現的。最終必須要修改/etc/passwd檔案。

/etc/passwd檔案的屬性是:

#ls -l /etc/shadow

----------. 1 root root 1039 nov 13  2015 /etc/shadow

/etc/shadow只對root使用者是可寫的,對其他使用者只有讀許可權。

普通使用者通過執行passwd命令修改/etc/passwd檔案時,

#ls -l /bin/passwd

-r-s--s--x 1 root root 16336 feb 14 2003 passwd

由於passwd命令設定了suid位,該程序的實際使用者為leaf(普通使用者),但是該程序的有效使用者id是檔案所有者root的id,因此通過passwd命令可以修改/etc/shadow檔案。

(對應檔案訪問標誌的s位就是通常說的suid位,另外可以看到所有使用者都有執行這個程式的權力。當leaf使用者執行passwd命令的時候。shell會fork出乙個子程序,此時程序的有效使用者id還是steve,然後exec程式/usr/bin/passwd。exec會根據/usr/bin/passwd的suid位會把程序的有效使用者id設成root,   此時這個程序都獲得了

root許可權, 得到了讀寫/etc/shadow檔案的許可權, 從而leaf使用者可完成密碼的修改。exec退出後會恢復steve使用者的euid為steve.這樣就不會使steve使用者一直擁有root許可權。)

有效使用者ID 實際使用者ID

實際使用者id,有效使用者id和設定使用者id 看unix相關的書時經常能遇到這幾個概念,但一直沒有好好去理清這幾個概念,以致對這幾個概念一直一知半解。今天好好區分了一下這幾個概念並總結如下。說白了這幾個uid引出都是為了系統的許可權管理。下面分別用ruid,euid,suid來表示實際使用者id,...

實際使用者ID,有效使用者ID和設定使用者ID

實際使用者id,有效使用者id和設定使用者id 看unix相關的書時經常能遇到這幾個概念,但一直沒有好好去理清這幾個概念,以致對這幾個概念一直一知半解。今天好好區分了一下這幾個概念並總結如下。說白了這幾個uid引出都是為了系統的許可權管理。下面分別用ruid,euid,suid來表示實際使用者id,...

實際使用者ID,有效使用者ID和設定使用者ID

摘自 實際使用者id,有效使用者id和設定使用者id 看unix相關的書時經常能遇到這幾個概念,但一直沒有好好去理清這幾個概念,以致對這幾個概念一直一知半解。今天好好區分了一下這幾個概念並總結如下。說白了這幾個uid引出都是為了系統的許可權管理。下面分別用ruid,euid,suid來表示實際使用者...