權限管理-文件特殊權限

1、SetUID(危險)

SetUID的功能(缺一不可)

  1. 只有可以執行的二進制程序才能設定SUID權限
  2. 命令執行者要對該程序擁有x(執行)權限
  3. 命令執行者在執行程序時獲得該程序文件屬主的身份(在執行程序的過程中靈魂附體爲文件的屬主)
  4. SetUID權限只在該程序執行過程中有效,也就是說身份改變只在程序執行過程中有效。

舉例

  1. passwd命令擁有SetUID權限,所以普通用戶可以修改自己的密碼。

    # ll /usr/bin/passwd
    -rwsr-xr-x.1 root root 25980 222 2012 /usr/bin/passwd
    

    注:其中所有者權限中出現了一個r,是屬於靈魂附體,命令執行過程中變爲root。

  2. cat命令沒有SetUID權限,所以普通用戶不能查看/etc/shadow文件內容。

    # ll /bin/cat
    -rwxr-xr-x 1 root root 47976 622 2012 /bin/cat
    

設定SetUID的方法

4代表SUID

  1. chmod 4755 文件名
  2. chmod u+s 文件名

取消SetUID的方法

  1. chmod 755 方法
  2. chmod u-s 文件名

危險的SetUID

  1. 關鍵目錄應嚴格控制寫權限。比如"/"、"/usr"等。
  2. 用戶密碼設置要嚴格遵守密碼三原則
  3. 對系統中默認應該具有SetUID權限的文件作一列表,定時檢查沒有這之外的文件被設置了SetUID權限。

2、SetGID

SetGID針對文件的作用

  1. 只有可執行的二進制程序才能設置SGID權限。
  2. 命令執行者要對程序擁有x(執行)權限
  3. 命令執行在執行程序的時候,組身份升級爲該程序文件的屬組
  4. SetGID權限同樣只在該程序執行過程中有效,也就是說組身份改變只在程序執行過程中有效。

設定SetGID

2代表SUID

  1. chmod 2755 文件名
  2. chmod g+s 文件名

取消SetGID

  1. chmod 755 文件名
  2. chmod g-s 文件名

3、Sticky BIT

SBIT粘着位作用

  1. 粘着位目前只對目錄有效。
  2. 普通用戶對該目錄擁有w和x權限,即普通用戶可以在此目錄擁有寫入權限。
  3. 如果沒有粘着位,因爲普通用戶擁有w權限,所以可以刪除此目錄下所有文件,包括其他用戶建立的文件。一但賦予了粘着位,除了root可以刪除所有文件,普通用戶就算擁有w權限,也只能刪除自己建立的文件,但是不能刪除其他用戶建立的文件

設置與取消粘着位

設置粘着位:

  1. chmod 1755 目錄名
  2. chmod o+t 目錄名

取消粘着位:

  1. chmod 777 目錄名
  2. chmod o-t 目錄名

總結

數字 設置
4 SetUID
2 SetGID
1 Sticky BIT
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章