亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

實(shí)際用戶id,有效用戶id,保存的設(shè)置用戶id

系統(tǒng) 2423 0

一個(gè)進(jìn)程的 real user ID 是指運(yùn)行此進(jìn)程的用戶角色的 ID。
一個(gè)進(jìn)程的 effective user ID 是指此進(jìn)程目前實(shí)際有效的用戶 ID(也就是權(quán)限的大小),effective user ID 主要用來(lái)校驗(yàn)權(quán)限時(shí)使用,比如打開(kāi)文件、創(chuàng)建文件、修改文件、kill 別的進(jìn)程,等等。
如果一個(gè)進(jìn)程是以 root 身份來(lái)運(yùn)行的,那么上面這兩個(gè) ID 可以用 setuid/seteuid 隨便修改,想怎么改就怎么改,改來(lái)改去都可以。
但是如果一個(gè)進(jìn)程是以普通用戶身份來(lái)運(yùn)行的,那么上面這兩個(gè) ID 一般來(lái)說(shuō)是相同的,并且也不能隨便修改。只有一種情況例外:此進(jìn)程的可執(zhí)行文件的權(quán)限標(biāo)記中,設(shè)置了“設(shè)置用戶 ID”位!
在命令行中,設(shè)置一個(gè)可執(zhí)行文件的“設(shè)置用戶 ID”位的最簡(jiǎn)單的方法,就是用

  1. chmod +s /path/to/file
復(fù)制代碼


這個(gè)命令。
一旦用了這個(gè)命令之后,再執(zhí)行這個(gè)文件,
那么生成的進(jìn)程的 effective user ID 就變成了這個(gè)可執(zhí)行文件的 owner user ID(屬主用戶 ID),
而 real user ID 仍然是啟動(dòng)這個(gè)程序時(shí)所用的用戶的 ID。
打個(gè)比方來(lái)說(shuō),如果有這樣的一個(gè)文件:

-rw s r- s r-x 1 susesuse susesuse 7902 2006-08-31 13:22 tuid


注意這個(gè)文件已經(jīng)用 chmod +s 命令設(shè)置過(guò)“設(shè)置用戶 ID”位了。
然后我用 flw 這個(gè)用戶來(lái)執(zhí)行它,那么生成的進(jìn)程它的 real user ID 就是 flw(因?yàn)槲沂怯?flw 運(yùn)行的),但是 effective user ID 就變成了 susesuse(因?yàn)檫@個(gè)可執(zhí)行文件被設(shè)置了“設(shè)置用戶 ID”位,并且它的 owner user ID 是 susesuse)。
這時(shí),這個(gè)進(jìn)程實(shí)際上就有兩個(gè)用戶權(quán)限了。只不過(guò)目前生效的是 susesuse,因此它目前能夠且只能夠操作 susesuse 用戶的文件,如果現(xiàn)在我又想要操作 flw 用戶的文件怎么辦?
很簡(jiǎn)單,只需要 seteuid( getuid() ) 就可以了。執(zhí)行完這句之后,effective user ID 就變成和 real user ID 一樣了,都變成 flw 了。

可是如果過(guò)了一會(huì)兒我又想要變回來(lái)怎么辦?因?yàn)?effective user ID 和 real user ID 此時(shí)都變成了 flw 了,所以操作系統(tǒng)必須得有一個(gè)地方保存住原來(lái)的“設(shè)置用戶 ID”(也就是可執(zhí)行文件的 owner user ID),不然等你再想要 seteuid 的時(shí)候,操作系統(tǒng)就不知道你有沒(méi)有那個(gè)權(quán)利了。(總不能再去訪問(wèn)一次文件系統(tǒng)吧?那樣也太沒(méi)有效率了)

操作系統(tǒng)為了能夠在設(shè)置了 seteuid 之后,再次設(shè)置回來(lái),所以特地將原來(lái)的“設(shè)置用戶 ID”保存下來(lái)了,這個(gè)保存下來(lái)的設(shè)置用戶 ID 自然就叫做“保存的設(shè)置用戶 ID”

注:

 setuid函數(shù)設(shè)置實(shí)際用戶ID和有效用戶ID。Linux的setuid函數(shù)和Unix中的setuid函數(shù)的行為是不同的。在Linux中, setuid(uid)函數(shù)的執(zhí)行步驟為:(1)如果由普通用戶調(diào)用,將當(dāng)前進(jìn)程的有效ID設(shè)置為uid. (2)如果由有效用戶ID符為0的進(jìn)程調(diào)用,則將真實(shí),有效和已保存用戶ID都設(shè)置為uid.

?

  在Unix中.setuid(uid)函數(shù)的行為為: (1)如果進(jìn)程沒(méi)有超級(jí)用戶特權(quán),且uid等于實(shí)際用戶ID或已保存用戶ID,則將有效的用戶ID設(shè)置為uid.否則返回錯(cuò)誤.(2)如果進(jìn)程是有超級(jí)用戶特權(quán),則將真實(shí)、有效和已保存用戶表示符都設(shè)置為uid.如果兩個(gè)條件都不滿足,則設(shè)置errno為EPERM。

?

  函數(shù)在執(zhí)行成功的時(shí)候返回0,在出錯(cuò)的時(shí)候返回-1.

?

參考: http://blog.csdn.net/felix_vip/article/details/7565703

http://baike.baidu.com/view/3999335.htm

實(shí)際用戶id,有效用戶id,保存的設(shè)置用戶id


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 精品日韩在线观看 | 久青草国产在线视频_久青草免 | 国产三及 | 91视频最新网址 | 精品国产91乱码一区二区三区 | 日日碰狠狠添天天爽爽爽 | 日本三级做a全过程在线观看 | 国产欧美亚洲精品第二区首页 | 日本人69视频页码jlzz | 视频一区二区国产 | 久久精品国产99国产精品 | 青青青青手机在线视频观看国产 | 亚洲精品成人中文网 | 九九九精品视频 | 国产农村妇女毛片精品久久 | 欧美色插 | 久久9966e这里只有精品 | 日韩一级欧美一级一级国产 | 亚洲免费在线视频播放 | 欧美一区二区三区香蕉视 | 欧美日韩亚洲精品一区二区 | 天天操免费视频 | 国内视频自拍 | 精品国产福利在线观看一区 | 一级毛片a免费播放王色 | 香蕉伊人网| 国产成人综合95精品视频免费 | 99久热 | 久青草国产在线 | 久久精品国产亚洲网址 | 神马影院我不卡影院 | 精品自拍视频在线观看 | 九九热在线视频播放 | 日本一级α一片免费视频 | 永久黄网站色视频免费观看 | 国产精品午夜在线观看 | 成人欧美一区二区三区视频不卡 | 一区二区三区精品视频 | 午夜男人| 成人性生免费视频 | 九九精品免费观看在线 |