Linux 文件权限入门:从一个脚本理解 r、w、x

举报
yd_263910519 发表于 2026/11/07 12:37:49 2026/11/07
【摘要】 通过临时脚本练习读取 ls 权限标记、使用 chmod,并理解目录权限与常见排查方向。

在 Linux 中运行脚本时,遇到“权限不足”并不一定是文件损坏。先看清文件属于谁、允许哪些操作,通常比盲目使用管理员权限更有帮助。下面用一个临时练习理解最常见的权限标记。

先创建练习文件

在自己的终端中执行,系统会创建一个新临时目录,并打印它的位置:

workdir=$(mktemp -d)
cd "$workdir" || exit
pwd
printf '#!/bin/sh\nprintf "hello permissions\\n"\n' > hello.sh
chmod 600 hello.sh
ls -l hello.sh

输出开头可能是 -rw-------。第一个字符 - 表示普通文件;后面九位分成三组,依次对应文件所有者、所属组成员和其他用户。每组里的 r、w、x 分别代表读、写和执行,短横线表示该位置没有相应权限。600 表示所有者可读写,另外两组没有权限。

让脚本可以直接运行

继续在练习目录执行:

chmod u+x hello.sh
ls -l hello.sh
./hello.sh

u+x 的意思是给所有者增加执行权限,其他权限保持不变。此时通常能看到 -rwx------,并输出 hello permissions。脚本第一行指定了解释器;直接执行还依赖解释器存在、文件系统挂载方式等条件。

数字写法也常见:r、w、x 分别对应 4、2、1,每组相加形成一位。例如 750 表示所有者可读写执行、组成员可读和执行、其他用户没有权限。数字模式会设置各组权限,修改前应先确认原值和共享需求。

目录中的 x 有不同含义

对于目录,x 主要表示允许搜索或穿越该目录;r 允许读取目录条目。仅有其中一种权限,并不等于拥有完整的目录访问能力。删除文件通常取决于所在目录的权限等条件,而不是单看文件自身是否可写。

如果修改后仍无法访问,检查文件所有者、上级目录权限,以及访问控制列表、挂载选项等环境设置。练习结束后先返回其他目录,再确认刚才打印的临时目录路径,手动删除该练习目录。对真实数据,先查看现有权限和业务需求,避免对整个目录随意递归放宽权限。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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