Linux系統在創建文件和目錄時,默認的權限設置是不同的:
①文件默認權限:文件默認權限為rw-rw-rw,即666
②目錄默認權限:目錄默認權限為rwx-rwx-rwx,即777
【2.umask】
umask 就是指定“目前使用者在建立文件或目錄時的默認權限”。umask命令的用法如下:





從上面的執行結果我們可以看出默認的權限是文件所有者的權限為rwx,而用戶組和其它用戶只有rx權限,沒有w權限。那么上面的0022是什么意思呢?
請參考下面一段話:http://linux.vbird.org/linux_basic/0220filemanager.php#fileperm
umask 的分數指的是『該預設值需要減掉的權限!』因為 r、w、x 分別是 4、2、1 分,所以囉!也就是說,當要拿掉能寫的權限,就是輸入 2 分,而如果要拿掉能讀的權限,也就是 4 分,那麼要拿掉讀與寫的權限,也就是 6 分,而要拿掉執行與寫入的權限,也就是 3 分,這樣瞭解嗎?請問你, 5 分是什麼?呵呵! 就是讀與執行的權限啦!
如果以上面的例子來說明的話,因為 umask 為 022 ,所以 user 並沒有被拿掉任何權限,不過 group 與 others 的權限被拿掉了 2 (也就是 w 這個權限),那麼當使用者:
建立檔案時:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
建立目錄時:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
上面的例子生動的表明了在默認權限的基礎上“減去”指定權限(umask中的數字022),最終的權限是什么。因為默認的文件,目錄的權限都是固定的,所以不同的umask設置會導致當用戶創建文件,目錄后出現不同的訪問權限。
如果需要組內協同合作,那么我們就必須讓umask命令不要“減去”組內成員的w權限,就是必須設置為002權限。
【3.設置隱藏屬性】
Linux中除了我們看到的9個可見屬性(rwx,rwx,rwx)之外,還有一些屬性是隱藏的,這些屬性通常和系統的安全相關,例如文件為只讀,壓縮文件等。那么如何設置這些隱藏屬性呢?通過普通的chmod是做不到的啦,所以我們使用chattr命令來設置默認屬性。
chattr命令最常使用的屬性是a和i,其中a屬性表示文件的內容只能增加,不能修改或刪除。這一點對于一些系統日志文件相當有用(試想登陸日志文件怎能修改或刪除呢?),而i屬性則使到該文件為只讀文件。此時即使是文件擁有者具有w也不能修改或刪除該文件,這一點對于系統關鍵文件相當重要。
注意a屬性和i屬性,a是針對文件的內容,而i屬性是針對文件本身。
例子1:為文件增加屬性a

其中+表示增加,如果是-則表示去除,=則表示賦予。這3個操作符的含義和chmod命令的+-=操作符命令相同。
我們發現當加上a隱藏屬性后,即便是文件創建者和擁有人root,也不能修改,刪除文件的原有內容了,只能增加。
例子2:為文件增加屬性i



一旦加上i屬性,則即便是文件的創建者,甚至是root用戶,都無法刪除,那么使用強制刪除呢?
例子3:強制刪除帶有只讀屬性的文件


即便我們使用了強制刪除參數-f,也無法刪除該文件。所以-i屬性對于重要的系統文件非常有用,可以保護我們誤刪除。
【4.查看隱藏屬性】
既然可以設置隱藏屬性,那么同樣也可以查看我們設置的那些隱藏屬性。對應的命令就是lsattr


【5.查看文件屬性】
file命令查看文件內容的類型,是文本類型ASCII,是二進制文件binary file等。


-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。