suid,sgid AND sticky bits

SUID(set-user-ID)位

    SUID位的做用:若文件F設置SUID位爲1,文件F的擁有者是用戶A,而用戶B擁有文件F的執行權限,則當用戶B執行文件F時就以文件擁有者(用戶A)的權限執行。 ubuntu

    SUID位的典型應用:修改Linux用戶密碼。Linux用戶密碼加密後存儲在/etc/passwd文件中,用戶使用passwd命令修改密碼。而修改/etc/passwd文件須要root權限, 以下圖: 加密

 

heaad@ubuntu:~$ ls -l /etc/passwd spa

-rw-r--r-- 1 root root 1672 2010-04-30 03:22 /etc/passwd 線程

 

 

那麼普通用戶是如何修改本身的密碼的呢?答案在/usr/bin/passwd文件中,以下圖: file

heaad@ubuntu:~$ ls -l /usr/bin/passwd 權限

-rwsr-xr-x 1 root root 37140 2010-01-26 09:09 /usr/bin/passwd scroll

 

passwd命令的全部者特權位中的x變成了s,表示passwd文件設定了SUID特權位。那麼其餘用戶執行passwd命令時將得到passwd文件的全部者(root)的權限,因而就有權限修改/etc/passwd文件了。 密碼

 

設置SUID位:使用以下命令設置SUID位: 方法

$ sudo chmod 4xxx file 命名

$ sudo chmod u+s file

其中的4xxx中的4是由於SUID位在特殊訪問位中的第三位。

執行完上面的兩條命令中的其中一條後,file文件的權限可能變成了rwsr-xr-x

    若文件全部者也沒有該文件的執行權限,則上面的兩條命令可能使file的訪問權限位變成了rwSr--r--,其中的S是大寫的

 

11. SGID(set-group-ID)位

    做用:SGID與SUID相似,但它是使執行的線程擁有所在組的權限。

    設置方式:

$ sudo chmod 2xxx file

$ sudo chmod g+s file

    執行完以上其中一條命令後,文件file的訪問權限可能會變成rwxr-sr-x 。

 

12. sticky位

    做用:若目錄A設置了sticky位,則除了目錄A的全部者和root用戶外,其餘用戶均不能刪除或重命名目錄A下的文件。

    設置方法:

$ sudo chmod +t file

$ sudo chmod 1xxx file

執行完以上其中一條命令,文件的訪問權限位可能被改變爲rwxr-xr-t 若文件全部者也沒有執行權限,則問權限位可能會變成rw-r--r-T


看成筆記使用,如有侵犯版權,請做者及時說明,我會盡快進行改正

相關文章
相關標籤/搜索