setuid 是 set user ID upon execution 再次縮寫為suid
setgid 是 set group ID upon execution 再次縮寫為 sgid
它們是控制文件訪問的權限標志(flag),它們分別允許普通用戶以可執行文件的 owner 或 owner group 的權限運行可執行文件。
在設置s權限時文件屬主、屬組必須先設置相應的x權限,否則s權限並不能正真生效。
t :設置粘着位 一個文件可讀寫的用戶並一定相讓他有刪除此文件的權限,如果文件設置了t權限則只
用屬主和root有刪除文件的權限,通過chmod +t filename
來設置t權限。
SBIT 是 the restricted deletion flag or sticky bit 的簡稱
SBIT 目前只對目錄有效,用來阻止非文件的所有者刪除文件。比較常見的例子就是 /tmp 目錄
root in ~ λ ll /tmp -d
drwxrwxrwt. 17 root root 4.0K Aug 10 10:39 /tm
權限信息中最后一位 t 表明該目錄被設置了 SBIT 權限。SBIT 對目錄的作用是:當用戶在該目錄下創建新文件或目錄時,僅有自己和 root 才有權力刪除。
i:不可修改權限 例:chattr u+i filename
則filename文件就不可修改,無論任何人,如果需要修
改需要先刪除i權限,用chattr -i filename
就可以了。查看文件是否設置了i權限用lsattr filename。
a:只追加權限 對於日志系統很好用,這個權限讓目標文件只能追加,不能刪除,而且不能通過編輯
器追加。可以使用chattr +a設置追加權限。