之前我們知道如何針對用戶和用戶組來設(shè)置文件權(quán)限。通常是用三個八進制來設(shè)置權(quán)限的,這里我要說的是,其實是由四個八進制表示的。其中第一個八進制我們通常是忽略的。第二個到第四個是對應(yīng)于SUID,SGID,sticky-bit。
SUID:設(shè)置了SUID 位的文件被執(zhí)行時,該文件將以所有者的身份運行,也就是說無論誰來執(zhí)行這個文件,他都有文件所有者的特權(quán)。如果所有者是 root 的話,那么執(zhí)行人就有超級用戶的特權(quán)了
SGID: 設(shè)置了SUID 位的文件被執(zhí)行時,該文件將以具有所屬組的特權(quán)
sticky-bit: sticky 位要求操作系統(tǒng)既是在可執(zhí)行程序退出后,仍要在內(nèi)存中保留該程序的映象。這樣做是為了節(jié)省大型程序的啟動時間。但是會占用系統(tǒng)資源。該位可以理解為防刪除位. 設(shè)置sticky bit位后,就算用戶對目錄具有寫權(quán)限,但也只能添加文件而不能刪除文件。
SUID和SGID可以對文件的權(quán)限進行設(shè)置,比如rwx(可讀可寫可執(zhí)行)
我們引入了chmod來修改文件權(quán)限,舉例如下:
當我們要修改成user為可寫,group為可寫時,命令如下:
chmod u+w,g+w myfife
那么操作這些標志的權(quán)限是什么呢。和文件權(quán)限是一樣的,都是用chmod來修改權(quán)限的。
chmod u+s myfife:為用戶設(shè)置s權(quán)限,具有文件所有者的權(quán)限
chmod g+s Code:為用戶組設(shè)置s權(quán)限,具有用戶組的權(quán)限,可以對該目錄下的文件執(zhí)行權(quán)利,Code為目錄
chmod o+t myfife:為其他用戶設(shè)置t權(quán)限,說明其他用戶不能對其進行刪除操作
大家有沒有看到myfife文件中的T呢,這是因為我們給sticky位設(shè)置了權(quán)限,這個有什么作用呢?就是為了防止刪除。我們有時候會遇到A用戶對其有寫權(quán)限,寫了之后,B用戶覺得那個文件沒用,就把文件給刪了。這樣的結(jié)果可想而知。
為了避免上述的事情發(fā)生,所以就有粘滯位的引入。就是為了防止other用戶對其刪除。只有用戶自己可以對其添加、修改、刪除等操作。
使用chmod 1777 myfife 即可。