Linux下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設置追加權限。編輯器

相關文章
相關標籤/搜索