在 Linux 中,修改文件或目录权限主要使用 chmod 命令。下面从常见用法到进阶用法系统说明。
ls -l 文件名
示例:
-rw-r--r-- 1 user group 1024 test.txt
含义:
rw-:所有者可读写r--:组用户只读r--:其他用户只读chmod 修改权限chmod [对象][+|-|=][权限] 文件
chmod u+x test.sh # 给所有者增加执行权限
chmod g-w test.txt # 去掉组用户的写权限
chmod o=r test.txt # 其他人只读
chmod a+x script.sh # 给所有人增加执行权限
| 数字 | 含义 |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r– |
| 0 | — |
chmod 755 script.sh
含义:
常用组合:
chmod 644 file.txt # 普通文件
chmod 755 script.sh # 可执行脚本
chmod 700 private/ # 私有目录
chmod 755 dir/
chmod 700 secret/
chmod -R 755 dir/
⚠️ 注意:递归修改要谨慎,避免破坏系统权限。
sudo chown user:group 文件
示例:
sudo chown www:www index.html
sudo chown -R www:www /var/www/html
| 权限 | 含义 |
|---|---|
| SUID | 执行时以文件所有者身份运行 |
| SGID | 新建文件继承目录组 |
| Sticky | 仅文件所有者可删除 |
示例:
chmod u+s program
chmod g+s dir/
chmod +t /tmp
✅ 推荐做法:
644755700❌ 不推荐:
chmod 777 file # 所有人可读写执行,不安全
如果你愿意,可以告诉我:
我可以给你更精确的命令 ✅