Unix与Linux文件权限的含义是什么

来源:AI智能体作者:香港程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《Unix与Linux文件权限的含义是什么》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Unix与Linux文件权限的含义是什么》有用,将其分享出去将是对创作者最好的鼓励。

Unix与Linux系统的文件权限是用来控制不同用户对文件或目录的访问能力的机制,通过权限设置可以避免未授权用户修改、查看或执行重要文件,是系统安全的基础组成部分。

Unix与Linux文件权限的含义是什么

文件权限的基本构成

在Unix和Linux系统中,使用ls -l命令查看文件详情时,第一行会显示文件的权限信息,权限字符串由10个字符组成,结构如下:

  • 第一个字符表示文件类型,常见的有-代表普通文件,d代表目录,l代表符号链接
  • 第2到第4个字符代表文件所有者的权限
  • 第5到第7个字符代表文件所属组的权限
  • 第8到第10个字符代表其他用户的权限

例如权限字符串-rwxr-xr--表示这是一个普通文件,所有者有读、写、执行权限,所属组有读、执行权限,其他用户只有读权限。

三类权限的具体含义

读权限(r)

对于普通文件,读权限允许用户查看文件的内容,比如使用catmore等命令读取文件。对于目录,读权限允许用户列出目录下的文件名称,比如使用ls命令查看目录内容。

写权限(w)

对于普通文件,写权限允许用户修改文件的内容,比如使用viecho等命令编辑或追加内容。对于目录,写权限允许用户在目录下创建、删除、重命名文件或子目录。

执行权限(x)

对于普通文件,执行权限允许用户将该文件作为程序运行,比如脚本文件、二进制可执行文件都需要执行权限才能运行。对于目录,执行权限允许用户进入该目录,或者使用cd命令切换到该目录,同时是访问目录下文件内容的基础权限。

权限的两种表示方式

符号表示法

符号表示法使用rwx分别表示读、写、执行权限,使用u表示所有者,g表示所属组,o表示其他用户,a表示所有用户。可以通过chmod命令使用符号表示法修改权限,示例如下:

# 给文件所有者添加执行权限
chmod u+x test.sh
# 给所属组和其他用户移除写权限
chmod go-w test.txt
# 给所有用户添加读权限
chmod a+r config.conf

数字表示法

数字表示法将每类权限对应一个数字,读权限对应4,写权限对应2,执行权限对应1,每类用户的权限值是对应权限数字的和。例如:

  • 读+写权限:4+2=6
  • 读+执行权限:4+1=5
  • 读+写+执行权限:4+2+1=7

三类用户的权限值依次排列就组成了三位数字权限,比如755表示所有者7(rwx)、所属组5(r-x)、其他用户5(r-x)。使用数字表示法修改权限的示例如下:

# 设置文件权限为755
chmod 755 test.sh
# 设置目录权限为644,注意目录通常需要执行权限才能进入,这里仅为示例
chmod 644 docs/

默认权限与umask

新创建的文件或目录的默认权限不是固定的,而是由系统的umask值决定。umask表示默认要移除的权限,普通文件的默认最大权限是666,目录的默认最大权限是777。实际权限等于最大权限减去umask值。

例如系统umask值为022,那么新创建的普通文件权限为666-022=644(rw-r--r--),新创建的目录权限为777-022=755(rwxr-xr-x)。可以通过umask命令查看或修改当前会话的umask值:

# 查看当前umask值
umask
# 设置umask值为027
umask 027

特殊权限说明

除了基本的读、写、执行权限外,Unix和Linux还有三个特殊权限:

  • SUID(Set User ID):仅对可执行文件有效,执行该文件的用户会临时获得文件所有者的权限,比如/usr/bin/passwd文件就有SUID权限,普通用户可以修改自己的密码
  • SGID(Set Group ID):对可执行文件和目录有效,可执行文件执行时临时获得所属组权限,目录中新建的文件会继承目录的所属组
  • Sticky Bit:仅对目录有效,目录设置该权限后,只有文件所有者、目录所有者或root用户才能删除目录下的文件,比如/tmp目录就设置了Sticky Bit权限

特殊权限在符号表示法中会在对应权限位显示s(SUID/SGID)或t(Sticky Bit),在数字表示法中SUID对应4,SGID对应2,Sticky Bit对应1,放在三位基本权限数字的前面,例如4755表示设置了SUID权限的755权限。

UnixLinux文件权限chmodumask修改时间:2026-07-22 22:48:41

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