ls -l 權限欄位解讀
-rw-r--r-- 1 user group 1024 Jan 1 10:00 file.txt
│││││││││
│││││││└─ 其他人權限:r--
││││││└──── 群組權限:r--
│││││└────── 擁有者權限:rw-
││││└─────── 檔案類型:- (一般檔), d (目錄), l (連結) ...
- 首字元
d 表示目錄,- 一般檔,l 符號連結。
- 隱藏檔以
. 開頭(ls -a 可見)。
權限數字代碼(八進位)
| 權限 | 二進位 | 數值 |
| r (讀) | 100 | 4 |
| w (寫) | 010 | 2 |
| x (執行/進入) | 001 | 1 |
例:-rw-r--r-- → 擁有者 4+2=6,群組 4,其他 4 → 644。
chmod 兩種模式
數字模式
chmod 644 file.txt # 擁有者 rw-, 群組 r--, 其他 r--
chmod 755 script.sh # 擁有者 rwx, 群組 r-x, 其他 r-x
符號模式
chmod u+x file # 擁有者加執行權
chmod g-w file # 群組減寫入權
chmod o=r file # 其他人設為唯讀
chmod a+rX dir # 所有人加讀權,目錄加執行權 (X 只對目錄/已有執行權的檔生效)
u=user(擁有者)、g=group、o=others、a=all。
+增加、-移除、=精確設定。
所有權變更
chown user:group file # 同時改擁有者與群組
chown user file # 僅改擁有者
chgrp group file # 僅改群組
chown -R user:group dir # 遞迴修改目錄樹
實用技巧
chmod 600 ~/.ssh/id_rsa:SSH 私鑰僅擁有者可讀寫。
find /var/www -type f -exec chmod 644 {} \;:批量修正檔案權限。
find /var/www -type d -exec chmod 755 {} \;:批量修正目錄權限。