Linux文件权限chmod chown详解

为什么必须搞懂 chmod 和 chown

很多刚接触 Linux 的朋友,在做网站、搭环境时经常遇到“Permission denied”报错。
这背后就是文件权限在起作用。
Linux 用一套简单的数字组合(比如 755、644)来控制谁可以读、写、执行文件。chmod 用来改这些数字,chown 用来修改文件的所有者。
今天这篇教程就带着你从零开始,把这个知识点彻底拿下。

准备工作:先确认你的环境

在操作之前,确保你已经有 Linux 服务器(云服务器、虚拟机或 WSL 都行),并且能用普通用户登录(比如通过 SSH)。

  • 查看当前用户:whoami
  • 查看文件当前权限:ls -l filename,第一列就是权限字符串,例如 -rw-r--r--

如果你用的是宝塔面板,也可以直接在“文件管理器”中右键文件查看属性,但核心操作还是通过命令行更可控

核心操作:chmod 修改文件权限

用数字法快速设置

Linux 权限用三位数字表示:所有者(Owner)所属组(Group)其他人(Others)
每个位置对应一个数字:r(读=4)、w(写=2)、x(执行=1),三者相加得到最终值。

常见组合:

  • 755:所有者可读写执行(4+2+1=7),组和他人可读和执行(4+1=5)
  • 644:所有者可读写(4+2=6),组和他人只读(4)
  • 777:所有人都有全部权限(危险,慎用)

实操命令

# 将 index.php 设置为 755
chmod 755 index.php

# 将整个网站目录(包含子目录)递归设为 755
chmod -R 755 /www/wwwroot/example

-R 表示递归,可以一次性修改目录下所有文件和子目录。

常见场景设置

  • 文件上传目录(比如 upload):需要可写入,通常设为 755750,不要轻易用 777。
  • PHP 等脚本文件644 即可,不需要执行权限;如果一定要执行则用 755
  • 配置文件(如 .env):600 只允许所有者读写,其他用户不可见。

核心操作:chown 修改文件所有者

有时我们需要把文件从 root 转给 www 用户(网站运行用户)。

命令格式chown [所有者]:[所属组] 文件路径

示例:

# 把 test.txt 的所有者改为 www,所属组也改为 www
chown www:www test.txt

# 递归修改整个目录的所有者和组
chown -R www:www /www/wwwroot/example

注意:修改所有者一般需要 sudo 权限(root),普通用户只能改自己拥有的文件。

避坑指南:新手最容易翻车的 3 个点

  1. 777 用太多:很多教程直接教 chmod 777,本地测试可以,线上千万别。777 意味着任何用户都能修改你的文件,极不安全。尽量用 755 或 644。
  2. 忘记递归:改目录权限时若不加 -R,只修改目录本身,里面的文件还是旧权限,造成程序依然报错。
  3. 用户写错:用 chown 时注意用户名拼写,例如 www 还是 www-data?先执行 id wwwcat /etc/passwd 确认用户存在。

验证效果:确保权限生效

修改完权限后,一定要验证。

# 查看文件权限和所有者
ls -l /www/wwwroot/example/index.php

输出示例:

-rwxr-xr-x 1 www www  1234 Apr  1 10:00 index.php

第一列表示权限(rwx 分别对应 4+2+1=7),第三列是所有者,第四列是所属组。

如果需要测试文件是否可写,可以用 touch 创建一个临时文件:

# 以当前用户身份尝试写入
touch test_write.txt
ls -l test_write.txt

如果报错说明权限不足,检查目录的写权限。

高频问题解答

Q:为什么 chmod 后还是 Permission denied?
A:可能原因:1) 父目录缺少执行权限(需要 x) 2) 文件被 SELinux 或 AppArmor 拦截(可用 ls -Z 查看上下文) 3) 使用了 sudo 但命令执行错误。

Q:我想给所有用户都能读,但只有特定用户能写,怎么设?
A:用 ACL(访问控制列表)实现更细粒度,基础用 chmod 655 实现所有人可读执行,所有者可写。

小结

掌握 chmodchown 是 Linux 运维的必修课。
记住数字权限对应关系,合理使用 -R 递归,避免滥用 777。
当你再次遇到权限报错时,先 ls -l 查看状态,再用 chownchmod 调整即可。

分享到:
上一篇
Rocky Linux替代CentOS迁移方案
下一篇
零基础也能学会的Linux磁盘分区挂载扩容教程
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意