seteuid() - Unix,Linux系統呼叫 - 技術教學
Tutorials Point


  Unix入門
  Unix Shell程式設計
  高階Unix
  Unix有用參考
  Unix有用資源
  精選閱讀

版權所有 © 2014 tutorialspoint



  首頁     參考資料     討論區     關於TP  

seteuid() - Unix,Linux系統呼叫


previous next AddThis Social Bookmark Button

廣告

名稱

seteuid, setegid - 設定有效使用者或組ID

概要

#include <sys/types.h> 
#include <unistd.h> 

int seteuid(uid_t euid);
int setegid(gid_t egid);

描述

seteuid() 設定當前程序的有效使用者ID。非特權使用者程序只能將其有效使用者ID設定為真實使用者ID、有效使用者ID或已儲存的set-user-ID。

對於setegid(),將“使用者”替換為“組”,則同樣適用。

返回值

成功時,返回零。出錯時,返回 -1,並適當地設定errno

錯誤

標籤描述
EPERM 當前程序沒有特權(Linux:在seteuid()的情況下沒有CAP_SETUID能力,在setegid()的情況下沒有CAP_SETGID能力),並且euid(或egid)不是真實使用者(組)ID、有效使用者(組)ID或已儲存的set-user-ID(已儲存的set-group-ID)。

備註

從Linux 1.1.37(1.1.38)開始,可以將有效使用者(組)ID設定為已儲存的set-user-ID(已儲存的set-group-ID)。在任意系統上,都應該檢查_POSIX_SAVED_IDS。

在libc4、libc5和glibc2.0中,seteuid(euid)等效於setreuid(-1, euid),因此可能會更改已儲存的set-user-ID。在glibc2.1中,它等效於setresuid(-1, euid,-1),因此不會更改已儲存的set-user-ID。類似的說明也適用於setegid()。

符合標準

4.3BSD,POSIX.1-2001。

參見



previous next Printer Friendly

廣告


  

廣告



廣告
© . All rights reserved.