Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
行程管理
|
175
在我們探討如何完成此事之前,我們需要先瞭解複雜的用戶與群組識別碼。
真實、有效以及被暫存的用戶和群組識別碼
下面的討論會把重點擺在用戶識別碼,因為群組識別碼的情況並無不同。
事實上,與行程有關的用戶識別碼(user ID,常簡寫為 uid),不是一個,而是四個,
分別是:真實的、有效的、暫存的以及檔案系統的用戶識別碼。
真實用戶識別碼
real
user ID
)是指啟動行程之用戶的 uid。它會被設定成該行程之父行程的真實用戶識別
碼,而且在 exec 呼叫執行期間不會有所變動。通常,登入行程(login process)會把用
戶之 login shell 的真實用戶識別碼設定成該用戶的識別碼,而且該用戶的所有行程都會
被設定成此用戶識別碼。超級用戶(root)可以把真實用戶識別碼變更成任何值,但是
其他用戶均無法變更此值。
有效用戶識別碼
effective user ID
)是指正在運行之行程的用戶識別碼。進行使用權限
的確認時,通常會檢查此值。最初,有效識別碼會等於真實用戶識別碼,因為當一個行
程進行派生時,父行程的有效用戶識別碼會被子行程所繼承。此外,如果行程發出 exec
叫用,有效用戶識別碼通常不會有所變動。但是在 exec 呼叫執行期間,卻可以看出真實
與有效識別碼之間的主要差異:經由執行
setuid
suid
)二元檔,行程可以變更它的有效
用戶識別碼。確切地說,有效用戶識別碼會被設定成程式檔之擁有者的用戶識別碼。例
如,因為
/usr/bin/passwd
是一個 setuid ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812