分类: LINUX
2005-12-20 21:49:20
1 umask:
默认情况下
普通文件属性为666
目录为属性为777
有的人喜欢用减法 , 把(默认属性 - umask) 作为创建的新文件的属性
这样是错误的
比如:
[root@host]#umask 003
[root@host]#touch test
test这个普通文件的属性按照上面的这种减法的话,666-003 = 663
那么test属性为 -rw-rw-wx
可是test文件原本就只有rw属性,怎么会多出x属性来呢
所以对于 umask 千万不能用减法,正确的理解是去掉某个属性:
-rw-rw-rw- 去掉 003 也就是去掉other用户的 wx属性,所以test文件的属性为:
-rw-rw-r--
2.安全相关的文件属性 chattr (設定檔案隱藏屬性)
chattr [+-=][ASacdistu] 檔案或目錄名稱
參數:
A :當設定了 A 這個屬性時,這個檔案(或目錄)的存取時間 atime (access) 將不可被修改
S :這個功能有點類似 sync 的功能!就是會將資料同步寫入磁碟當中!可以有效的避免資料流失!
a :當設定 a 之後,這個檔案將只能增加資料,而不能刪除,只有 root 才能設定這個屬性。
c :這個屬性設定之後,將會自動的將此檔案『壓縮』,在讀取的時候將會自動解壓縮,
但是在儲存的時候,將會先進行壓縮後再儲存(看來對於大檔案似乎蠻有用的!)
d :當dump(備份)程序被執行的時候,設定 d 屬性將可使該檔案(或目錄)具有dump功效!
i :可以讓一個檔案『不能被刪除、改名、設定連結也無法寫入或新增資料!』對於系統安全性有相當大的助益!
j :當使用 ext3 這個檔案系統格式時,設定 j 屬性將會使檔案在寫入時先記錄在
journal 中!但是當 filesystem 設定參數為 data=journalled 時,由於已經設定了
日誌了,所以這個屬性無效!
s :當檔案設定了 s 參數時,他將會被完全的移除出這個硬碟空間。
u :與 s 相反的,當使用 u 來設定檔案時,則資料內容其實還存在磁碟中,
可以使用來 undeletion.
[root@linux tmp]# chattr +i attrtest
# 連 root 也沒有辦法將這個檔案刪除 可以解除設定后再删除!
[root@linux tmp]# chattr -i attrtest
lsattr 显示文件的隐藏属性
3 SUID/SGID/SBIT 權限設定
4 為 SUID
2 為 SGID
1 為 Sticky bit
注意:SUID - s , SGID - s , SBIT - t
但是有时我们看到的是 S, T 它代等于『空的』
# SUID 是表示『該檔案在執行的時候,具有檔案擁有者的權限』,但是檔案
# 擁有者都無法執行了,哪裡來的權限給其他人使用?當然就是空的啦!
而 sbit 只对目录有效 对文件无效 所以当给文件设置了sbit的时候 显示的就是T 而不是 t ,SBit 對於目錄的作用是:『在具有 SBit 的目錄下,使用者若在該目錄下具有 w 及 x 的權限 則當使用者在該目錄下建立檔案或目錄時,只有檔案擁有者與 root 才有權力删除