中文資訊科技應用 | 首頁 | 前頁 | 交流 | 搜尋 | 地圖

中文教學 > 中文資訊科技應用 > CGI > 權限設定:chmod

權限設定:chmod

所有上載到伺服器中的程式,或新增的目錄,伺服器系統為安全起見,均先設定為不許公眾執行或修改,就像預設了一把鎖,不許別人啟用。因此,要讓公眾執行程式,以及讓公眾把他們所輸入的資料儲存在伺服器中,我們便得先開鎖,也就是開放程式及目錄的權限,讓公眾執行或修改。


有關 chmod 的 Unix 指令

指令 作用 示例
cd 進入 (change directory) 某一目錄/ 資料夾資料夾。  
ls 列出 (list) 目錄/ 資料夾內的檔案。 ls -l(注意:兩個 l 皆為小寫的 L)
chmod 改變 (change mode) 目錄/ 資料夾與檔案的屬性。  

例如:


權限 Permission 的概念

伺服器上的目錄和檔案有一種「權限」的屬性,界定了任何一個目錄或檔案能否為自己或公眾讀取 (read)、修改 (write)、執行 (execute)。可以把權限想像成一把鎖,它可以把一個程式檔案鎖起,或不許別人閱讀、或不許別人修改,或不許別人執行;又或不許其中兩種,甚或全皆不許。

輸入指令 「ls -l」(list long),便能看到這些屬性。

任何一個目錄或檔案,均由 10 個符號(除第一個位置外,其餘皆由 r、w、x 或 - 組成)紀錄權限屬性:

次序
1
2
3
4
5
6
7
8
9
10
對象
網主 (user)
群組 (group)
公眾 (others)
符號
d 或 -

r 或 -

w 或 -
x 或 -
r 或 -
w 或 -
x 或 -

r 或 -

w 或 -
x 或 -
意義
目錄?
可讀?
可改?
可執行?
可讀?
可改?
可執行?
可讀?
可改?
可執行?

10 個符號的第 2, 3, 4 個位置為第一組,表示網主 (u) 的 rwx 權限;第 5, 6, 7 個位置為另一組,表示群組 (g) 的 rwx 權限;第 8, 9, 10 個位置為最後一組,表示公眾 (o) 的 rwx 權限。

r, w, x 分別代表可以讀取 (read)、修改 (write)、執行 (execute),技術而言,「讀」的權限指「可否列出本目錄下的檔案名稱大小等相關資料」,「改」的權限指「可否在本目錄下建立/ 刪除檔案,以及更改本目錄下的檔名」,「執行」的權限指「可否更換工作目錄至本目錄底下」。符號「-」表該權限不開放(即鎖起來)。

以以上目錄的檔案 index.htm 為例,指令 ls -l 顯示了:

-rw-r--r-- 1 jwilam hkustaff 2194 Jan 7 17:21 index.html

即 index.html 的權限屬性為「-rw-r--r--」,表示了:

  1. 第一個位置的「-」符號,表示所顯示的是一檔案,而非目錄(目錄以 d 表示);
  2. 跟著的「rw-」表示這一檔案對網主 (jwilam) 而言是可讀、可改,但不可執行的;
  3. 跟著的「r--」表示對群組(同屬 hkustaff 的用戶)而言,是可讀、但不可改且不可執行的;
  4. 最後的「r--」表示對公眾而言也同樣是可讀、但不可改且不可執行的。

如果不是私密文件,通常開放 rw 給自己,並開放 r 給其他所有人。普通私密的文件只開放 rw 給自己。高度機密的文件還要用其他方式加密,以免系統管理員看到。有時候為避免檔案被自己不小心刪除,只開放 r 給自己。


更改權限屬性 change mode 的兩種方式之一:詳式

chmod 指令用以修改檔案或目錄的權限(即開鎖,或者鎖上)。chmod 有三項參數:

  1. 修改權限屬性的對象 (target):網主 (u)?群組 (g)?公眾 (o)?所有人 (a)?
  2. 修改成怎樣的權限屬性 (value):可讀 (r)?可改 (w)?可執行 (x)?
  3. 哪一目錄或檔案要修改權限屬性?

因此,chmod 的語法如下(注意,下表中首兩項目之間沒有空格隔開,第三項目前則空格隔開):

chmod (targets)(+/-value) (folder/ file)

例如,註明對象 (target) 與權限屬性 (value) 的方法:


更改權限屬性 change mode 的兩種方式之二:簡式

註明權限屬性 (value) 的數字法:

因此,chmod 的語法如下(注意,下表中首三項目之間沒有空格隔開,第四項目前則空格隔開):

chmod (第 1 位)(第 2 位)(第 3 位) (folder/ file)

第 1, 2, 3 位的所指如下:

權限
第 1 位
第 2 位
第 3 位
對象 (target)
網主 (u)
群組 (g)
公眾 (o)
屬性 (value)
只可讀 (r)
4
4
4
只可改 (w)
2
2
2
只可執行 (x)
1
1
1
可讀 (r) 及可執行 (x)
4+1=5
4+1=5
4+1=5
可讀 (r) 及可改 (w)
4+2=6
4+2=6
4+2=6
可讀 (r)、可改 (w) 並且可執行 (x)
4+2+1=7
4+2+1=7
4+2+1=7

例子如下:


參考

chmod Tutorial
http://catcode.com/teachmod/

chmod- change access permissions of a file
http://www.mkssoftware.com/docs/man1/chmod.1.asp