setuid功能:
1.只有可以執行的二進位制程式才能設定suid許可權
2.命令執行者要對該程式擁有x許可權
3.命令執行者在執行該程式時獲得該程式檔案屬主身份
4.setuid許可權只在該程式執行過程中有效,也就是說身份改變只在程式執行過程中有效
passwd命令擁有setuid許可權,所以普通使用者可以修改自己的密碼
cat命令沒有setuid許可權,所以普通使用者不能檢視/etc/passwd/檔案內容
因為普通使用者的密碼在/etc/passwd影子檔案中,這個影子檔案許可權是000,因為passwd命令有suid許可權(所有者帶有 s),
普通使用者在執行這個命令時會暫時獲得這個檔案的所有者許可權,也就是root,超級使用者有對shadow檔案任何許可權
我們切換到普通使用者 ,由於沒有suid許可權所以不能檢視
設定suid
chmod 4755 檔名 4代表suid
chmod u+s 檔名
取消suid
chmod 755 檔名
chmod u-s 檔名
建立乙個資料夾a 加上suid許可權發現出現大寫s 其實是不能執行的,因為沒有許可權x
sgid針對檔案的作用
1.只有可以執行的二進位制程式才能設定sgid許可權
2.命令執行者要對該程式擁有x許可權
3.命令執行者在執行該程式的時候,組身份公升級為該程式檔案的屬組
4.setgid許可權同樣只在該程式執行過程中有效,也就是說組身份改變只在程式執行過程中有效
案例:
解釋下/usr/bin/locate是可執行的二進位製程程式 ,執行的使用者對這個命令有x許可權,執行命令時組身份會公升級mlocate
而mlocate組對這個/var/lib/mlocate.mlocate.db資料庫有r許可權,所以普通使用者可以使用locate 查詢資料庫,執行結束後,
所屬組又會回到原來使用者的組
sgid針對目錄的作用
1.普通使用者必須對此目錄有r和x許可權,才能進入目錄
2.普通目錄在此目錄中的有效組,會變成此目錄的屬組
3.若普通使用者對此目錄擁有w許可權時,新建的檔案的缺省屬組是這個目錄的屬組
案例:
sbit粘著位作用:
1.粘著位目前只對目錄有效
2.普通使用者對該目錄擁有w和x許可權,即普通使用者可以再此目錄擁有寫入許可權
3.如果沒有粘著位,因為普通使用者擁有w許可權,所以可以刪除此目錄下所有檔案,
包括其他使用者建立的檔案。一但賦予了粘著位,除了root可以刪除所有檔案,普通
使用者就算擁有w許可權,也只能能刪除自己建立的檔案,但是不能刪除其他使用者建立的檔案
案例說明:
按理說zhangsan 使用者有對/tmp目錄的寫許可權,是可以刪除的,但因為/tmp擁有sbit許可權,所以就不能刪除了,只允許建立這個檔案的使用者刪除
Linux檔案特殊許可權
linux中檔案除了r w x這三個讀 寫 執行的許可權還有特殊許可權 s t suid許可權 當s這個標誌出現在檔案所有者的x許可權上時 如 rwsr xr x 則被稱為set uid,簡稱suid許可權。suid限制 1 suid許可權僅對二進位制程式 可執行程式 有效。2 執行者對於該程式需要...
Linux檔案特殊許可權
檔案特殊許可權set uid set gid sticky bit 1 set uid 該許可權針對二進位制可執行檔案,使檔案在執行階段具有檔案所有者的許可權。比如 passwd具有該許可權 chmod u s filename filename必須是二進位制檔案 2 set gid 改許可權針對目...
Linux檔案特殊許可權
suid sgid sbit 先用ls l命令看一下下面幾個檔案或目錄的資訊 rwsr xr x.1 root root 25980 2月 22 2012 usr bin passwd rwx s x.1 root slocate 35612 8月 24 2010 usr bin locate dr...