青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,Linux內核
隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
數(shù)據(jù)加載中……

APUE2讀書筆記(一):real user ID, effective user ID,saved set-user-ID

Unix中常見的幾個概念,下面做一個解釋.

首先需要明確一點,這幾個概念都是和進程相關的.
real user ID表示的是實際上進程的執(zhí)行者是誰,effective user ID主要用于校驗該進程在執(zhí)行時所獲得的文件訪問權限,也就是說當進程訪問文件時檢查權限時實際上檢查的該進程的"effective user ID",saved set-user-ID 僅在effective user ID發(fā)生改變時保存.

一般情況下,real user ID就是進程的effective user ID,但是當要運行的可執(zhí)行程序設置了"set-user-ID"位之后,進程的effective user ID變成該文件的屬主用戶id,同時該進程的"saved set-user-ID"變成此時進程的"effective user ID",也就是該可執(zhí)行程序的屬主用戶ID,該進程在執(zhí)行一些與文件訪問權限相關的操作時系統(tǒng)檢查的是進程的effective user ID.

為什么需要一個"saved set-user-ID"?因為當進程沒有超級用戶權限的時候,進程在設置"effective user ID"時需要將需要設置的ID和該進程的"real user ID"或者"saved set-user-ID"進行比較.

APUE2中進行的解釋是:
1)If the process has superuser privileges, the setuid function sets the real user ID, effective user ID, and saved set-user-ID to uid.

2)If the process does not have superuser privileges, but uid equals either the real user ID or the saved set-user-ID, setuid sets only the effective user ID to uid. The real user ID and the saved set-user-ID are not changed.

3)If neither of these two conditions is true, errno is set to EPERM, and 1 is returned
也就是說:
1)當用戶具有超級用戶權限的時候,setuid 函數(shù)設置的id對三者都起效.
2)否則,僅當該id為real user ID 或者saved set-user-ID時,該id對effective user ID起效.
3)否則,setuid函數(shù)調用失敗.

也就是說,這個saved set-user-ID更多的作用是在進程切換自己的effective user ID起作用.

需要特別提醒的是:并沒有任何的API可以獲取到進程的saved set-user-ID,它僅僅是系統(tǒng)在調用setuid函數(shù)時進行比較而起作用的.
APUE2中關于此事的原話如下:
Note that we can obtain only the current value of the real user ID and the effective user ID with the functions getuid and geteuid from Section 8.2. We can't obtain the current value of the saved set-user-ID.


舉一個例子說明問題,假設這樣的一種情況,系統(tǒng)中有兩個用戶A,B,還有一個由B創(chuàng)建的可執(zhí)行程序proc,該可執(zhí)行程序的set-
user-id位已經進行了設置.

當A用戶執(zhí)行程序proc時,
程序的real user ID = A的用戶ID,effective user ID = B的用戶ID,  saved set-user-ID=B的用戶ID.

假如在該進程結束了對某些限制只能由用戶B訪問的文件操作后,程序將effective user ID設置回A,也就是說此時:
程序的real user ID = A的用戶ID,effective user ID = A的用戶ID,  saved set-user-ID=B的用戶ID.

這個改動之所以能成功,原因在于上面列舉出的情況2):該ID為進程的real user ID.

最后,假設由于種種原因進程需要再次切換effective user ID為B,可是因為不能通過API獲取進程的saved set-user-ID(該值為B的用戶ID),所以只能通過兩種途徑獲得(可能還有別的途徑):
a)在設置effective user ID變回A之前保存effective user ID,它的值為B的用戶ID.
b)調用函數(shù)getpwnam( "B"),在返回的struct passwd *指針中成員pw_uid存放的就是用戶B的ID.
這樣,這個調用setuid(B的用戶ID)就會成功,原因也在于上面說的情況2):該ID與進程的saved set-user-ID相同.

APUE2中關于這幾個值的相關解釋在section4.4和section8.11中都有涉及.






