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

Linux 基礎——權限管理命令chmod

chm 增加 二進制表示 mil 模式 設置 nbsp 圖片 style

一、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:不管所屬者擁有什麽權限,該符號模式給所屬者賦予rwx權限。

四、效果演示

  首先,在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

  再者,用八進制模式給222.txt文件的所屬者移除w權限,所屬組移除w權限,增加x權限,其他用戶移除x權限,linu命令如下,執行後的效果如圖4-3所示

  

1 chmod 554 222.txt

          技術分享圖片

                        圖 4-3

  

  我個人覺得符號模式與八進制模式都挺好用的,符號模式更接近自然語言的表述,八進制模式也挺不錯。不過基本上都使用八進制模式,因為在linux的bash腳本中都采用八進制模式進行權限的賦予。

  

Linux 基礎——權限管理命令chmod