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

實(shí)際用戶ID,有效用戶ID和設(shè)置用戶ID

系統(tǒng) 1681 0

實(shí)際用戶ID,有效用戶ID和設(shè)置用戶ID

?

????看UNIX相關(guān)的書時(shí)經(jīng)常能遇到這幾個(gè)概念,但一直沒有好好去理清這幾個(gè)概念,以致對(duì)這幾個(gè)概念一直一知半解。今天好好區(qū)分了一下這幾個(gè)概念并總結(jié)如下。說白了這幾個(gè)UID引出都是為了系統(tǒng)的權(quán)限管理。

?

????下面分別用RUID, EUID,SUID來表示實(shí)際用戶ID,有效用戶ID,設(shè)置用戶ID。 另外用戶 ID是個(gè)整型數(shù),為了說明方便真接使用了用戶名來代表不同的UID。先解釋一下這幾個(gè)ID的作用:

RUID,?用于在系統(tǒng)中標(biāo)識(shí)一個(gè)用戶是誰,當(dāng)用戶使用用戶名和密碼成功登錄后一個(gè)UNIX系統(tǒng)后就唯一確定了他的RUID.

EUID,?用于系統(tǒng)決定用戶對(duì)系統(tǒng)資源的訪問權(quán)限,通常情況下等于RUID。

SUID,用于對(duì)外權(quán)限的開放。跟RUID及EUID是用一個(gè)用戶綁定不同,它是跟文件而不是跟用戶綁定。

?

????說明SUID的時(shí)候很多書都簡(jiǎn)略的提了一下passwd這個(gè)程序,下面就拿這個(gè)例子來分析。我們知道linux系統(tǒng)的密碼都存在了/etc/shadow這個(gè)文件里。這個(gè)文件是如此的重要,在做任何修改之前最好先備份一下。查看/etc/shadow文件的屬性如下:

?

[root@localhost ~]# ll /etc/shadow

-r-------- 1 root root 1144 Jul 20 22:33 /etc/shadow

?

從上可以看出/etc/shadow文件是一個(gè)屬于root用戶及root組的文件,并且只有EUID為root的用戶具有讀的權(quán)限,其它所有EUID都沒有任何權(quán)限。當(dāng)你在steve用戶(EUID此時(shí)也為steve)的shell下試圖用vim打開這個(gè)文件時(shí)會(huì)提示權(quán)限不允許。至于連root用戶也只有讀的權(quán)限我猜是為了不鼓勵(lì)root用戶使用vim類的編輯器去直接修改它,而要采用passwd命令來修改這個(gè)文件。如果你非要直接修改它,那么你可以使用chmod命令修改為屬性為root可寫,然后就可以修改了。

?

????用過UNIX系統(tǒng)的人都知道,任何一個(gè)用戶都可以使用passwd這個(gè)命令來得新設(shè)定自己的密碼。但從上面已經(jīng)知道,非root用記是無法讀這個(gè)文件的,那么普通用戶是如何做到修改這個(gè)文件的呢?我們知道passwd這個(gè)命令實(shí)際執(zhí)行的程序是/usr/bin/passwd,?查看這個(gè)文件屬性如下:

?

-r-s--x--x 1 root root 21944 Feb 12??2006 /usr/bin/passwd;

?

對(duì)應(yīng)文件存取標(biāo)志的s位就是通常說的SUID位,另外可以看到所有用戶都有執(zhí)行的這個(gè)程序權(quán)力。當(dāng)steve用戶執(zhí)行passwd命令的時(shí)候。Shell會(huì)fork出一個(gè)子進(jìn)程,此時(shí)進(jìn)程的EUID還是steve,然后exec程序/usr/bin/passwd。exec會(huì)根據(jù)/usr/bin/passwd的SUID位會(huì)把進(jìn)程的EUID設(shè)成root,???此時(shí)這個(gè)進(jìn)程都獲得了root權(quán)限, 得到了讀寫/etc/shadow文件的權(quán)限,?從而steve用戶可完成密碼的修改。?exec退出后會(huì)恢復(fù)steve用戶的EUID為steve.這樣就不會(huì)使steve用戶一直擁有root權(quán)限。

?

我們可以測(cè)試一下,用root用戶把/usr/bin/passwd的SUID位去掉,如下:

[root@localhost ~]# ll /usr/bin/passwd?

-r-s--x--x 1 root root 21944 Feb 12??2006 /usr/bin/passwd

[root@localhost ~]# chmod u-s /usr/bin/passwd

[root@localhost ~]# ll /usr/bin/passwd???????

-r-x--x--x 1 root root 21944 Feb 12??2006 /usr/bin/passwd

?

然后steve用戶用命令passwd去更新密碼會(huì)提示如下錯(cuò)誤:

[steve@localhost ~]$ passwd

Changing password for user steve.

Changing password for steve

(current) UNIX password:

passwd: Authentication token manipulation error

[steve@localhost ~]$

這就是因?yàn)?usr/bin/passwd程序的SUID去掉后,steve用戶雖然可以執(zhí)行該程序,但因?yàn)?usr/bin/passwd/的SUID沒有設(shè)置,這樣exec后進(jìn)程的EUID仍為steve的原因。

?

????也許有人會(huì)發(fā)現(xiàn)root用戶卻仍可以使用該用命修改密碼,那是因?yàn)閞oot用戶本身的EUID時(shí)就是root (也有可能只要發(fā)現(xiàn)是RUID是root就不檢查EUID了,直接可讀寫,root就是老大嘛),?可以讀取密碼文件。

?

另外也許有人會(huì)發(fā)現(xiàn)普通的文件文件普通的文本文件會(huì)也可以設(shè)置SUID位,?但這是沒有意義的,因?yàn)槲募募]有地方執(zhí)行seteuid()的系統(tǒng)調(diào)用來改變當(dāng)用用戶的EUID。

?

最后,這里的對(duì)用戶ID的規(guī)則同樣也適用了組ID。

實(shí)際用戶ID,有效用戶ID和設(shè)置用戶ID


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲一区二区福利视频 | 色天使久久综合网天天 | 性做爰片视频毛片 | 亚洲视频在线播放 | 在线毛片免费观看 | 日本一线一区二区三区免费视频 | 四虎精品影院4hutv四虎 | 九九影院在线观看 | 久操热久操 | 99久久精彩视频 | 国产成人一区二区三区精品久久 | 香蕉毛片| 国产精品二 | 亚洲 欧美 日韩 综合 | 毛片视| 亚洲国产精久久小蝌蚪 | 久久这里只有精品免费视频 | 色偷偷要色偷偷网站视频在线 | 中文字幕亚洲综合久久202 | 亚洲精品欧美在线 | 干干干操操操 | 四虎影视成人永久在线播放 | 亚洲精品区 | 男人影院在线 | 久青草影院在线观看国产 | 日韩精品午夜视频一区二区三区 | 亚洲国产最新在线一区二区 | 婷婷亚洲综合五月天在线 | 伊人色综合久久天天网 | 久久噜噜噜久久亚洲va久 | 91九色麻豆 | 免费人成网站在线高清 | 久久精品国产一区二区三区肥胖 | 伊人久久亚洲综合 | 天天做.天天爱.天天综合网 | 久久国产视频在线观看 | 亚洲精品成人a | 精品欧美一区二区在线观看 | 久久有这有精品在线观看 | 狠狠色噜噜狠狠狠米奇9999 | 99热免费|