Linux权限模型完整讲解_Linux读写执行权限详细说明

发布时间 - 2025-12-22 00:00:00    点击率:
Linux权限模型核心是“用户-组-其他”三级主体与读(r)、写(w)、执行(x)三类权限的组合,分别控制文件内容访问、修改及运行,以及目录遍历、列表和增删改操作,需结合上下文与对象类型理解。

Linux权限模型的核心是“用户-组-其他”三级控制结构,配合读(r)、写(w)、执行(x)三类基本权限,共同决定谁能在什么条件下访问或操作文件与目录。理解它不靠死记,而在于搞清“谁在什么上下文中对什么对象做了什么”。

用户、组、其他:权限作用的三类主体

每个文件或目录都归属一个所有者(user)和一个所属组(group),其余用户统称为“other”。权限设置就是分别给这三类主体分配独立的r/w/x组合。

  • user(u):创建该文件的用户,或被显式用chown改过的所有者
  • group(g):文件所属组,用户可通过usermod -aG加入多个组,但只有“主组”或“附加组”中匹配的那个组生效
  • other(o):既不是所有者,也不在所属组里的所有人——这是默认兜底权限,务必谨慎放宽

读、写、执行:三类权限在文件和目录中的真实含义

同一权限符号(如x)在文件和目录中效果完全不同,混淆是常见错误根源。

  • 对普通文件
      • r:可查看内容(cat、less等)
      • w:可修改内容、截断、重写(但不包括删除——那是父目录权限)
      • x:可作为程序运行(需同时有r权限才能正确加载解释器,如shell脚本)
  • 对目录
      • r:可列出目录内文件名(ls),但看不到属性(如ls -l需x)
      • w:可在该目录下创建、删除、重命名文件(需同时有x才生效)
      • x:可进入该目录(cd)、访问其子路径、查看文件详细信息(ls -l)。没有x,即使有r也只看到名字,无法打开或stat

权限表示法:符号式与数字式如何对应

两种写法本质一致,只是表达形式不同。关键记住:每类主体对应三位二进制,r=4、w=2、x=1,相加得0–7。

  • 符号式(ls -l输出):-rwxr-xr-- 表示
      • 第1位:文件类型(-普通文件,d目录,l链接等)
      • 第2–4位:user权限(rwx = 4+2+1 = 7)
      • 第5–7位:group权限(r-x = 4+0+1 = 5)
      • 第8–10位:other权限(r-- = 4+0+0 = 4)→ 八进制即754
  • 数字式(chmod用)
      • chmod 644 file → user: rw- (6), group: r-- (4), other: r-- (4)
      • chmod 750 dir → user: rwx (7), group: r-x (5), other: --- (0),组内成员可进可查不可写

实战中必须注意的几个细节

权限不是孤立起作用的,常被忽略的隐含规则反而决定成败。

  • 删除文件不由文件自身w权限决定,而由其父目录的w+x权限控制——因为删除本质是修改目录的数据块(移除文件名条目)
  • 执行脚本前,shell需先读取文件内容,所以sh script.sh 要求script.sh有r权限;./script.sh 则要求有x权限(且所在目录有x)
  • umask影响新建文件默认权限:它不是“加权限”,而是从最大权限中“屏蔽”掉对应位。例如umask 002 → 文件默认664(666&~002),目录默认775(777&~002)
  • setuid/setgid粘滞位(s/S、t)属于扩展权限,不在基础rwx之内,但会覆盖部分行为,如passwd命令依赖setuid让普通用户临时获得root权限修改shadow

基本上就这些。权限模型看着多,理清主体、对象、动作三层关系,再区分文件/目录语义差异,大部分问题都能自然推导出来。


# linux  # shell脚本  # less  # 对象  # 三类  # 这是  # 看着  # 几个  # 那是  # 多个  # 都能  # 两种  # 遍历  # 目录中 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  JavaScript如何操作视频_媒体API怎么控制播放  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何在橙子建站中快速调整背景颜色?  如何基于云服务器快速搭建个人网站?  如何挑选优质建站一级代理提升网站排名?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  b2c电商网站制作流程,b2c水平综合的电商平台?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  php 三元运算符实例详细介绍  深入理解Android中的xmlns:tools属性  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何用西部建站助手快速创建专业网站?  如何用AWS免费套餐快速搭建高效网站?  如何用好域名打造高点击率的自主建站?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  微信小程序 配置文件详细介绍  Laravel如何实现事件和监听器?(Event & Listener实战)  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  如何有效防御Web建站篡改攻击?  如何挑选高效建站主机与优质域名?  Laravel如何处理CORS跨域请求?(配置示例)  网站制作软件有哪些,制图软件有哪些?  如何快速搭建二级域名独立网站?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel如何使用Livewire构建动态组件?(入门代码)  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  高性价比服务器租赁——企业级配置与24小时运维服务  如何在搬瓦工VPS快速搭建网站?  Java遍历集合的三种方式  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  JavaScript Ajax实现异步通信  浅谈javascript alert和confirm的美化  C++用Dijkstra(迪杰斯特拉)算法求最短路径