[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 系統管理 > 其它 > 正文
文件及目錄的suid/guid和t屬性
http://www.linuxforum.net 吳阿亭 (2001-04-21 17:51:22)
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去掉這些屬性再更改內容。


Jephe Wu (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★