Unix/許可權快速入門
在您的主目錄中,鍵入
% ls -l
您將看到您現在獲得了有關目錄內容的大量詳細資訊。

每個檔案(和目錄)都有訪問許可權,可以透過鍵入 ls -l 來顯示。此外,ls -lg 提供有關哪個組擁有該檔案(以下示例中的 istrain)的更多資訊
-rwxrw-r-- 1 ccaajim istrain 3210 Aug15 14:25 train.doc
在左側列中是一個包含 10 個符號的字串,由符號 d, r, w, x, - 組成,偶爾也會有 s 或 S。目前對您來說重要的符號是 r 代表讀,w 代表寫,x 代表執行。如果存在 d,它將位於字串的左側,表示目錄:否則字串將以 - 開頭。
剩餘的 9 個符號表示許可權,或訪問許可權,並被分成三組,每組三個。
最左邊的 3 個符號表示檔案所有者(上述示例中的 ccaajim)的許可權。最右邊的三個符號表示所有其他使用者(在 Unix 中稱為 world)的許可權。中間三列是授予使用者所屬組的許可權。
符號 r、w 等的含義略有不同,具體取決於它們是指普通檔案還是目錄。
- r(或 -),表示讀許可權(或沒有許可權),即存在或不存在讀取和複製檔案的許可權
- w(或 -),表示寫許可權(或沒有許可權),即存在或不存在修改檔案的許可權
- x(或 -),表示執行許可權(或沒有許可權),即存在或不存在執行檔案的許可權(在適當的情況下)
- r 允許使用者列出目錄中的檔案;
- w 表示使用者可以從目錄中刪除檔案或將檔案移動到目錄中;
- x 表示訪問目錄中檔案的許可權。這意味著您可以讀取目錄中的檔案,前提是您對單個檔案具有讀許可權。
因此,為了讀取檔案,您必須對包含該檔案的目錄具有執行許可權,因此對包含該目錄作為子目錄的任何目錄具有執行許可權,依此類推,一直向上到樹根。
| 許可權字串 | 效果 |
|---|---|
| -rwxrwxrwx | 每個人都可以讀取、寫入和執行(以及刪除)的檔案 |
| -rw------- | 只有所有者可以讀取和寫入的檔案 - 其他人無法讀取或寫入,並且沒有人擁有執行許可權(例如您的郵箱檔案) |
粘滯位 由 "t" 標誌表示:它表示檔案或目錄只能由其所有者(或 root)刪除。
setuid 位由 "s" 標誌表示:它表示檔案應以其所有者的使用者 ID 執行。
只有檔案的所有者可以使用 chmod 來更改檔案的許可權。chmod 的選項如下
| 符號 | 含義 |
|---|---|
| u | 使用者 |
| g | 組 |
| o | 其他 |
| a | 全部(即 u 和 g 和 o) |
| r | 讀 |
| w | 寫(和刪除) |
| x | 執行(和訪問目錄) |
| + | 新增許可權 |
| - | 撤銷許可權 |
例如,要刪除檔案 allcolours 的組和其他人對它的讀、寫和執行許可權,請輸入
% chmod go-rwx allcolours
這將保留其他許可權不變。
要授予檔案 allcolours 的所有使用者讀寫許可權,請輸入
% chmod a+rw allcolours
除了上面概述的語法之外,您還可以使用 chmod 和一個數字引數,該引數代表使用者和預期的許可權。一個常見的例子是
% chmod 755 myscript.sh
此示例等效於 chmod u=wrx,g=rx,o=rx
它是如何工作的?嗯,讓我們將數字稱為三元組,以提醒我們它是一個三位數字的字串。每個數字代表 u、g 和 o 之一的許可權。我們像這樣為每個可能的許可權賦予一個數值
| 數字 | 含義 |
|---|---|
| 1 | 執行 |
| 2 | 寫 |
| 4 | 讀 |
| 0 | 清除許可權 |
在我們上面的示例中,數字字串是 755。這隻能透過一種方式加起來(可以這麼說)。
| 位置 | 值 | 組合 |
|---|---|---|
| u | 7 | 4 + 2 + 1 |
| g | 5 | 4 + 0 + 1 |
| o | 5 | 4 + 0 + 1 |
這意味著 chmod 755 filename 表示檔案所有者可以讀、寫和執行,組和其他使用者可以讀和執行。
此命令可以獲取或設定建立檔案的預設許可權。
