-
setuid
鎖定
setuid是一個函數。setuid函數設置實際用户ID和有效用户ID。
- 外文名
- setuid
- 頭文件
- #include
- 函數原型
- int setuid(uid_t uid);
- 類 別
- 函數
setuid説明
setuid函數設置實際用户ID和有效用户ID。Linux的setuid函數和Unix中的setuid函數的行為是不同的。在Linux中, setuid(uid)函數的執行步驟為:(1)如果由普通用户調用,將當前進程的有效ID設置為uid. (2)如果由有效用户ID符為0的進程調用,則將真實,有效和已保存用户ID都設置為uid.
在Unix中.setuid(uid)函數的行為為: (1)如果進程沒有超級用户特權,且uid等於實際用户ID或已保存用户ID,則將有效的用户ID設置為uid.否則返回錯誤.(2)如果進程是有超級用户特權,則將真實、有效和已保存用户表示符都設置為uid.如果兩個條件都不滿足,則設置errno為EPERM。
函數在執行成功的時候返回0,在出錯的時候返回-1.
setuid範例
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
if(!setuid(1234)){
printf("setuid successfully!\n");
}else{
printf("setuid error!");
perror("setuid");
}
return 0;
}
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:9次歷史版本
- 最近更新: 格斗天王2046