在 Linux 中,文件/目录的权限主要通过 chmod、chown、chgrp 等命令来设置。下面用通俗 + 示例的方式给你讲清楚。
| 权限 | 含义 | 对文件 | 对目录 |
|---|---|---|---|
| r | 读 | 查看内容 | 列出目录 |
| w | 写 | 修改内容 | 新建/删除文件 |
| x | 执行 | 作为程序执行 | 进入目录 |
ls -l
示例:
-rwxr-xr-- 1 user group 1024 test.sh
含义:
- 普通文件rwx:所有者可读可写可执行r-x:组用户可读可执行r--:其他人只读| 数字 | 权限 |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r– |
| 0 | — |
格式:
chmod 权限 文件
示例:
chmod 755 test.sh
含义:
常见权限:
chmod 644 file.txt # 普通文件
chmod 755 script.sh # 可执行脚本
chmod 700 dir/ # 私有目录
chmod u+x file.sh # 给所有者加执行权限
chmod g-w file.txt # 去掉组写权限
chmod o+r file.txt # 给其他人加读权限
chmod a=rw file.txt # 所有人可读写
chown 用户 文件
示例:
chown user1 file.txt
chown user1:group1 file.txt
递归修改目录:
chown -R user1:group1 dir/
chgrp group1 file.txt
递归:
chgrp -R group1 dir/
示例:
chmod 700 dir/ # 只有你能进
chmod 777 dir/ # 所有人都能进、能删(危险)
| 权限 | 含义 |
|---|---|
| SUID | 执行时以文件所有者身份运行 |
| SGID | 新建文件继承目录组 |
| Sticky | 只有文件所有者能删除 |
示例:
chmod 4755 file # SUID
chmod 1777 /tmp # Sticky
| 场景 | 命令 |
|---|---|
| 脚本可执行 | chmod +x script.sh |
| 网站目录 | chmod -R 755 /var/www |
| 私有文件 | chmod 600 file |
| 共享目录 | chmod 775 dir |
如果你愿意,可以告诉我:
我可以给你最合适的具体命令 ✅