Ubuntu系統644、755、777等常見許可權的區別

語言: CN / TW / HK

檔案許可權

在 Ubuntu系統 (其它 Linux 系統也一樣) 中,檔案或目錄的許可權可以分為 3 種:

r:4 讀

w:2 寫

x:1  執行(執行)

-:對應數值0

數字 4 、2 和 1表示讀、寫、執行許可權。

rwx = 4 + 2 + 1 = 7 (可讀寫執行)

rw = 4 + 2 = 6 (可讀寫不可執行)

rx = 4 +1 = 5 (可讀可執行不可寫)

通過4、2、1的組合,得到以下幾種八進位制的許可權:

0 (沒有許可權 );

4 (讀取許可權);

5 ( 4+1 | 讀取+執行);

6 (4+2 | 讀取+寫入);

7 (4+2+1 | 讀取+寫入+執行) 。

常用的檔案許可權

444: r–r–r–

600: rw——-

644 :(4+2) (4) (4) rw-r--r--

666 rw-rw-rw-

700: rwx——

744 rwxr–r–

755 : (4+2+1) (4+1)  (4+1) rwxr-xr-x

777: (4+2+1) (4+2+1)  (4+2+1) rwxrwxrwx

從左至右,1-3位數字代表 檔案所有者的許可權 ,4-6位數字代表 同組使用者的許可權 ,7-9 數字代表 其他使用者的許可權

改變檔案許可權

Linux chmod(英文全拼:change mode)命令是控制使用者對檔案的許可權的命令。

語法

chmod [-cfvR] [--help] [--version] mode file...

引數說明

mode : 許可權設定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

  • u 表示該檔案的擁有者, g 表示與該檔案的擁有者屬於同一個群體(group)者, o 表示其他以外的人, a 表示這三者皆是。
  • + 表示增加許可權、 - 表示取消許可權、 = 表示唯一設定許可權。
  • r 表示可讀取, w 表示可寫入, x 表示可執行, X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。

其他引數說明:

  • -c : 若該檔案許可權確實已經更改,才顯示其更改動作
  • -f : 若該檔案許可權無法被更改也不要顯示錯誤訊息
  • -v : 顯示許可權變更的詳細資料
  • -R : 對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞迴的方式逐個變更)
  • –help : 顯示輔助說明
  • –version : 顯示版本

例項

將檔案 file1.txt 設為所有人皆可讀取 :

chmod ugo+r file1.txt

將檔案 file1.txt 設為所有人皆可讀取 :

chmod a+r file1.txt

將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :

chmod ug+w,o-w file1.txt file2.txt

為 ex1.py 檔案擁有者增加可執行許可權:

chmod u+x ex1.py

將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :

chmod -R a+r *

此外chmod也可以用數字來表示許可權如 :

chmod 777 file