1. 程式人生 > >SUID與SGID、SBIT

SUID與SGID、SBIT

SUID與SGID是兩種特殊許可權。

SUID:(僅對二進位制檔案有效)

-rwsr-xr-x 1 root root 22984 Jan  7  2007 /usr/bin/passwd 如果使用者具有該檔案x許可權,在執行時將會對程式涉及資源獲得該程式擁有者的許可權(即root許可權),例如,普通使用者對於/etc/passwd是沒有w許可權的,然後卻可以通過/user/bin/passwd來修改/etc/passwd中的資料,就是因為當普通使用者執行該程式時對於/etc/passwd具有了程式擁有者的許可權,所以可以修改此檔案。

SGID:(對於二進位制檔案及目錄有效)

對二進位制程式:-rwx--s--x 1 root slocate   23856 Mar 15  2007 /usr/bin/locate 如SUID,如果程式擁有SGID許可權,則其他使用者執行該程式時,將獲得該程式所屬群組的許可權。

對目錄:drwxrwsrwx 7 root root 4096 Sep 27 18:23 /tmp 如果該目錄具有s許可權,那麼具有該目錄rx許可權的使用者在該目錄下的有效群組將會變成目錄所屬群組。

SBIT:該許可權只作用於目錄,只有擁有者以及root可以刪除該目錄。

drwxrwxrwt 7 root root 4096 Sep 27 18:23 /tmp 該目錄只有擁有者及root使用者可以刪除。

這三種許可權的配置

在設定許可權時,分別在許可權程式碼前加上4(SUID)、2(SGID)、1(SBIT)即可。例:chmod 4777~/test 給~/test新增SUID許可權。