1. 程式人生 > >Linux 基礎——許可權管理命令chmod

Linux 基礎——許可權管理命令chmod

一、Linux中的檔案許可權與目錄許可權

  Linux中定義了3種訪問許可權,分別是r、w、x。其中r表示物件是可讀的,w表示物件是可寫的,x表示物件是可執行的,這3種許可權組成一組rwx分別對應物件的3個安全級別。這3個安全級別分別是物件的所屬者,物件的所屬組,系統其他使用者。比如圖1-1所示,檔案的許可權

                    

                            圖 1-1

二、理解許可權(rwx)的位權值

  rwx3種許可權中,每一個許可權代表一個二進位制位。其中r許可權二進位制表示為100,八進位制表示為4;w許可權二進位制表示為010,八進位制表示為2;r許可權二進位制表示為001,八進位制表示為1;無任何許可權表示為---,即二進位制表示為000,八進位制表示為0。所以擁有rwx許可權即可表示為4+2+1即7,rw-許可權表示為4+2+0即6,r-x許可權表示4+0+1即5,r--許可權即4,以此類推即可獲得許可權的位權值表示。

 

三、chmod命令的用法

  (1)chmod mode dest_file:改變指定檔案或目錄的許可權,其中mode引數可以使用八進位制模式或符號模式進行許可權設定。

   (2)chmod -R mode dest_file:-R選項可以讓許可權改變遞迴地作用到檔案和子目錄。

  下面來說說使用常用符號模式進行許可權設定,如下是在符號模式下指定許可權的格式:

  chmod [ugo][[+-w][rwx]] dest_file

  符號模式中第一組字元定義了許可權作用的物件:u代表所屬者,o代表所屬組,o代表系統其他使用者,

  第二組字元中(+)表示你是想在現有許可權基礎上增加許可權,(-)表示現有許可權基礎上移除許可權,(=)表示將許可權設定成後面的值,

  第三組字元中即是許可權rwx。如下所示

  chmod u+w dest_file:給目標檔案的所屬者增加w許可權。

  chmod u+wx,g+x,o+w dest_file:給目標檔案的所屬者增加w許可權,所屬組增加x許可權,系統其他使用者增加w許可權。

  chmod o-w dest_file:給目標檔案的其他使用者移除w許可權。

  chmod u=rwx dest_file:不管所屬者擁有什麼許可權,該符號模式給所屬者

四、效果演示

  首先,在temp目錄下建立222.txt檔案,對應的許可權如圖4-1所示

          

                        圖 4-1

   接下來,用符號模式給222.txt檔案的所屬者增加x許可權,所屬組增加w許可權,其他使用者增加x許可權,linux命令如下,執行後的效果如圖4-2所示

1 chmod u+x,g+w,o+x 222.txt

 

          

                        圖 4-2

  再者,用八進位制模式給a.txt檔案的所屬者移除w許可權,所屬組移除w許可權,增加x許可權,其他使用者移除x許可權,linu命令如下,執行後的效果如圖4-3所示

1 chmod 554 a.txt

 

          

                          圖 4-3