在 Linux 作業系統中,chmod 用來設定使用者對檔案或目錄的權限,這個指令的名稱是由 change、mode 這兩個單字的字首組合而成。只有檔案的擁有者和超級使用者(root)可以設定檔案或目錄的權限。
指令語法
chmod [-cfvR] [--help] [--version] mode path/to/file...
相關參數
-c 顯示變更的訊息
-f 忽略錯誤訊息
-v 顯示詳細處理訊息
-R 處理包含指定目錄及其子目錄下的所有檔案
--help 顯示輔助說明
--version 顯示版本
mode 設定權限之字串
權限格式(一) - 八進位語法
此命令可使用八進位數來指定權限。第一個數字是給予擁有者的權限,第二個數字是給予群組的權限,第三個數字是給予公開的權限。
# | 權限 | rwx | 二進位 |
---|---|---|---|
7 | 讀 + 寫 + 執行 | rwx | 111 |
6 | 讀 + 寫 | rw- | 110 |
5 | 讀 + 執行 | r-x | 101 |
4 | 唯讀 | r-- | 100 |
3 | 寫 + 執行 | -wx | 011 |
2 | 唯寫 | -w- | 010 |
1 | 只執行 | --x | 001 |
0 | 無 | --- | 000 |
舉例來說,740 的意思是擁有者能讀 + 寫 + 執行,群組僅唯讀,最後是沒有給予公開權限,範例指令:
sudo chmod 740 path/to/file...
權限格式(二) - 符號模式
符號 | 使用者類型 | 說明 |
---|---|---|
u | user | 擁有者 |
g | group | 群組 |
o | others | 公開 |
a | all | 所有使用者 |
運算子 | 說明 |
---|---|
+ | 為指定的使用者類型增加權限 |
- | 使指定的使用者類型去除權限 |
= | 設定指定使用者的權限,即重新設定指定使用者類型的權限 |
模式 | 名字 | 說明 |
---|---|---|
r | 讀 | 可讀權限 |
w | 寫 | 可寫權限 |
x | 執行 | 可執行權限 |
X | 特殊執行 | 只有當檔案為目錄檔案,或者其他類型的使用者有可執行權限時,才將檔案權限設定可執行 |
s | setuid/gid | 當檔案被執行時,根據使用者參數指定的使用者類型設定檔案的 setuid 或者 setgid 權限 |
t | 黏滯位 | 設定黏滯位(Sticky bit),只有超級使用者(root)可以設定該位,只有檔案擁有者(u)可以使用該位,即只有目錄內檔案的擁有者或超級使用者才可以刪除或移動該檔案。 |
舉例來說,ug+rwx 的意思是給予擁有者和群組讀、寫跟執行的權限,範例指令:
sudo chmod ug+rwx path/to/file...
若要對整個目錄及其子目錄的檔案下指令更改權限,可參考以下指令:
sudo chmod -R ug+rwx folder
▲ 精選圖片。
贊助廣告 ‧ Sponsor advertisements
留言區 / Comments
萌芽論壇