Linux 文件权限入门:rwx、chmod、chown 一次讲清

举报
yd_218239968 发表于 2026/11/05 09:29:42 2026/11/05
【摘要】 很多新手在服务器上都遇到过这种怪事:文件明明在那儿,程序却说打不开;脚本写好了,一跑就报 Permission denied。问题多半不在文件本身,而在权限——Linux 里每个文件都有“谁能对它做什么”的规定,没拿到许可,命令再对也白搭。先学会看权限。用 ls -l 看一眼文件,前面那一串就是权限信息:-rw-r--r-- 1 root root 1234 Oct 27 index.htm...

很多新手在服务器上都遇到过这种怪事:文件明明在那儿,程序却说打不开;脚本写好了,一跑就报 Permission denied。问题多半不在文件本身,而在权限——Linux 里每个文件都有“谁能对它做什么”的规定,没拿到许可,命令再对也白搭。

先学会看权限。用 ls -l 看一眼文件,前面那一串就是权限信息:

-rw-r--r-- 1 root root 1234 Oct 27 index.html

第一位是类型,- 是普通文件、d 是目录;后面 9 位分成三组,每组 3 位:第一组是文件所有者、第二组是所属用户组、第三组是其他所有人。每组里的 r 表示可读、w 表示可写、x 表示可执行,没有对应权限就用 - 占位。所以 rw-r--r-- 的意思是:所有者能读写,组里的人和其他人只能读。

目录的 x 有点特别:对文件来说 x 是“能执行”,对目录来说 x 是“能进入、能访问里面的文件”。所以一个目录光有 r 没有 x,你能看到里面有什么,却打不开里面的文件——新手排查“目录明明有读权限却进不去”,十有八九是缺了这个 x。

再说改权限的 chmod。两种写法,数字写法最常用:r 是 4、w 是 2、x 是 1,每组三个数相加。比如 755 就是所有者 7(4+2+1,能读写执行)、组和其他人 5(4+1,能读能执行),这是网站目录最常见的权限;644 是文件最常见的权限(所有者读写,其他人只读)。用法:

chmod 755 /home/user/mysite

chmod 644 /home/user/mysite/index.html

目录要连同里面的文件一起改,加 -R 递归,但递归改权限要小心,别对着系统目录乱用。字母写法更直观:u 是所有者、g 是组、o 是其他人,a 是全部,+ 是加上权限、- 是去掉权限。比如给脚本加上执行权限:

chmod +x /home/user/backup.sh

这正是昨天 Cron 那篇里给脚本加执行权限的那一步——没这一步,定时任务到点也跑不起来。

然后是改归属的 chown。文件归谁、归哪个组,决定了上面那三组权限到底落在谁头上。网站文件最常见的坑就是:用 root 上传的文件,网站程序跑在 www 用户下,没有写权限,上传图片、写缓存就失败。改归属:

chown www:www /home/user/mysite -R

前面是“用户:组”,后面是要改的文件或目录。改归属一般要 root 或 sudo 权限,普通用户改不了别人的文件。

最后说新手最大的坑:chmod 777。777 意思是所有人什么都能干,出了问题一改就通,所以很多人图省事一路 777 改过去。但这等于把门拆了:任何一个被攻破的程序、任何一个普通用户都能改你的网站文件,挂马、删库都是一句话的事。正确做法是:先看清文件到底归谁(ls -l),再把归属改对(chown),最后只给必要的权限(755 目录、644 文件),实在不行再临时放宽、事后收回来。

总结一下:权限入门就是记住三件事,看权限用 ls -l、改权限用 chmod、改归属用 chown。今天在服务器上找一个自己的目录,亲手敲一遍 ls -l、chmod 755、chown,理解了“谁、能干什么”这套规则,以后网站打不开、脚本跑不动,先看权限,排查就快一半。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。