a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言中設置用戶識別碼的相關函數的簡單講解

2020-01-26 14:56:21
字體:
來源:轉載
供稿:網友

C語言setuid()函數:設置真實的用戶識別碼

頭文件:

#include <unistd.h>

定義函數:

int setuid(uid_t uid);

函數說明:
setuid()用來重新設置執行目前進程的用戶識別碼. 不過, 要讓此函數有作用, 其有效的用戶識別碼必須為0(root). 在Linux 下, 當root 使用setuid()來變換成其他用戶識別碼時, root 權限會被拋棄, 完全轉換成該用戶身份, 也就是說, 該進程往后將不再具有可setuid()的權利, 如果只是向暫時拋棄root 權限, 稍后想重新取回權限, 則必須使用seteuid().

返回值:執行成功則返回0, 失敗則返回-1, 錯誤代碼存于errno.

附加說明:一般在編寫具 setuid root 的程序時, 為減少此類程序帶來的系統安全風險, 在使用完root 權限后建議馬上執行setuid(getuid());來拋棄root 權限. 此外, 進程uid 和euid 不一致時Linux 系統將不會產生core dump.

C語言setreuid()函數:設置真實及有效的用戶識別碼

頭文件:

#include <unistd.h>

定義函數:

int setreuid(uid_t ruid, uid_t euid);

函數說明:setreuid()用來將參數ruid 設為目前進程的真實用戶識別碼, 將參數euid 設置為目前進程的有效用戶識別碼. 如果參數ruid 或euid 值為-1, 則對應的識別碼不會改變。

返回值:執行成功則返回0, 失敗則返回-1, 錯誤代碼存于errno.

C語言setfsuid()函數:設置文件系統的用戶識別碼
頭文件:

 #include <unistd.h>

定義函數:

int setfsuid(uid_t fsuid);

函數說明:setfsuid()用來重新設置目前進程的文件系統的用戶識別碼. 一般情況下, 文件系統的用戶識別碼(fsuid)與有效的用戶識別碼(euid)是相同的. 如果是超級用戶調用此函數, 參數fsuid 可以為任何值, 否則參數fsuid 必須為real/effective/saved 的用戶識別碼之一.

返回值:執行成功則返回0, 失敗則返回-1, 錯誤代碼存于errno 附加說明此函數為 Linux 特有

錯誤代碼:
EPERM:權限不夠, 無法完成設置.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 成人精品国产 | 国产视频黄在线观看 | 黄色日批视频 | 9久9久| 欧洲毛片 | 天天天色 | 久久久久美女 | 国产亚洲精品美女久久久久久久久久 | 中文字幕视频在线 | 日本二区在线播放 | 毛片视频观看 | 欧美一区二区精品 | 黄色av电影在线 | 麻豆精品久久久 | 国产精品久久九九 | 久久不卡 | 99爱免费观看 | 欧美日韩国产一区二区三区不卡 | 免费福利片2020潦草影视午夜 | 久久精品久久久久电影 | 亚洲电影在线看 | 综合国产| 欧美一级欧美三级在线观看 | 欧美成人精品一区二区 | 一本色道久久综合狠狠躁篇的优点 | 欧美亚洲免费 | 日韩视频在线观看中文字幕 | 四虎影院最新网站 | 成人黄色国产 | 天天干狠狠操 | 日韩欧美一区二区三区免费观看 | 久久久久久久久久国产 | 午夜精品久久久久久久99樱桃 | 日韩一区二区三区四区五区六区 | www.99re | 国产成人综合av | 中文字幕一区二区在线观看 | 成人精品国产免费网站 | 欧美精品1区2区 | www.av在线| 国产极品一区 |