Linux 入门:十分钟读懂文件权限

举报
yd_284523366 发表于 2026/10/30 09:44:58 2026/10/30
【摘要】 本文用十分钟带 Linux 新手读懂文件权限:从 ls -l 的第一列讲起,介绍 rwx 三组权限、755/644/600 数字表示法、chmod 与 chown 的用法、目录权限的特殊含义,以及新手最容易踩的三个坑,帮你彻底告别 Permission denied。

刚接触 Linux 的新手,最常遇到的困惑之一就是"Permission denied"。执行 ls -l 时,看到一串 -rwxr-xr-x 这样的字符,很多人第一反应是直接 chmod 777 了事。其实文件权限是 Linux 安全模型的基石,理解它只需要十分钟,却能帮你避开日后无数个坑。

一、先读懂 ls -l 的第一列

执行 ls -l,每一行开头都是一串 10 个字符:

-rw-r--r-- 1 zhangsan dev 4096 10-30 09:00 report.txt

第 1 个字符表示文件类型:- 是普通文件,d 是目录,l 是软链接。后 9 个字符分成三组,每组 3 个,依次对应"属主(user)"“属组(group)”"其他人(other)"的权限。

每组里的三个位置固定表示:读(r,值为 4)、写(w,值为 2)、执行(x,值为 1),没有权限就用 - 占位。比如 rw- 表示可读可写、不可执行;r-x 表示可读可执行、不可写。

二、数字表示法:日常更常用的写法

r=4、w=2、x=1,把每组权限相加,就得到三个数字:

  • 755 = rwx(7) r-x(5) r-x(5):属主可读写执行,其他人只读可执行,适合可执行脚本和目录。
  • 644 = rw-(6) r–(4) r–(4):属主可读写,其他人只读,适合普通文档和配置文件。
  • 600 = rw-(6) —(0) —(0):只有属主能读写,适合私钥、密钥等敏感文件。

修改权限用 chmod:

chmod 755 deploy.sh      # 数字写法
chmod u+x deploy.sh      # 符号写法:给属主加上执行权限
chmod go-w notes.txt     # 符号写法:去掉属组和其他人的写权限

三、目录的权限含义和文件不一样

很多人会忽略这一点。对目录来说:r 表示可以列出目录内容,w 表示可以在目录里新建、删除、重命名文件,x 表示可以进入目录(cd)并访问其中的文件。

一个常见误区:想让别人读取目录里的某个文件,光给文件加 r 权限是不够的,还必须给目录加上 x 权限,否则照样报 Permission denied。

四、修改属主和属组

chown zhangsan report.txt        # 把属主改成 zhangsan
chown zhangsan:dev report.txt   # 同时修改属主和属组
chgrp dev report.txt            # 只修改属组

注意:chown 通常需要 root 权限,普通用户可以用 sudo 执行。

五、新手最容易踩的三个坑

  1. 盲目 chmod 777。777 意味着所有人可读写执行,等于把大门钥匙交给了全世界。能用 755、644 解决的,绝不用 777。
  2. 脚本"无法执行"先看 x 权限。自己写的 shell 脚本运行时报 Permission denied,第一反应应该是 chmod +x,而不是换 root。
  3. 用 umask 理解默认权限。新建文件的默认权限由 umask 决定,执行 umask 看看,一般是 0022,意味着新建文件默认 644、目录默认 755。

小结

记住这张速查表,日常基本够用:普通文档、配置文件用 644;可执行脚本、程序用 755;目录用 755;私钥、敏感文件用 600。

权限管理的核心思想其实很简单,就是最小权限原则:每个人只拿到完成工作所必需的权限,不多给一分。把这个习惯养好,很多安全问题从一开始就不会发生。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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