一、Linux中的文件許可權與目錄許可權 Linux中定義了3種訪問許可權,分別是r、w、x。其中r表示對象是可讀的,w表示對象是可寫的,x表示對象是可執行的,這3種許可權組成一組rwx分別對應對象的3個安全級別。這3個安全級別分別是對象的所屬者,對象的所屬組,系統其他用戶。比如圖1-1所示,文件的許可權 圖 ...
一、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腳本中都採用八進位模式進行許可權的賦予。