欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中設(shè)置用戶識(shí)別碼的相關(guān)函數(shù)的簡(jiǎn)單講解

 更新時(shí)間:2015年08月28日 16:58:56   投稿:goldensun  
這篇文章主要介紹了C語言中設(shè)置用戶識(shí)別碼的相關(guān)函數(shù)的簡(jiǎn)單講解,包括setuid()函數(shù)和setreuid()函數(shù)以及setfsuid()函數(shù),需要的朋友可以參考下

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

頭文件:

#include <unistd.h>

定義函數(shù):

int setuid(uid_t uid);

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

返回值:執(zhí)行成功則返回0, 失敗則返回-1, 錯(cuò)誤代碼存于errno.

附加說明:一般在編寫具 setuid root 的程序時(shí), 為減少此類程序帶來的系統(tǒng)安全風(fēng)險(xiǎn), 在使用完root 權(quán)限后建議馬上執(zhí)行setuid(getuid());來拋棄root 權(quán)限. 此外, 進(jìn)程uid 和euid 不一致時(shí)Linux 系統(tǒng)將不會(huì)產(chǎn)生core dump.

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

頭文件:

#include <unistd.h>

定義函數(shù):

int setreuid(uid_t ruid, uid_t euid);

函數(shù)說明:setreuid()用來將參數(shù)ruid 設(shè)為目前進(jìn)程的真實(shí)用戶識(shí)別碼, 將參數(shù)euid 設(shè)置為目前進(jìn)程的有效用戶識(shí)別碼. 如果參數(shù)ruid 或euid 值為-1, 則對(duì)應(yīng)的識(shí)別碼不會(huì)改變。

返回值:執(zhí)行成功則返回0, 失敗則返回-1, 錯(cuò)誤代碼存于errno.

C語言setfsuid()函數(shù):設(shè)置文件系統(tǒng)的用戶識(shí)別碼
頭文件:

 #include <unistd.h>

定義函數(shù):

int setfsuid(uid_t fsuid);

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

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

錯(cuò)誤代碼:
EPERM:權(quán)限不夠, 無法完成設(shè)置.

相關(guān)文章

  • 基于C語言fflush()函數(shù)的使用詳解

    基于C語言fflush()函數(shù)的使用詳解

    本篇文章是對(duì)C語言中fflush()函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言中函數(shù)的聲明、定義及使用的入門教程

    C語言中函數(shù)的聲明、定義及使用的入門教程

    這篇文章主要介紹了C語言中函數(shù)的聲明、定義及使用的入門教程,重點(diǎn)講述了main函數(shù)的相關(guān)知識(shí),需要的朋友可以參考下
    2015-12-12
  • C++單例模式的實(shí)例詳解

    C++單例模式的實(shí)例詳解

    這篇文章主要介紹了C++單例模式的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C語言求質(zhì)數(shù)的幾種簡(jiǎn)單易懂方式

    C語言求質(zhì)數(shù)的幾種簡(jiǎn)單易懂方式

    這篇文章主要介紹了C語言求質(zhì)數(shù)的幾種簡(jiǎn)單易懂方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 簡(jiǎn)單談?wù)凜語言中的= 和==、!=

    簡(jiǎn)單談?wù)凜語言中的= 和==、!=

    這篇文章主要給大家介紹了關(guān)于C語言中= 和==、!=的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 關(guān)于C++中由于字節(jié)對(duì)齊引起內(nèi)存問題定位分析

    關(guān)于C++中由于字節(jié)對(duì)齊引起內(nèi)存問題定位分析

    前幾天遇到一個(gè)稀奇古怪的問題,在創(chuàng)建對(duì)象的時(shí)候程序異常退出,查找代碼發(fā)現(xiàn)結(jié)構(gòu)體數(shù)組問題,最終把問題簡(jiǎn)化得到解決方法,下面小編把我的問題及解決方案分享到腳本之家平臺(tái)供大家參考下
    2021-06-06
  • C語言實(shí)現(xiàn)簡(jiǎn)單職工信息管理系統(tǒng)

    C語言實(shí)現(xiàn)簡(jiǎn)單職工信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單職工信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 深入理解線程安全與Singleton

    深入理解線程安全與Singleton

    在編譯器未優(yōu)化的情況下順序如下:1.new operator分配適當(dāng)?shù)膬?nèi)存;2.在分配的內(nèi)存上構(gòu)造Singleton對(duì)象;3.內(nèi)存地址賦值給_instance
    2013-09-09
  • C語言詳細(xì)講解循環(huán)語句的妙用

    C語言詳細(xì)講解循環(huán)語句的妙用

    C語言循環(huán)控制語句是一個(gè)基于C語言的編程語句,該語句主要有while循環(huán)語句、do-while循環(huán)語句和for循環(huán)語句來實(shí)現(xiàn)循環(huán)結(jié)構(gòu),在循環(huán)過程中還有關(guān)鍵字break、continue、do、break控制中斷繼續(xù)與結(jié)束等操作
    2022-04-04
  • C++ 設(shè)置透明背景圖片

    C++ 設(shè)置透明背景圖片

    這篇文章主要介紹了C++ 設(shè)置透明背景圖片的相關(guān)資料,需要的朋友可以參考下
    2015-06-06

最新評(píng)論