Linux中r w x权限分别代表多少数值和含义

来源:R语言教程作者:广州程序员头衔:程序员
导读:本期聚焦于广州程序员创作的《Linux中r w x权限分别代表多少数值和含义》,敬请观看详情。把权限数字算错常常导致脚本无法读写文件。Linux里r、w、x分别对应八进制数值4、2、1,三者相加得出用户、组、其他的权限位。例如7即rwx,5为r-x。理解这些基础数字能帮你在chmod时精准控制访问,避免配置Web目录时因权限过宽引发安全问题,也方便用stat命令核对模式位。

在Linux文件系统里,每一个文件或目录都关联着一套权限模型,最核心的便是r、w、x这三个基础标记。它们不仅代表读、写、执行三种操作许可,还各自对应固定的八进制数值,组合之后形成我们常见的如755、644这类权限数字。搞清这些数值的由来,是掌握Linux权限管理的前提。

Linux中r w x权限分别代表多少数值和含义

r w x的基础数值与含义拆解

字母r来自英文read,表示读权限,在八进制中固定对应数字4。拥有r权限的用户能够查看文件内容,或者使用ls命令列出目录中的条目。如果缺少r权限,即便文件存在,普通用户也会在访问时收到权限拒绝的提示。对于目录而言,r权限决定了能否浏览其下的文件列表,但不代表能进入该目录。

字母w来自write,对应数值2,代表写权限。对文件来说,w允许修改、覆盖或追加内容;对目录来说,w意味着可以在其中创建、删除或重命名文件。需要注意的是,删除文件的能力取决于所在目录的w权限,而非文件自身的w权限,这一点常被初学者误解。字母x来自execute,对应数值1,表示执行权限。对脚本或二进制程序,x是运行的必要条件;对目录,x代表能否使用cd进入或通过路径访问其子项。

当r、w、x组合时,直接将对应数值相加即可得到该范围的权限数。比如rwx就是4+2+1=7,r-x是4+0+1=5,rw-是4+2+0=6。Linux权限分为属主、属组、其他人三段,每段都是0到7的数字,合起来便构成类似754这样的九位权限表达。用数字方式设置权限,比逐个写字母更紧凑,也更不易出错。

用chmod数字模式设置rwx权限的实践

使用chmod命令时,最方便的做法便是采用数字模式。例如要把一个脚本设为属主可读写执行、组和其他仅可读执行,就执行chmod 755 script.sh。这里的7由rwx相加得出,两个5分别是r-x。这种写法在批量部署时尤其高效,因为只需记住目标角色应有的数值总和。

如果只想给属主写权限而去掉组的写权限,可以用chmod 644 file.txt,即rw-r--r--。很多Web服务器要求缓存目录可被Web进程写入,但又不能让所有人写,这时常设成755或775,具体取决于属组是否包含运行用户。下面是一段在Shell中批量修正权限的示例,把当前目录下所有.sh文件设为755:

#!/bin/bash
# 遍历当前目录的脚本文件
for f in *.sh; do
  # 将权限设为 rwxr-xr-x 对应数字 755
  chmod 755 "$f"
  echo "已设置 $f 权限为 755"
done

数字模式不仅能用于文件,也能用于目录。但递归改目录时要小心,若执行chmod -R 777 .会把所有内容开放给任何人,带来严重安全隐患。推荐的做法是区分文件和目录:文件一般644,目录一般755,可用find配合不同参数分别处理。理解rwx数值,才能写出安全的递归脚本。

从stat与ls输出核对rwx对应数值

除了用chmod设置,我们还可以通过stat命令直接查看文件权限的八进制表达。执行stat -c '%a %n' file.txt会输出类似644 file.txt的结果,其中644就是rwx数值的直观呈现。对比ls -l输出的rw-r--r--,你能确认每一段字母都正确映射到了对应数字。

在排查权限故障时,这种核对非常重要。例如某程序报无法写入日志,用stat看到日志文件是644,说明组和其他人没有w(数值2),而运行进程恰好不属于属主,自然写不进。此时应改为664或6755(带setuid特殊情况),而不是直接给777。下面示例展示如何用stat获取详细模式:

# 查看文件权限的数字与名称
stat -c '权限数字:%a 权限串:%A 文件:%n' /var/log/app.log
# 输出示例: 权限数字:644 权限串:-rw-r--r-- 文件:/var/log/app.log

另外,特殊权限如setuid、setgid和sticky bit,是在基础rwx数值之上再加高位数字,比如2755中的2代表setgid。它们不影响rwx本身对应的4、2、1,但会让总权限超出三位数。掌握基础rwx数值后,再理解这些扩展位就轻松许多,也不会在误设时破坏系统安全模型。

Linuxrwx_permissionfile_mode修改时间:2026-08-16 18:32:13

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。