小白電腦課堂開課啦!游戲團(tuán)戰(zhàn)就死機(jī),多半是廢了。大家好我是小白。在Linux中你會發(fā)現(xiàn),有些文件即使沒有任何權(quán)限,但是其他用戶還是能夠?qū)懭霐?shù)據(jù)。例如在rhel7中密碼保存在/ect/shadow這個(gè)文件中,文件本身除了超級管理員外沒有其他任何權(quán)限,但其他用戶可以通過passwd來修改自己的密碼。這是為什么呢?今天小白就和同學(xué)們說一說,Linux系統(tǒng)中文件的特殊權(quán)限。
一、Linux文件的特殊權(quán)限是用于彌補(bǔ)一般權(quán)限不能實(shí)現(xiàn)的功能,是針對于文件設(shè)置的一種特殊的功能。
二、Linux文件的特殊權(quán)限:
SUID:讓執(zhí)行者臨時(shí)擁有屬主的權(quán)限(僅對擁有執(zhí)行權(quán)限的二進(jìn)制程序有效);
SGID:讓執(zhí)行者臨時(shí)擁有屬組的權(quán)限(對擁有執(zhí)行權(quán)限的二進(jìn)制程序設(shè)置),
在該目錄中創(chuàng)建的文件自動繼承此目錄的用戶組(只可以對目錄設(shè)置);
SBIT(Sticky Bit):只可管理自己的數(shù)據(jù)而不能刪除他人文件(僅對目錄有效)。
三、SUID(SET UID)
讓執(zhí)行者臨時(shí)擁有屬主的權(quán)限(僅對擁有執(zhí)行權(quán)限的二進(jìn)制程序有效)。
普通用戶用passwd修改自己的密碼,實(shí)際上是對/ect/shadow文件的修改。為什么該文件沒有任何權(quán)限(除超級管理員外)而其他用戶還能夠?qū)懭霐?shù)據(jù)呢?這就要?dú)w功于SUID特殊權(quán)限了。
如圖所示,在所有者權(quán)限的可執(zhí)行權(quán)限位上有字母“s”就說明該可執(zhí)行文件具有SUID特殊權(quán)限。
四、SGID(SET GID)
讓執(zhí)行者臨時(shí)擁有屬組的權(quán)限(對擁有執(zhí)行權(quán)限的二進(jìn)制程序設(shè)置),
在該目錄中創(chuàng)建的文件自動繼承此目錄的用戶組(只可以對目錄設(shè)置)。
在所屬組權(quán)限的可執(zhí)行權(quán)限位上有字母“s”就說明該可執(zhí)行文件或目錄具有SGID特殊權(quán)限。
對于文件來說,執(zhí)行者必須擁有執(zhí)行該文件的執(zhí)行權(quán)限;
對目錄來說,使用者在該目錄下的群組會變成該目錄的群主。
五、SBIT(Sticky Bit)
只可管理自己的數(shù)據(jù)而不能刪除他人文件(僅對目錄有效)。
在其他用戶權(quán)限的可執(zhí)行權(quán)限位上有字母“t”就說明該目錄具有SBIT特殊權(quán)限。
在Linux中/tmp目錄就具有這樣的權(quán)限。
我們可以用root用戶在該目錄下創(chuàng)建一個(gè)文件,然后用其他用戶找到該文件,嘗試刪除該文件,結(jié)果很明顯是不能刪除的。同學(xué)們可以自己試一試,增強(qiáng)一下動手能力。
六、我們也可以用“chmod”命令來修改文件的特殊權(quán)限。(點(diǎn)這里,chmod命令說明)。
修改特殊權(quán)限的命令:
chmod u+s文件名添加SUID權(quán)限
chmod g+s文件名添加SGID權(quán)限
chmod o+t目錄名添加SBIT權(quán)限
如果去除特殊權(quán)限用“-”代替“+”就可以了。
好了,今天就到這里,我們明天見!
告別電腦小白就從小白電腦課堂開始!