程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話中設置用戶辨認碼的相干函數的簡略講授

C說話中設置用戶辨認碼的相干函數的簡略講授

編輯:關於C++

C說話中設置用戶辨認碼的相干函數的簡略講授。本站提示廣大學習愛好者:(C說話中設置用戶辨認碼的相干函數的簡略講授)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話中設置用戶辨認碼的相干函數的簡略講授正文


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:權限不敷, 沒法完成設置.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved