1. 程式人生 > >setuid seteuid setreuid 三個函式講解

setuid seteuid setreuid 三個函式講解

int setuid(uid_t uid)

1)       若程序具有超級使用者許可權,則setuid將實際使用者ID、有效使用者ID及儲存的設定使用者ID設定為uid

2)       若程序沒有超級使用者許可權,但是uid等於實際使用者ID或儲存的設定使用者ID,則setuid只將有效使用者ID設定為uid

int seteuid(uid_t uid)

1)       若程序具有超級使用者許可權,則setuid只將有效使用者ID設定為uid

2)       若程序沒有超級使用者許可權,則setuid只將有效使用者ID設定為uid, 但是uid必須等於實際使用者ID或儲存的設定使用者ID,

int setreuid(uid_t ruid, uid_t euid)

1)       針對設定使用者ID位的程式: 交換有效使用者ID和儲存的設定使用者ID

2)       針對沒有設定使用者ID位的程式: 交換有效使用者ID和實際使用者ID

函式作用效果:


相關推薦

setuid seteuid setreuid 函式講解

int setuid(uid_t uid) 1)       若程序具有超級使用者許可權,則setuid將實際使用者ID、有效使用者ID及儲存的設定使用者ID設定為uid 2)       若程序沒有超級使用者許可權,但是uid等於實際使用者ID或儲存的設定使用者ID,則

輸入10整數,將其中最小的數與第一個數對換,把最大的數與最後一個數對換。寫函式; ①輸入10個數;②進行處理;③輸出10個數。

import java.util.Scanner; public class Main {     public static void main(String[] args){         Scanner sc = new Scann

php中curl、fsocket、file_get_content函式的使用比較

php中curl和file_get_content的一些比較 主要區別: 學習才發現,curl支援很多協議,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP,也就是說,它能做到很多file_get_content做不到的事情。

求方程 的根,用函式分別求當b^2-4ac大於0、等於0、和小於0時的根,並輸出結果。從主函式輸入a、b、c的值。

解題思路: 一元二次方程 ax²+bx+c=0(a≠0)                  其求根依據判定式△的取值為三種( △=b²-4ac )     1. △>0,方程有兩個不相等的實數根;          x1=[-b+√(△)]/2a;   //( 

memcpy,memmove,bcopy函式的記憶體重疊

bcopy correctly handles overlapping fields, while the behavior of memcpy is undefined if the source and destination overlap. The ANSI C me

ACMNO.37 C語言-數字交換 輸入10整數,將其中最小的數與第一個數對換,然後把最大的數與最後一個數對換。寫函式; ①輸入10個數;②進行處理;③輸出10個數。

題目描述 輸入10個整數,將其中最小的數與第一個數對換,然後把最大的數與最後一個數對換。 寫三個函式; ①輸入10個數;②進行處理;③輸出10個數。 輸入 10個整數 輸出 整理後的十個數,每個數後跟一個空格(注意最後一個數後也有空格) 樣例輸入 2 1

np.linspace、 np.arange、np.logspace函式的對比分析--python學習筆記24

英語好的童鞋們,直接看後面的英文官方解釋,我就不班門弄斧了。英文不好的,可以看下我的中文解釋。 首先:np.linspace np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

Python3中列表del(),remove(),pop()函式

del():刪除指定值 del  a[0] remove():移除指定值 a.remove("str") pop()獲取並刪除指定位置元素 A = ['a','b','c'] # pop的命令,其有返回值,可賦值帶出 d = A.pop(0) #刪除-1位置元素'b

輸入m學生,每個學生有4門課,在主調函式中輸入學生的相關資訊,編寫三個函式: (1)求第一門課的平均分; (2)找出有兩門課以上不及格的學生,並輸出他們的學號和全部成績,要求用指標函式實現:fl

  輸入m個學生,每個學生有4門課,在主調函式中輸入學生的相關資訊,編寫三個函式: (1)求第一門課的平均分; (2)找出有兩門課以上不及格的學生,並輸出他們的學號和全部成績,要求用指標函式實現:float*Search(float(*p)[4],int n); (3)找出

1079: C語言程式設計教程(第版)課後習題8.2---求方程 的根,用函式分別求當b^2-4ac大於0、等於0、和小於0時的根,並輸出結果。從主函式輸入a、b、c的值。【兩種方法】

題目描述 求方程 的根,用三個函式分別求當b^2-4ac大於0、等於0、和小於0時的根,並輸出結果。從主函式輸入a、b、c的值。 輸入 a b c 輸出 x1=? x2=? 樣例輸入 4

linux/unix下setuid/seteuid/setreuid/setresuid

其中setresuid()具有最清晰的語法: setresuid()被執行的條件有: ①當前程序的euid是root ②三個引數,每一個等於原來某個id中的一個 如果滿足以上條件的任意一個,setresuid()都可以正常呼叫,並執行,將 程序的ID設定成對應的ID。

在R中使用plot,qplot,ggplot函式做簡單的常用圖形

R自帶的作圖工具有plot,但是在使用R作圖時,不得不提到的一個強大的包ggplot2。ggplot2中qplot和ggplot函式也可以用來作圖。下面會一一介紹在R中使用這些函式來製作散點圖(scatter plot)、線圖(line plot)、條形圖(ba

jquery after append appendTo函式的區別

jq文件的說明是 1、after函式 定義和用法: after() 方法在被選元素後插入指定的內容。 語法: $(selector).after(content) 例項: <html> <head> <script type="text/jav

Python裡獲取當前時間的函式,time()、ctime()、gmtime()有什麼區別?

Python裡有三個函式可以獲取當前系統的時間,分別是time()、ctime()、gmtime()。那三者之間有什麼區別呢?先來一張圖:time()函式,返回的是一個浮點數,表示從1970年1月1日0點0分開始,到當前時間,一共經歷了多少秒。這樣看時間,簡直太費勁啦。於是c

請問sprintf、fprintf和printf這函式有什麼區別?

都是把格式好的字串輸出,只是輸出的目標不一樣: 1 printf,是把格式字串輸出到標準輸出(一般是螢幕,可以重定向)。 2 sprintf,是把格式字串輸出到指定字串中,所以引數比printf多一個char*。那就是目標字串地址。 3 fprintf, 是把格式字串輸出到

js中escape,encodeURI,encodeURIComponent函式的區別

簡單點說就是以下幾個區別: escape不編碼字元有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI不編碼字元有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z e

面試官:能解釋一下javascript中bind、apply和call這函式的用法嗎

一.前言     不知道大家還記不記得前一篇文章:《面試官:能解釋一下javascript中的this嗎》   那今天這篇文章雖然是介紹javascript中bind、apply和call函式,但是多少也和this有點關聯。   假如在前面那場面試末尾,面試官不依不饒繼續問你javascr

不多說了,inet_addr等轉換函式,記一下

#include "common.h" int main() {     //點分十進位制==>網路位元組序的Int     struct sockaddr_in in;     bzero(&i

C++學習筆記——關於STL sort()函式的第引數問題

STL    sort()函式有三個引數的過載型別 template<class RandomAccessIterator, class Predicate> void sort( RandomAccessIterator first,