日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
LinuxSetUID(SUID)文件特殊權(quán)限用法詳解
在講解《權(quán)限位》一節(jié)時(shí)提到過(guò),其實(shí)除了 rwx 權(quán)限,還會(huì)用到 s 權(quán)限,例如:

新城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

[root@localhost ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 22984 Jan  7  2007 /usr/bin/passwd

可以看到,原本表示文件所有者權(quán)限中的 x 權(quán)限位,卻出現(xiàn)了 s 權(quán)限,此種權(quán)限通常稱為
 SetUID,簡(jiǎn)稱
 SUID 特殊權(quán)限。

SUID 特殊權(quán)限僅適用于可執(zhí)行文件,所具有的功能是,只要用戶對(duì)設(shè)有 SUID 的文件有執(zhí)行權(quán)限,那么當(dāng)用戶執(zhí)行此文件時(shí),會(huì)以文件所有者的身份去執(zhí)行此文件,一旦文件執(zhí)行結(jié)束,身份的切換也隨之消失。

舉一個(gè)例子,我們都知道,Linux 系統(tǒng)中所有用戶的密碼數(shù)據(jù)都記錄在 /etc/shadow 這個(gè)文件中,通過(guò) ll /etc/shadow 命令可以看到,此文件的權(quán)限是 0(---------),也就是說(shuō),普通用戶對(duì)此文件沒(méi)有任何操作權(quán)限。

這就會(huì)產(chǎn)生一個(gè)問(wèn)題,為什么普通用戶可以使用 passwd 命令修改自己的密碼呢?

本節(jié)開頭已經(jīng)顯示了 passwd 命令的權(quán)限配置,可以看到,此命令擁有 SUID 特殊權(quán)限,而且其他人對(duì)此文件也有執(zhí)行權(quán)限,這就意味著,任何一個(gè)用戶都可以用文件所有者,也就是 root 的身份去執(zhí)行 passwd 命令。

Linux 系統(tǒng)中,絕對(duì)多數(shù)命令的文件所有者默認(rèn)都是 root。

換句話說(shuō),當(dāng)普通用戶使用 passwd 命令嘗試更改自己的密碼時(shí),實(shí)際上是在以 root 的身份執(zhí)行passwd命令,正因?yàn)?root 可以將密碼寫入 /etc/shadow 文件,所以普通用戶也能做到。只不過(guò),一旦命令執(zhí)行完成,普通用戶所具有的 root身份也隨之消失。

如果我們手動(dòng)將 /usr/bin/passwd 文件的 SUID 權(quán)限取消,會(huì)發(fā)生什么呢?觀察如下命令的執(zhí)行過(guò)程:

[root@localhost ~]# chmod u-s /usr/bin/passwd
#屬主取消SetUID權(quán)限
[root@localhost ~]# ll /usr/bin/passwd
-rwxr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd
[root@localhost ~]# su - lamp
[lamp@localhost ~]$ passwd
Changing password for user lamp.
Changing password for user.
(current) UNIX password:
#看起來(lái)沒(méi)有什么問(wèn)題
New passwor:
Retype new password:
password:Authentication token manipulation error  <--鑒定令牌操作錯(cuò)誤
#最后密碼沒(méi)有生效

顯然,雖然用戶有執(zhí)行 passwd 命令的權(quán)限,但無(wú)修改 /etc/shadow 文件的權(quán)限,因此最終密碼修改失敗。

注意,實(shí)驗(yàn)完成后,一定要再把 /usr/bin/passwd 文件的 SetUID 權(quán)限加上。

那么,普通用戶可以使用 cat 命令查看 /etc/shadow 文件嗎?答案的否定的,因?yàn)?cat 不具有 SUID 權(quán)限,因此普通用戶在執(zhí)行 cat /etc/shadow 命令時(shí),無(wú)法以  root 的身份,只能以普通用戶的身份,因此無(wú)法成功讀取。

我們可以使用下面這張圖來(lái)描述上述過(guò)程:





圖 1 SUID示意圖

由此,我們可以總結(jié)出,SUID 特殊權(quán)限具有如下特點(diǎn):

  • 只有可執(zhí)行文件才能設(shè)定 SetUID 權(quán)限,對(duì)目錄設(shè)定 SUID,是無(wú)效的。
  • 用戶要對(duì)該文件擁有 x(執(zhí)行)權(quán)限。
  • 用戶在執(zhí)行該文件時(shí),會(huì)以文件所有者的身份執(zhí)行。
  • SetUID 權(quán)限只在文件執(zhí)行過(guò)程中有效,一旦執(zhí)行完畢,身份的切換也隨之消失。

本文名稱:LinuxSetUID(SUID)文件特殊權(quán)限用法詳解
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/dhiddji.html