自學linux——22.粘滯位的了解及使用

            粘滯位的了解及使用

一、許可權

1.文件的許可權

r (read) :可讀取該文件的實際內容
w(write):可以編輯,新增或者修改該文件的內容(但不含刪除該文件)
x(execute):代表該文件可以被系統執行

對於文件的r ,w, x來說,主要針對的”文件的內容”而言,與文件名的存在與否沒有關係

2.目錄的許可權

r (read):具有讀取目錄結構列表的許可權,用ls查看
w(write):寫的許可權操作包括:新建文件或目錄、刪除文件或目錄(不論文件的許可權是什 么)、對文件或目錄重命名、移動文件或目錄等
x(execute):目錄的X許可權代表的是用戶能否進入該目錄稱為工作目錄。擁有此許可權,就可以cd進去,否則,將不能進入目錄內部

二、粘滯位(粘著位)

1.介紹

(1)最常見的用法在目錄上設置粘滯位,也只能針對⽬錄設置,對於⽂件⽆效。設置了粘滯位後,只有目錄內文件的所有者或者root才可以刪除或移動該文件。如果不為目錄設置粘滯位,任何具有該目錄寫和執行許可權的用戶都可以刪除和移動其中的文件

(2)一個目錄具有粘滯位,則在other的X位會表現為 t,或者T。T和t的區別在於,原來x位上有x許可權,有了粘滯位則表現為t,否則,則表現為T

(3)在linux系統的實際應用中,粘滯位一般用於/tmp,/var/tmp目錄,以防止普通用戶刪除或移動其他用戶的文件

(4)粘滯位t許可權給其它用戶帶來的安全限制,僅僅在於不能刪除和移動/更名文件 (即粘滯位保護的是文件不被其他用戶rm或mv,即使文件對其他用戶有寫許可權,777都不行!),因為它針對的是目錄

2.許可權

(1)SetUID  =  4:在所有者設置的許可權

只對二進位程式有效;執行者對於程式需要有x許可權;在程式運行過程中,執行者擁有程式擁有者的許可權;suid會在所屬用戶許可權本應是x的地方顯示s;

設置suid許可權的方法:a.文件當前數字許可權前面加4。b.chmod u+s  目錄(設置)    chmod u-s  目錄(取消)

eg:/etc/shadow文件許可權是000,只有root用戶能對它有查看許可權,普通用戶無法查看它的內容

 (2)SetGID  =  2:在所屬組設置的許可權

針對文件的話,sgid只對二進位程式有用;程式執行著要有x許可權;執行者在執行過程中會獲得改程式用戶組的許可權sgid會在所屬用戶組許可權本應是x的地方顯示s;

設置suid許可權的方法:a.文件當前數字許可權前面加2。b.chmod g+s  目錄(設置)    chmod g-s  目錄(取消)

eg:/usr/bin/locate文件中用戶組許可權中應該出現x的位置顯示的s,表示這個locate命令具有sgid許可權,而普通用戶只有x許可權而沒有rw許可權

 (3)粘著位  =  1:在其他人的位置設置的(使用t來表示)

只能針對目錄而言,對文件來說無效!當用戶對目錄擁有wx許可權時,用戶在該目錄創建的文件或目錄,只有自己與root才可以刪除,設置了粘滯位t許可權的目錄其他用戶許可權位置的”x”將變為”t”

設置粘滯位許可權的方法:a.文件當前數字許可權前面加1。b.chmod o+t  目錄(設置)    chmod o-t 目錄(取消)

eg1:查看/tmp  /var/tmp目錄的許可權 

 

 eg2:設置粘滯位t許可權

a. 用root身份創建所屬者和所屬組都是root許可權為777(可讀可寫可執行)的/opt/tom目錄(其他用戶可以刪除目錄內容)

b. 在/opt/tom目錄下創建兩個文件,許可權默認,其他用戶可以刪除目錄內容

c. 切換到普通用戶,去刪除剛剛在root下新建的兩個文件ceshi1 和 ceshi2。發現可以刪除

 

    普通用戶對/opt/tom目錄下的文件可以刪除和重命名許可權,儘管文件的other用戶是r–,但/opt/tom目錄下的other用戶是rwx(普通用戶對/opt/tom目錄有可寫許可權,對該目錄下的文件可以進行增刪改操作)

d.回到root用戶下,給/opt/tom目錄加上粘滯位,查看發現other 的x許可權變為t,則添加成功,再在該目錄下新建文件test1和test2.sh

e.切換到普通用戶下,對文件test1和test2.進行刪除和重命名操作(結果不能刪除和重命名,即使目錄的許可權是777,說明粘滯位給其他用戶帶來安全限制)

 f. 證實文件所有者和root依舊可以刪除文件。用root對該文件進行刪除操作(可以刪除)

g. 驗證當文件對other用戶有可寫許可權的時候,粘滯位t許可權的保護作用(儘管文件t1,t2的許可權為777,但目錄設置了粘滯位t許可權,其他用戶還是不能進行刪除和重命名操作)

h.回到root用戶,刪除t1、t2文件

 i. 刪除粘滯位t許可權的設置

結論:
當一個目錄被設置為”粘滯位”的t許可權後,則該目錄下的文件只能由  
1. 超級管理員(root)刪除或移動/更名(rm或mv)  
2. 該目錄或文件的所有者刪除或移動/更名(rm或mv)

注意:
1. 雖然目錄有了粘滯位t許可權,other用戶不能對該目錄的文件進行刪除或者移動操作,但如若other對該文件由w許可權,還是可以進行修改文件內容
2. 粘滯位只對目錄有效,對文件無效