Linux(五) 權限管理命令與umask的用法

權限管理命令

我們先簡單的回憶下之前將的權限問題:

權限:所有者(u),所屬組(g),其他人(o)

操作權限:讀(r),寫(w),執行(x)

 

1.chmod 改變文件或目錄權限

注:只有文件所有者和root才能更改權限

語法:chmod [-選項][{ugoa}{+-=}{rwx}][文件或目錄]

 //這裏的a就是all就是所有人

或chmod [-選項][mode=421][文件或目錄]

選項:-R 遞歸修改(修改該目錄下所有目錄或文件的權限)

 

chmod [-選項][]mode=421][文件或目錄]是通過數字來表示權限

r:4 w:2 x:1 ----> rwx:7 rw-:6 r--:4 r-x:5 -wx:3 -w-:2 --x:1 ---:0

例如:chmod 640 suolong 就是將suolong目錄的權限屬性改成    drw-r-----

 

也可以用chmod o+w suolong來更改suolong目錄的權限,更改了其他人的權限,加入了寫權限

 

權限解讀:

   對於文件來說:r可以查看文件內容 cat/more/head/tail/less

                            w可以修改文件內容 vim

                            x可以執行文件 script  command

   對於目錄來說:r可以列出目錄中內容 ls

                            w可以在目錄中創建或刪除文件 touch/mkdir/rmdir /rm

                            x可以進入目錄 cd

注:對文件有w權限,並不不能對其刪除,只有當對該文件所在目錄擁有w權限才能對該文件進行刪除。另外r和x權限對於一個目錄來說基本是成對出現的

 

2.chown  change file ownership 改變文件或目錄的所有者

語法:chown [用戶][文件或目錄]

例:chown yanghong suolong 將suolong目錄的所有者權限改爲用戶yanghong

 

3.chgrp  change file group ownership 改變文件或目錄的所屬組

語法:chgrp [用戶組][文件或目錄]

例:chgrp yanghong suolong 將目錄suolong的所屬組改爲yanghong用戶組

 

4.umask  the user file-creation mask 顯示設置文件的缺省權限

語法:umask [-S][權限數]   

          -S以rwx權限形式顯示新建文件缺省權限

          不加-S是以數字形式顯示新建文件缺省權限

缺省權限即爲默認權限,在不設置的前提下,目錄和文件的缺省權限如下:

                       目錄:rwx r-x r-x

                       文件:rw- r-- r--

 

umask的具體用法:

(1)先來看下輸入umask -S 會返回什麼結果

  

Linux的文件或目錄默認權限在不做修改的情況下都是這個。現在我們分別創建一個文件或目錄,來看一看他們的權限。

輸入 mkdir  wanmeishijie 結果如下

 

我們看到該新建目錄的權限確實是rwxr-xr-x。接下來創建一個文件。

 

輸入 touch csgo 之後結果如下:

 

我們會看見新建文件的權限並不是rwxr-xr-x而變成了rw-r--r--。我們仔細觀察會發現,在文件的默認權限中所有權限人都沒有x這個權限,這是因爲在Linux中,文件的默認權限是不允許出現x的,即不能創建一個可執行文件。這是爲了保護我們的系統,以免受到病毒木馬的攻擊

 

(2)再來看下直接輸入umask會出現什麼

    

同樣Linux的文件或目錄默認權限在不做修改的情況下,輸入umask返回的都是0022。首先第一個0的意思是特殊權限,這個會在我後面的文章中詳細論述,現不做敘述。後面的022即爲ugo的權限。按之前的數字表示權限來說022代表的權限應該是 ----w--w-和之前說好的rwxr-xr-x完全不一樣。這是爲什麼?我們可以來列個式子看一下:

      777  rwx rwx rwx

      022  ---  -w- -w-

     ----------------------------

      755  rwx r-x r-x  目錄

           rw- r-- r--   文件

這樣我們可以發現022(即我們將在umask後輸入的數字)其實和我們全權限777成一個異或關係,即相同爲0不同爲1.而文件則在該條件下刪除x權限。 

 

那如果我們想把默認權限改爲700我們應該輸入umask數字幾呢?同樣我們可以列式:

  777  rwx rwx rwx                                                   

                                                   

---------------------------------      

  700  rwx - - - ---  目錄                                          

       rw- --- ---   文件                                                       

根據異或關係後我們可以推出:

   777  rwx rwx rwx

   077  ---  rwx rwx

 -----------------------------

   700  rwx - - - ---  目錄

           rw-  --- ---   文件

 

例如:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章