天天看點

關于Linux下s、t、i、a權限

檔案權限除了r、w、x外還有s、t、i、a權限:

s:檔案屬主群組設定SUID和GUID,檔案在被設定了s權限後将以root身份執行。在設定s權限時檔案屬主、屬組必須先設定相應的x權限,否則s權限并不能正真生效(c h m o d指令不進行必要的完整性檢查,即使不設定x權限就設定s權限,chmod也不會報錯,當我們ls -l時看到rwS,大寫S說明s權限未生效)。Linux修改密碼的passwd便是個設定了SUID的程式,普通使用者無讀寫/etc/shadow檔案的權限确可以修改自己的密碼。

ls -al /usr/bin/passwd -rwsr-xr-x 1 root root 32988 2008-12-08 17:17 /usr/bin/passwd

我們可以通過字元模式設定s權限:chmod a+s filename,也可以使用絕對模式進行設定:

設定s u i d:将相應的權限位之前的那一位設定為4; 設定g u i d:将相應的權限位之前的那一位設定為2; 兩者都置位:将相應的權限位之前的那一位設定為4+2=6。

如:chmod 4764 filename   //設定SUID

t :設定粘着位,一個檔案可讀寫的使用者并一定相讓他有删除此檔案的權限,如果檔案設定了t權限則隻用屬主和root有删除檔案的權限,通過chmod +t filename 來設定t權限。

i:不可修改權限  例:chattr u+i filename 則filename檔案就不可修改,無論任何人,如果需要修改需要先删除i權限,用chattr -i filename就可以了。檢視檔案是否設定了i權限用lsattr filename。

a:隻追權重限, 對于日志系統很好用,這個權限讓目标檔案隻能追加,不能删除,而且不能通過編輯器追加。可以使用chattr +a設定追權重限。

本文轉自 xxl714 51CTO部落格,原文連結:http://blog.51cto.com/dreamgirl1314/1567288,如需轉載請自行聯系原作者

繼續閱讀