1. 程式人生 > >Linux s、t、x特殊許可權

Linux s、t、x特殊許可權

當s許可權在檔案所有者 x 許可權上時,即當執行該檔案時將具有該檔案所有者的許可權。

s:當s許可權在檔案組 x 許可權上時,執行者在執行該檔案時將具有該檔案所屬組的許可權。

t:當t許可權在other x許可權上時,任何人都可以在目錄內新增、修改檔案,但是隻有該檔案或目錄的建立都與root使用者能夠刪除自己的檔案或目錄。

x:系統是這樣規定的, 假如本來在該位上有x, 則這些特別標誌 (suid, sgid, sticky) 顯示為小寫字母 (s, s, t).否則, 顯示為大寫字母 (S, S, T) 。

一、s許可權和t許可權

s和t兩個特殊許可權說明:Linux中除了r w x 三個許可權外(分別代表r 讀,w 寫,x 執行),其實還有兩個特殊的許可權s與t

當s許可權在檔案所有者 x 許可權上時,例如:-rwsr-xr-x,此時稱為Set UID,簡稱為SUID的特殊許可權,即當執行該檔案時將具有該檔案所有者的許可權。

例如:有一個普通使用者hff,當hff修改密碼時,執行passwd這個命令,passwd該檔案許可權為:-rwsr-xr-x

1.hff對於 /usr/bin/passwd 這個程式具有 x 許可權,表示hff 能執行 passwd
2. passwd 檔案的所有者是 root
3. hff 執行 passwd 的過程中,會暫時獲得 root 的許可權
4./etc/shadow 就可以被 hff 所執行的 passwd 所修改。

[[email protected] root]$ passwd jack
passwd: Only root can specify a user name.其他使用者只能使用passwd修改自己的密碼而已

[[email protected] root]$ ls -lah /etc/passwd
-rw-r–r-- 1 root root 1.6K Feb 25 16:59 /etc/passwd

[[email protected] root]$ ll -h /usr/bin/passwd
-rwsr-xr-x. 1 root root 28K Jun 10 2014 /usr/bin/passwd

當s許可權在檔案組 x 許可權上時,例如:-rwx–s--x,此時稱為Set GID,簡稱為SGID的特殊許可權,可以理解為:執行者在執行該檔案時將具有該檔案所屬組的許可權。

還有一個t許可權,Sticky Bit,簡稱為SBIT許可權,只針對目錄有效。
-當用戶對此目錄具有 w, x 許可權,亦具有寫入的許可權時
-當用戶在該目錄下建立檔案或目錄時,僅有自己與 root使用者才有許可權刪除該檔案或目錄

例如:
/tmp 本身許可權是drwxrwxrwt,表示任何人都可以在/tmp目錄內新增、修改檔案,但是隻有該檔案或目錄的建立都與root使用者能夠刪除自己的檔案或目錄。

二、x許可權

新增x的說明:
如果目錄具有 x 許可權,例如 drwx–x--x,則所屬組和其它使用者都可以進入該目錄,並可以檢視該目錄下的檔案的內容,但是不能使用ls命令檢視該目錄下的內容,不能在該目錄下建立檔案或目錄。

例如:
hff使用者的/home/hff 目錄具有 drwx–x--x 屬性,知道該目錄下有一個test檔案,則使用oracle使用者可以直接檢視該檔案的內容 cat /home/hff/test,但是oracle使用者不能在/home/hff目錄建立檔案或目錄。

友情連結
(1)Linux中的特殊許可權粘滯位(sticky bit)詳解
https://www.cnblogs.com/MrListening/p/5813281.html
(2)LINUX中s和t兩個特殊許可權及x許可權說明
https://blog.csdn.net/jackliu16/article/details/79370043