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

叫我Ghost就好了發表於2020-12-08

            粘滯位的瞭解及使用

一、許可權

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. 粘滯位只對目錄有效,對檔案無效

相關文章