Linux 文件权限入门:读懂 rwx 与 chmod

举报
yd_274862470 发表于 2026/10/25 10:22:02 2026/10/25
【摘要】 引言刚接触 Linux 时,很多人第一次被拦住不是命令本身,而是“Permission denied”。文件明明存在,路径也没有错,系统却不让读、不让写、不让执行。原因大多在文件权限上。看懂 ls -l 的输出,区分权限“对谁生效”,并理解 rwx 在文件和目录上的不同含义,就能解决大多数这类问题。 一、看懂 ls -l 的输出执行 ls -l 会看到类似的一行:-rw-r--r-- 1 ...

引言

刚接触 Linux 时,很多人第一次被拦住不是命令本身,而是“Permission denied”。文件明明存在,路径也没有错,系统却不让读、不让写、不让执行。原因大多在文件权限上。看懂 ls -l 的输出,区分权限“对谁生效”,并理解 rwx 在文件和目录上的不同含义,就能解决大多数这类问题。

一、看懂 ls -l 的输出

执行 ls -l 会看到类似的一行:

-rw-r--r-- 1 zhangsan dev 2048 10-25 10:00 notes.txt

第一个字段共 10 个字符。首位是类型,- 为普通文件,d 为目录。后面 9 个字符分三组,依次是所有者、所属组、其他人。每组中 r 可读,w 可写,x 可执行,- 表示没有该权限。上例就是所有者可读写,组用户和其他人只能读。

二、rwx 对文件和目录含义不同

对文件,r 是读内容,w 是修改内容,x 是执行程序或脚本。对目录,含义会变化:r 是列出目录中的名字,w 是在目录中新建、删除或重命名文件,x 是进入目录并访问其中已知名字的文件。

因此,目录只有 r 没有 x 时,能看到文件名却打不开文件;只有 x 没有 r 时,看不到列表,但知道确切文件名仍可访问。排错时不要只看文件本身,还要检查它所在的每一级目录是否有 x 权限。

三、数字表示法:755 与 644

r、w、x 可换算为数字:r=4,w=2,x=1,无权限为 0。每组相加即得一位数:rwx 为 7,rw- 为 6,r-- 为 4。于是 755 表示所有者 rwx、组用户和其他人 r-x;644 表示所有者 rw-、其余只读。静态文件常用 644,目录常用 755,私有配置文件常用 600。

四、chmod、chown 与 umask

改权限用 chmod,改所有者用 chown。chmod 755 deploy.sh 是数字写法;chmod u+x deploy.sh 只给所有者加执行权限,更精细。批量改目录可用 -R,但切勿图省事用 chmod -R 777,它会把私有文件也暴露给所有人。

新建文件的默认权限由 umask 决定。常见 umask 为 022,新建文件默认 644,目录默认 755;改为 027 后,新建文件默认 640,更适合多人共用服务器时默认收敛。

五、排错三问

遇到拒绝访问时,先问:当前是谁,用 id 查看;再看文件与各级目录的权限,用 ls -l 和 ls -ld 对照;最后确认缺的是哪一位:读文件缺 r,进目录缺 x,写目录缺 w。坚持最小权限、只补真正需要的那一位,既能解决问题,也保住了安全边界。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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