常用許可權
linux系統內有檔案有三種身份 u:擁有者 g:群組 o:其他人
這些身份對於文檔常用的有下面許可權:
r:讀許可權, 使用者可以讀取文檔的內容, 如用cat, more查看
w:寫許可權, 用戶可以編輯文檔
x:該目錄具有可以被系統執行的許可權
其他許可權
除了讀寫執行許可權外系統還支援強制位元(s許可權)和粘滯位(t許可權)
s許可權
s許可權: 設置使檔在執行階段具有檔所有者的許可權, 相當於臨時擁有檔所有者的身份. 典型的檔是passwd. 如果一般用戶執行該檔, 則在執行過程中, 該檔可以獲得root許可權, 從而可以更改使用者的密碼.
我們可以通過字元模式設置s許可權:chmod a+s filename, 也可以使用絕對模式進行設置:
設置s u i d:將相應的許可權位之前的那一位設置為4;
設置g u i d:將相應的許可權位之前的那一位設置為2;
兩者都置位:將相應的許可權位之前的那一位設置為4+2=6。
注意:在設置s許可權時檔屬主、屬組必須先設置相應的x許可權, 否則s許可權並不能正真生效(c h m o d命令不進行必要的完整性檢查, 即使不設置x許可權就設置s許可權, chmod也不會報錯, 當我們ls -l時看到rwS, 大寫S說明s許可權未生效)
t許可權
t許可權:要刪除一個文檔, 您不一定要有這個文檔的寫許可權, 但您一定要有這個文檔的上級目錄的寫許可權。 也就是說, 您即使沒有一個文檔的寫許可權, 但您有這個文檔的上級目錄的寫許可權, 您 也能夠把這個文檔給刪除, 而假如沒有一個目錄的寫許可權, 也就不能在這個目錄下創建文檔。
怎樣才能使一個目錄既能夠讓任何使用者寫入文檔, 又不讓使用者刪除這個目錄下他人的文檔, t許可權就是能起到這個作用。
在一個目錄上設了t許可權位後, (如/home, 許可權為1777)任何的使用者都能夠在這個目錄下創建文檔, 但只能刪除自己創建的文檔(root除外), 這就對任何使用者能寫的目錄下的使用者文檔 啟到了保護的作用。
可以通過chmod +t filename 來設置t許可權