Linux系統(tǒng)在創(chuàng)建文件和目錄時(shí),默認(rèn)的權(quán)限設(shè)置是不同的:
①文件默認(rèn)權(quán)限:文件默認(rèn)權(quán)限為rw-rw-rw,即666
②目錄默認(rèn)權(quán)限:目錄默認(rèn)權(quán)限為rwx-rwx-rwx,即777
【2.umask】
umask 就是指定“目前使用者在建立文件或目錄時(shí)的默認(rèn)權(quán)限”。umask命令的用法如下:





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

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



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


即便我們使用了強(qiáng)制刪除參數(shù)-f,也無法刪除該文件。所以-i屬性對(duì)于重要的系統(tǒng)文件非常有用,可以保護(hù)我們誤刪除。
【4.查看隱藏屬性】
既然可以設(shè)置隱藏屬性,那么同樣也可以查看我們?cè)O(shè)置的那些隱藏屬性。對(duì)應(yīng)的命令就是lsattr


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


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