設(shè)置權(quán)限
chmod u+s,g+s,o+t filename
chmod u=rwxs,go=x
SUID=4 ? SGID=2 ? ?SBIT=1
chmod 7755 filename
Set UID
Set UID 即 SUID
★ SUID 僅對二進制程序(binary program)有效守屉,如:命令
★執(zhí)行者對于改程序需要具有 x 的可執(zhí)行權(quán)限
★本權(quán)限僅在執(zhí)行該程序的過程中(run time)有效
★執(zhí)行者將具有該程序所有者(owner)的權(quán)限
description
SUID 本人無法通過命令從啊做來說明,但是舉個例子吧蒿辙。
/etc/shadow?配置文件的權(quán)限為 "-r-------- 1 root root" ?只有 root 可以強制寫入拇泛,也就是說理論上只有 root 可以進行修改密碼,但實際上任何一個用戶都可以修改自己的密碼思灌。
沖突嗎碰镜?不沖突,這個時候 SUID 的作用就出來了习瑰,我們通過 which 命令查找 passwd 命令绪颖,得到權(quán)限 “-rwsr-xr-x 1 root root” ?這個地方的 ‘s’ 權(quán)限就是 SUID 了,它可以使任何用戶在調(diào)用這個命令時獲得 root 權(quán)限
Set GID
Set GID 即 SGID,SGID與SUID不同柠横,SGID針對文件或者目錄
SGID對文件的作用:
★SGID對二進制程序有用
★程序執(zhí)行者對于該程序來說窃款,需具備 x 的權(quán)限
★執(zhí)行者在執(zhí)行的過程中將會獲得該程序用戶組的支持
SGID對目錄的作用:
★用戶若對于此目錄具有 r 與 x 的權(quán)限時,該用戶能夠進入此目錄
★用戶在此目錄下的有效用戶組牍氛,將變成該目錄的所屬用戶組
★若用戶在此目錄下具有 w 的權(quán)限晨继,則用戶所創(chuàng)建的新文件的用戶組與此目錄的用戶組相 ? ?同
Example
SGID對于文件的操作與SUID效果相同,在此不做闡述搬俊,這里的例子主要講述SGID對于目錄的作用
第一步:創(chuàng)建 project 用戶組紊扬,并把 king 用戶的附加用戶組改為 project
第二步:在 /srv 目錄下創(chuàng)建 projecthome 文件,并修改權(quán)限為770唉擂,用戶組修改為 project
第三步:切換到 king 用戶餐屎,在 projecthome 文件下創(chuàng)建 a.txt ,觀察用戶組
第四步:切換到 root 玩祟,為 projecthome 設(shè)置SGID權(quán)限腹缩,再使用 king 創(chuàng)建 b.txt,并觀察
Sticky Bit
Sticky Bit 即 SBIT空扎,目前只針對目錄有效
★當用戶在該目錄下創(chuàng)建文件或者目錄時藏鹊,僅有自己以及 root 有權(quán)限修改
Example
第一步:創(chuàng)建用戶 test1,test2 转锈,并查詢 /tmp 權(quán)限
第二步盘寡,調(diào)用 test1 用戶在 /tmp 目錄下創(chuàng)建 a.txt ,調(diào)用 ?test2 用戶去刪除 a.txt
小結(jié)
chmod 7666 filename
輸出 -rwSrwSrwT
因文件本身沒有 x 權(quán)限 撮慨,所以給了特殊權(quán)限也無法使用