1.suid(set uid)
a.當s這個標誌出現在檔案所有者的x許可權上時,此時就被稱為set uid,簡稱suid的特殊許可權。此許可權的功能與許可權如下:
*suid僅對二進位制程式有效
*執行者對於該程式需要具有x的可執行許可權
*本許可權僅在執行該程式的過程中有效
*執行者將具有該程式所有者的許可權
b.在linux系統中,所有的帳號密碼都記錄在/etc/shadow這個檔案中,這個檔案許可權為
「-r-------- 1 root root
」,意思是這個檔案僅有root可讀僅root可以強制寫入。但是一般的賬戶(例我的kiosk是個普通使用者)卻可以改動自己的密碼,這與許可權豈不是衝突了?其實,這便是suid的作用:
*kiosk對於/usr/bin/passwd這個程式來說是有x許可權的,表示kiosk能夠執行passwd命令
*passwd的擁有者時root這個帳號
*vbird執行passwd的過程中,會
「暫時」
獲得root許可權
*/etc/shadow可以被kiosk所執行的passwd所修改
雖然kiosk可以修改自己的賬戶密碼,但是卻無法用cat去讀取/etc/shadow
c.suid僅可用在二進位制程式上,不能夠用在shell script上面,對於目錄也是無效的。
2.sgid(set gid)
a.當s標誌在使用者組的x時則稱為set gid,sgid。與suid不同的是,sgid可以針對檔案或目錄來設定。如果是對檔案來說,sgid有以下功能l
*sgid對二進位制程式有用
*程式執行者對於該程式來說,需具備x的許可權
*執行者在執行的過程當中會獲得該程式使用者組的支援
b.除了二進位制程式外,事實上sgid也能夠用在目錄上,這也是常見的一種用途。當乙個目錄設定了sgidde1許可權後,會具有如下功能:
*使用者若對次目錄具有r與x許可權時,該使用者可進入此目錄
*使用者在次目錄下的有效使用者組將會變成該目錄的使用者組
*若使用者再次目錄下有w許可權,則使用者所建立的新檔案的使用者組與次目錄的使用者組相同
3.sticky bit
a.這個sticky bit(sbit)目前只針對目錄有效,其效果為:
*當使用者對於次目錄具有w,x許可權,即具有寫入的許可權時:
*當使用者在該目錄下建立檔案或目錄時,僅自己與root才有權力刪除該檔案。
即,加入a目錄加上了sbit的許可權專案時,則使用者甲之能夠針對自己建立的檔案或目錄進行刪除,更改,移動等操作,而無法刪除他人建立的檔案
4.suid/sgid/sbit許可權設定
a.通過數字的方法
4為suid
2為sgid
1為sbit
若要將乙個檔案許可權更改為suid時,就可在原先的許可權上加上4.例如,原許可權為
「755
」,那麼更改為suid就可以用
「chmod 4755 檔名
」即可。其餘例上。
b.通過符號方法
suid為u+s
sgid為g+s
sbit為o+t
例:原許可權為
「-rws--x--x
」新增sgid與sbit,可通過如下方法進行:
chmod g+s,o+t 檔名
檔案特殊許可權
檔案特殊許可權 liunx學問博大精深,今天我們一起來學習一下比較有意思的三個特殊許可權,雖然我們平時不常用,但是我們必須得知道,因為他們的作用在linux作業系統的管理上起著舉足輕重的作用,我們可不能小看他們喲,我們今天的主句就是suid,sgid,sbit三個許可權的展示。一.setuid 1....
檔案特殊許可權
setuid 也叫 suid,它的特點如下 setuid 的典型應用場景是 passwd 命令。普通使用者可以用 passwd 命令修改自己的密碼,修改密碼實際上是修改 etc shadow檔案,而該檔案的許可權是 000,那麼這時就需要普通使用者暫時獲得 root 使用者的身份,來修改 etc s...
檔案特殊許可權
setuid setuid的功能 類似windows中的以管理員身份執行 只有可以執行的二進位制程式才能設定suid許可權 命令執行者要對該程式擁有x 執行 許可權 命令執行者在執行該程式時獲得該程式檔案屬主的身份 setuid許可權只在該程式執行過程中有效,也就是說身份改變只在程式執行過程中有效 ...