| 字母 | 數值 | 文件含義 | 目錄含義 |
| r | 4 | 可讀取內容 | 可列出文件名 |
| w | 2 | 可修改內容 | 可建立/刪除文件 |
| x | 1 | 可執行 | 可進入目錄 |
ls -l 輸出解讀
-rw-r--r-- 1 itcast users 2254 May 20 13:47 tt.htm
││││││││││
│││││││└─ 其他人:r--
││││││└─ 所屬組:r--
│││││└─ 擁有者:rw-
│││└─ 硬鏈接數
││└─ 擁有者
└─ 所屬組
文件類型:- 普通文件、d 目錄、l 符號鏈接、b/c 區塊/字符設備
chmod 修改權限
符號模式
chmod u+x script.sh # 擁有者加執行權
chmod g-w,o-r file.txt # 組減寫、其他減讀
chmod a=rw file.txt # 所有人設為讀寫
chmod -R u+rwX dir/ # 遞歸:目錄加 x,文件不加 x
數字模式(八進制)
chmod 755 script.sh # rwxr-xr-x (7=4+2+1, 5=4+1)
chmod 644 file.txt # rw-r--r--
chmod 700 private/ # rwx------
chmod 4755 /usr/bin/sudo # 設 SUID (4+755)
特殊權限位
| 位 | 數值 | 符號 | 文件效果 | 目錄效果 |
| SUID | 4 | s (擁有者 x 位) | 執行時以文件擁有者權限運行 | 無 |
| SGID | 2 | s (組 x 位) | 執行時以文件所屬組權限運行 | 新建文件繼承目錄所屬組 |
| Sticky | 1 | t (其他 x 位) | 無 | 僅擁有者/root 可刪除文件 |
範例
# 查看 ACL
getfacl file.txt
# 給用戶 alice 讀寫權
setfacl -m u:alice:rw file.txt
# 給組 dev 讀寫權
setfacl -m g:dev:rw file.txt
# 設定默認 ACL(目錄遞歸繼承)
setfacl -d -m u:alice:rw /proj
# 移除 ACL
setfacl -x u:alice file.txt
setfacl -b file.txt # 清除所有 ACL
umask 預設權限遮罩
- 文件預設 666,目錄預設 777
- 實際權限 = 預設 - umask
- 常見
umask 022 → 文件 644、目錄 755
- 臨時修改:
umask 077(私密模式)
- 永久修改:寫入
/etc/profile 或 ~/.bashrc
擁有者/組變更
- 上一篇文章: Linux 用戶與組管理完整指南
- 下一篇文章: Java 連接 Oracle 與 MySQL 數據庫核心代碼範本
Copyright ©
程式碼之家 All Rights Reserved