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