歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> Linux文件及目錄的Suid/Guid和T屬性

Linux文件及目錄的Suid/Guid和T屬性

日期:2017/3/6 15:50:01   编辑:關於Unix
1. 4000---調整用戶號 2000---調整組號 1000---粘著置位 2. suid/guid程序 當一個程序的用戶或組被置位的時候,即4000或2000時,可實現某些特殊的功能一般來說,一個運行中的程序為運行這個程序的用戶所擁有,但如果該程序是suid/guid程序,則運行的程序則為
  1. 4000---調整用戶號
  2000---調整組號
  1000---粘著置位
  
  2. suid/guid程序
  當一個程序的用戶或組被置位的時候,即4000或2000時,可實現某些特殊的功能一般來說,一個運行中的程序為運行這個程序的用戶所擁有,但如果該程序是suid/guid程序,則運行的程序則為文件所有者擁有,運行中的程序在程序運行期間擁有文件所有者的全部權限如果一個普通用戶運行了一個屬於根用戶的帶s標志的程序,則該程序不考慮用戶權限, 自動擁有在系統中讀/寫任何文件及目錄的特權,對於guid程序也是一樣的。
  
  最典型的要數/usr/bin/passwd程序了,-r-s--x--x ,可幫助普通用戶更改在系統中的密碼, 利用的就是suid的作用。 但也要嚴格設置這種權限,避免破壞性,
  
  因為如果你的suid程序是/bin/bash的話,則會導致嚴重後果,一個普通用戶若在某個短時間取得過root權限,他就能設置一個suid程序/binb/bash來取得根特權。
  (若拿它來破壞別人的系統,後果自負)
  
  # cp /bin/bash /home/jephe/.backdoor
  
  # chmod 4755 /home/jephe/.backdoor
  
  這樣當攻擊者執行了/home/jephe/.backdoor後就得到了根特權,可用id命令顯示suid=0
  
  因此一個管理員應定期運行檢查程序檢查系統內有無異常的suid/guid程序:象下面這樣的命令
  
  #find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \; >suid-sguid-results
  
  把上面的命令放入cron job並郵遞文件suid-guid-resuilts給管理員郵箱帳號.
  
  3. 程序的t屬性
  粘著位 告訴系統在程序完成後在內存中保存一份運行程序的備份,如該程序常用,可為系統節省點時間,不用每次從磁盤加載到內存
  
  4.目錄的s屬性
  
  目錄的S屬性使得在該目錄下創建的任何文件及目錄屬於該目錄所擁有的組。
  例如在apache中為個人設置WEB目錄的時候,如果給apache分配的組名為httpd.
  則:
  
  #chown -R jephe.httpd ~jephe/public_html
  #chmod -R 2770 ~jephe/public_html
  
  確保在public_html中創建新的文件或子目錄時,新創建的文件設置了組ID。
  
  另外如有兩個用戶a和b都屬於組c,則希望在某目錄下a創建的文件也能被b修改,則可設置該目錄chmod +s屬性,同時設置a和b的默認umask為770。
  
  5. 目錄的T屬性
  設置了目錄的T屬性後1000,由只有該目錄的所有者及root才能刪除該目錄,如/tmp目錄就是drwxrwxrwt
  
  6. 文件及目錄的三種時間位
  每個Linux文件有三種保存著的時間日期標志。
  
  文件建立時間 (實際上是文件I節點建立時間)
  文件最後訪問時間
  文件最後修改時間
  
  
  默認ls -l時顯示的是文件最後修改時間,也可用ls -l --time=atime(文件最後訪問時間)ls -l --time=ctime(文件建立時間)
  
  可用touch命令改變時間日期標志,從而可隱蔽攻擊者對文件放置特洛伊木馬後對文件時間的修改
  
  7。可用chattr改變文件及目錄的屬性。
  
  有時你會發現對某個文件即使是root用戶也不能修改或添加新內容,那很可能是該文件被用chattr命令設置成不可更改或附加新內容了。你必須先用chattr去掉這些屬性再更改內容。

Copyright © Linux教程網 All Rights Reserved