Linux 入门:读懂文件权限,chmod 一次讲透

举报
yd_267090071 发表于 2026/10/22 22:00:36 2026/10/22
【摘要】 刚接触 Linux 的朋友,十有八九都在 Permission denied 上栽过跟头:脚本明明写对了,一运行就报错;文件想改却改不动;网上搜到“解决方案”让你 chmod 777,用了之后好像能跑了,却埋下安全隐患。这篇文章把 Linux 文件权限讲透:看懂 ls -l,会用数字表示法,知道什么时候该用什么权限。 一、先看懂 ls -l 在说什么在终端执行 ls -l,每一行长这样:-r...

刚接触 Linux 的朋友,十有八九都在 Permission denied 上栽过跟头:脚本明明写对了,一运行就报错;文件想改却改不动;网上搜到“解决方案”让你 chmod 777,用了之后好像能跑了,却埋下安全隐患。

这篇文章把 Linux 文件权限讲透:看懂 ls -l,会用数字表示法,知道什么时候该用什么权限。

一、先看懂 ls -l 在说什么

在终端执行 ls -l,每一行长这样:

-rwxr-xr--  1  chenxi  developers  2048  10-22 06:00  deploy.sh

最前面 10 个字符就是权限位,拆开看:

  • 第 1 位是文件类型:- 普通文件,d 目录,l 软链接。
  • 后面 9 位分成三组,每组 3 位,依次是属主(user)、属组(group)、**其他人(other)**的权限。

每组里的 rwx 含义:

  • r(read):读文件内容;对目录是“列出目录下文件名”。
  • w(write):改文件内容;对目录是“在目录里增删改文件”。
  • x(execute):文件可作为程序执行;对目录是“能 cd 进入”。

所以 rwxr-xr-- 的意思是:属主可读可写可执行,属组可读可执行,其他人只可读。

注意一个常被误解的点:目录的 x 不是“执行”,而是“进入”。一个目录即使有 r 没 x,你也 cd 不进去;有 x 没 r,能进入但看不到里面有什么。

二、数字表示法:4-2-1 速记

r=4,w=2,x=1,每组三个权限相加就是一个数字。rwx = 7,r-x = 5,r-- = 4。

于是 rwxr-xr-- 写成数字就是 754。最常见的两种组合建议直接记住:

  • 文件默认 644(rw-r–r–):自己可改,别人只读。
  • 目录默认 755(rwxr-xr-x):自己全权,别人可进可看。

新建文件和目录的默认权限由 umask 决定,一般不用改,了解即可。

三、动手改权限:chmod / chown

改权限用 chmod,两种写法:

chmod 755 deploy.sh        # 数字写法,一步到位
chmod u+x deploy.sh        # 符号写法:给属主加执行权限
chmod g-w notes.txt        # 去掉属组的写权限

u/g/o 分别代表属主、属组、其他人,a 代表所有人,+ 加权限,- 减权限,= 直接设定。

改归属用 chown:

sudo chown chenxi:developers deploy.sh   # 同时改属主和属组

四、三个新手常踩的坑

  1. 不要动不动 chmod 777。777 意味着任何人可读可写可执行,Web 目录这样设等于把大门钥匙挂在门口。能跑不等于该这样跑,先想想到底缺的是哪一组、哪个权限。
  2. 脚本报 Permission denied,先看有没有 x。bash deploy.sh 能跑不代表 ./deploy.sh 能跑,后者要求文件本身有执行位。
  3. 目录没 x,里面文件权限再对也白搭。排查“进不去/打不开”时,把路径上每一级目录的 x 都检查一遍。

五、小练习

找个测试目录自己动手试一遍,印象最深:

mkdir perm_demo && cd perm_demo
echo hello > a.txt
chmod 600 a.txt && ls -l a.txt     # 看看变成什么样
chmod 644 a.txt && ls -l a.txt     # 再改回来

权限这套规则从 1970 年代沿用至今,理解一次,终身受用。下次再看到 Permission denied,先 ls -l 看一眼,大多数问题当场就有答案。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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