posted on 2007-12-20 23:24 那誰 閱讀(4998) 評論(0)  編輯 收藏 引用 所屬分類: Linux/Unix讀書筆記

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品在线网站| 亚洲精品乱码久久久久久| 在线视频你懂得一区| 欧美日韩精品不卡| 亚洲与欧洲av电影| 亚洲欧美激情诱惑| 亚洲国产精品视频一区| 最近中文字幕日韩精品| 国产精品扒开腿做爽爽爽视频| 亚洲每日更新| 国产精品国产三级国产专播品爱网| 亚洲成色777777在线观看影院| 免费看黄裸体一级大秀欧美| 欧美国产日韩亚洲一区| 香蕉久久一区二区不卡无毒影院| 久久gogo国模啪啪人体图| 亚洲国产日韩欧美综合久久| 亚洲夜晚福利在线观看| 亚洲国产成人av| 欧美一区二区三区四区在线| a91a精品视频在线观看| 久久久激情视频| 久久成人亚洲| 国产精品久久久久7777婷婷| 欧美大片在线看| 国内精品久久久久久久果冻传媒| 亚洲裸体视频| 99精品国产高清一区二区| 欧美在线你懂的| 久久成人免费日本黄色| 欧美亚日韩国产aⅴ精品中极品| 欧美激情国产高清| 91久久久在线| 欧美日本乱大交xxxxx| 亚洲国产欧美另类丝袜| 亚洲免费播放| 欧美午夜精品一区| 欧美一区二区视频在线观看| 欧美在线视频一区二区三区| 国产婷婷精品| 裸体女人亚洲精品一区| 久久尤物电影视频在线观看| 国产日产欧美精品| 久久久久久久综合色一本| 亚洲大胆人体视频| 亚洲婷婷综合久久一本伊一区| 欧美久久视频| 欧美中在线观看| 国内视频一区| 国产精品女人毛片| 美女主播视频一区| 亚洲免费在线| 亚洲黄色一区| 久久综合亚洲社区| 亚洲欧美日产图| 99re66热这里只有精品4| 国产精品一区二区久久精品| 欧美成人影音| 久久久久久久一区二区| 一级日韩一区在线观看| 欧美1区2区3区| 久久久久久久尹人综合网亚洲| 亚洲一区二区三区影院| 亚洲欧洲一区二区三区| 永久免费视频成人| 国产偷国产偷精品高清尤物| 国产精品国产| 国产精品入口福利| 国产精品入口66mio| 国产精品视频1区| 国产农村妇女毛片精品久久莱园子| 欧美日韩第一区| 欧美精品国产精品| 欧美日韩精品免费在线观看视频| 久久免费高清视频| 亚洲欧美日韩系列| 久久久久久穴| 欧美1区2区| 国产精品成人va在线观看| 欧美三级视频在线| 国产精品一区在线播放| 国产精品美女久久久久久久| 国产精品网站视频| 黄色一区三区| 亚洲专区一区二区三区| 久久久久久夜| 亚洲精品一区中文| 亚洲一区尤物| 欧美成人按摩| 亚洲制服av| 欧美—级高清免费播放| 国产美女精品视频免费观看| 亚洲高清123| 久久在线视频在线| 一区二区三区高清在线| 久色婷婷小香蕉久久| 国产精品久久久爽爽爽麻豆色哟哟| 一区在线免费观看| 久久不见久久见免费视频1| 亚洲日本欧美| 欧美激情视频一区二区三区免费 | 欧美久色视频| 在线高清一区| 麻豆精品在线观看| 久久成人18免费观看| 国产欧美一区二区三区视频| 亚洲在线黄色| 中国成人在线视频| 欧美精品日韩一区| 国产视频一区在线观看一区免费| 一区二区三区**美女毛片| 亚洲黄色免费网站| 欧美日韩国产不卡在线看| 亚洲美女在线观看| 99精品久久久| 国产精品欧美日韩一区| 久久久亚洲精品一区二区三区 | 国产精品一区二区视频| 午夜免费日韩视频| 久久激情综合| 亚洲免费观看高清完整版在线观看熊 | 亚洲免费黄色| 国产日韩精品一区| 亚洲大胆女人| 欧美视频中文一区二区三区在线观看 | 欧美综合二区| 亚洲精品在线三区| 国产在线视频欧美| 国产精品视频一区二区三区| 欧美区在线观看| 欧美v国产在线一区二区三区| 欧美在线综合视频| 欧美在线播放高清精品| 亚洲——在线| 亚洲综合另类| 午夜影院日韩| 欧美一区二区三区婷婷月色| 午夜国产欧美理论在线播放 | 欧美国内亚洲| 欧美高清一区二区| 亚洲国产精品视频一区| 欧美激情精品久久久| 欧美jizzhd精品欧美巨大免费| 久久亚洲高清| 欧美二区视频| 亚洲日本久久| 一区二区欧美在线| 亚洲欧美日韩中文视频| 午夜精品在线观看| 欧美在线视频一区二区三区| 久久国产精品黑丝| 久久影院午夜片一区| 欧美成年人视频网站| 欧美激情在线| 国产精品久久久久久久久久妞妞 | 老司机精品视频网站| 欧美成人影音| 国产精品久久午夜| 国产一区视频在线看| 在线成人h网| 99国产麻豆精品| 午夜日韩激情| 欧美国产国产综合| 一区二区三区久久久| 午夜综合激情| 欧美国产免费| 国产欧美大片| 亚洲精品欧美激情| 午夜精品久久久久久久久久久久| 久久久精品国产免费观看同学| 欧美电影免费观看| 亚洲视频一二区| 久久在线免费| 国产精品伦理| 亚洲国产精品久久久久婷婷老年| 正在播放亚洲| 美日韩丰满少妇在线观看| 亚洲精品在线观看视频| 欧美中文字幕视频在线观看| 欧美激情精品久久久久久免费印度 | 久久综合九色九九| 欧美午夜一区二区| 亚洲国产99| 久久国产综合精品| 日韩手机在线导航| 久久久夜精品| 欧美亚日韩国产aⅴ精品中极品| 一区二区在线看| 先锋影音一区二区三区| 亚洲国产高清aⅴ视频| 欧美一区二区三区四区视频| 欧美人与禽猛交乱配| 亚洲福利视频一区二区| 欧美一区二区视频观看视频| 亚洲福利视频一区| 久久久久久香蕉网| 亚洲综合三区| 国产精品超碰97尤物18| 亚洲精品综合久久中文字幕| 久久这里只有精品视频首页|