chmod 644 file.txt所有者可读写,其他人只读。
约 900 字大约 3 分钟
2026-05-14
chmod 用来修改文件权限,chown 用来修改文件所有者和所属组。权限问题是 Linux 新手最容易踩坑的地方,理解读、写、执行和用户/组/其他人三组权限非常关键。
`chmod` 用来修改文件权限,`chown` 用来修改文件所有者和所属组。权限问题是 Linux 新手最容易踩坑的地方,理解读、写、执行和用户/组/其他人三组权限非常关键。
chmod 644 file.txt所有者可读写,其他人只读。
chmod 755 script.sh所有者可读写执行,其他人可读执行。
chmod +x script.sh让脚本可以直接运行。
sudo chown user:group file把文件所有者和组改为指定用户/组。
ls -l file.txt示例输出:
-rw-r--r-- 1 shuo staff 123 May 14 file.txt第一段 -rw-r--r-- 可以分成四部分:
| 部分 | 含义 |
|---|---|
- | 文件类型,d 表示目录,l 表示链接 |
rw- | 所有者权限 |
r-- | 所属组权限 |
r-- | 其他人权限 |
| 权限 | 数字 | 含义 |
|---|---|---|
r | 4 | 读 |
w | 2 | 写 |
x | 1 | 执行 / 进入目录 |
常见组合:
| 数字 | 含义 |
|---|---|
644 | 普通文本文件常用 |
755 | 可执行脚本或目录常用 |
600 | 私钥等敏感文件常用 |
700 | 只有所有者可访问 |
chmod 644 file.txt
chmod 755 script.sh
chmod +x script.sh
chmod -R 755 dir/递归 -R 要谨慎,不要随手对整个系统目录使用。
sudo chown shuo file.txt
sudo chown shuo:staff file.txt
sudo chown -R www-data:www-data /var/www/appPermission denied排查顺序:
whoamils -l 文件ls -ld 目录sudo遇到 Permission denied,不要只想着 chmod 777。先按顺序看:
whoami。ls -l file。ls -ld /path /path/to /path/to/dir。777 意味着任何用户都能读、写、执行。它也许能让报错暂时消失,但会把真正的问题藏起来,并留下安全隐患。更好的做法是给正确的用户或用户组授予必要权限。
| 目标 | 更合理的做法 |
|---|---|
| 让 Web 服务读文件 | chown -R www-data:www-data path 或调整组权限 |
| 让脚本可执行 | chmod +x script.sh |
| 让团队共享目录 | 使用用户组和 chmod 2775 dir |
权限是最小够用原则:能只读就不要给写,能给单个目录就不要给整个系统。
版权归属:Shuo Liu