posts - 262,  comments - 221,  trackbacks - 0
          【1.默認權限】
          Linux系統在創建文件和目錄時,默認的權限設置是不同的:
           ①文件默認權限:文件默認權限為rw-rw-rw,即666
           ②目錄默認權限:目錄默認權限為rwx-rwx-rwx,即777

          【2.umask】
          umask 就是指定“目前使用者在建立文件或目錄時的默認權限”。umask命令的用法如下:
          [root@localhost ~]# umask
          0022
          [root@localhost ~]# umask -S
          u
          =rwx,g=rx,o=rx
          [root@localhost ~]#

          從上面的執行結果我們可以看出默認的權限是文件所有者的權限為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
          [root@localhost paul]# chattr +a attrtest

          其中+表示增加,如果是-則表示去除,=則表示賦予。這3個操作符的含義和chmod命令的+-=操作符命令相同。

          我們發現當加上a隱藏屬性后,即便是文件創建者和擁有人root,也不能修改,刪除文件的原有內容了,只能增加。

          例子2:為文件增加屬性i
          [root@localhost paul]# rm attrtest
          rm:是否刪除有寫保護的一般文件‘attrtest’? y
          rm: 無法刪除‘attrtest’: 不允許的操作

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

          例子3:強制刪除帶有只讀屬性的文件
          [root@localhost paul]# rm -f attrtest
          rm: 無法刪除‘attrtest’: 不允許的操作

          即便我們使用了強制刪除參數-f,也無法刪除該文件。所以-i屬性對于重要的系統文件非常有用,可以保護我們誤刪除。

          【4.查看隱藏屬性】


          既然可以設置隱藏屬性,那么同樣也可以查看我們設置的那些隱藏屬性。對應的命令就是lsattr 
          [root@localhost paul]# lsattr attrtest
          ----i-------- attrtest

          【5.查看文件屬性】
          file命令查看文件內容的類型,是文本類型ASCII,是二進制文件binary file等。
          [root@localhost paul]# file attrtest
          attrtest: ASCII text


          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-12-20 22:57 Paul Lin 閱讀(2032) 評論(0)  編輯  收藏 所屬分類: Unix / Linux
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天祝| 钟祥市| 林州市| 大洼县| 亳州市| 垣曲县| 禹州市| 岗巴县| 新沂市| 西宁市| 合江县| 环江| 罗定市| 儋州市| 河北区| 朝阳县| 辽中县| 龙南县| 鄄城县| 威信县| 额济纳旗| 镇雄县| 北辰区| 新源县| 白水县| 和平县| 景德镇市| 武陟县| 安多县| 澄迈县| 镇宁| 德昌县| 抚远县| 绥滨县| 东乡族自治县| 阳江市| 鲁甸县| 金阳县| 中卫市| 保靖县| 绥德县|