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系統程式設計 第二版
178
|
第五章
HP-UX 的手法變更用戶和群組的識別碼
你可能會覺得情況越來越混亂,就連 HP-UXHewlett-Packard Unix 系統)也提供了
自己的機制,以便用於設定一個行程的用戶和群組識別碼。Linux 隨後也提供了這些介
面,如果你想要維持 HP-UX 的移植性,這會很有用:
#define _GNU_SOURCE
#include <unistd.h>
int setresuid (uid_t ruid, uid_t euid, uid_t suid);
int setresgid (gid_t rgid, gid_t egid, gid_t sgid);
setresuid()
可用於把真實、有效以及暫存的用戶識別碼分別設定成
ruid
euid
以及
suid
。若把任何參數值設定成
-1
,則相對應的用戶識別碼會維持不變。
root
用戶可以把任何的用戶識別碼設定成任何值。非 root 用戶可以把任何的用戶識別碼
設定成當前之真實、有效或暫存的用戶識別碼。執行成功時,
setuid()
會傳回
0
。發生
錯誤時,則會傳回
-1
並把
errno
設定成下面其中一個值:
EAGAIN
uid
與真實用戶識別碼不相符,而且把真實用戶識別碼設定成
uid
,會使得用戶逾越
NPROC
rlimit(用於指定一個用戶所能擁有之行程的數目)。
EPERM
用戶不是
root
,而且企圖把真實、有效或暫存的用戶識別碼設定成與當前之真實、
有效或暫存的用戶識別碼不相符的值。
前面的討論同樣適用於群組—僅需要把
setresuid() ...
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