Linux 权限看不懂?一文讲透 rwx 和 chmod 的真实用途

发布时间 - 2025-12-05 00:00:00    点击率:
Linux权限核心是“谁、能干什么、对什么”,rwx对文件和目录作用不同:文件上r读、w写、x执行;目录上r列内容、w增删改、x进入;chmod用符号法或数字法修改权限。

Linux 权限看起来一堆 rwx 字母,其实核心就三点:谁、能干什么、对什么。搞懂这个,权限管理就没那么神秘了。

rwx 到底代表什么?

rwx 是三种操作权限的缩写,但它们对文件和目录的作用完全不同,这是最容易混淆的地方。

对于一个普通文件:

  • r (read): 能打开并查看文件里的内容。没有 r 权限,连 cat、more 这些命令都用不了。
  • w (write): 能修改文件里的内容,比如用 vim 编辑后保存。注意,这不等于能删除文件!删文件是另一个概念。
  • x (execute): 能把这个文件当作程序来运行。比如一个 shell 脚本,必须有 x 权限才能 ./script.sh 执行它。

对于一个目录(文件夹):

  • r (read): 能列出这个目录里包含哪些文件和子目录,也就是能用 ls 命令看里面有什么。
  • w (write): 能在这个目录里创建、删除或重命名文件。这个权限很关键,拥有 w 权限就能删掉里面的文件,哪怕你对那个文件本身没有任何权限。
  • x (execute): 能进入这个目录,也就是能用 cd 命令切换到它里面。没有 x 权限,即使你知道路径也进不去。

chmod:如何修改这些权限?

chmod 命令就是用来改变文件或目录权限的工具,主要有两种方式:符号法和数字法。

1. 符号法(更直观)

这种方法直接用字母表示要修改的对象和权限。基本格式是:chmod [谁][怎么改][改什么权限] 文件名

  • 谁 (Who): u 代表所有者 (user),g 代表所属组 (group),o 代表其他人 (others),a 代表所有人 (all)。
  • 怎么改 (Operator): + 表示增加权限,- 表示去掉权限,= 表示精确设置为某个权限。
  • 例子:
    • chmod u+x script.sh: 给文件所有者加上执行 (x) 权限。
    • chmod g-w,o-rwx config.txt: 去掉所属组的写 (w) 权限,并去掉其他人的所有 (rwx) 权限。
    • chmod a=r file.txt: 让所有人(所有者、组、其他人)的权限都精确等于只读 (r)。

2. 数字法(更高效)

这种方法用一个三位数来代表全部权限,每个数字是 r、w、x 对应数值的总和(r=4, w=2, x=1)。

  • 第一位数字:代表所有者的权限 (u)。
  • 第二位数字:代表所属组的权限 (g)。
  • 第三位数字:代表其他人的权限 (o)。
  • 计算方法: 把需要的权限数值加起来。比如,想要 rwx 就是 4+2+1=7;想要 rw- 就是 4+2+0=6;想要 r-x 就是 4+0+1=5。
  • 常见组合:
    • chmod 755 dir/: 所有者有 rwx (7),组有 r-x (5),其他人有 r-x (5)。这是目录的常用权限。
    • chmod 644 file.txt: 所有者有 rw- (6),组有 r-- (4),其他人有 r-- (4)。这是文件的常用权限。

权限字符串第一段的完整解读

当你用 ls -l 查看时,会看到类似 -rw-r--r--drwxr-xr-x 的字符串。这一串字符可以分成四部分来看:

  • 第一个字符: 表示文件类型。- 代表普通文件,d 代表目录,l 代表链接等。
  • 第2-4个字符: 代表所有者的权限。比如 rw- 表示有读、写,无执行。
  • 第5-7个字符: 代表所属组的权限。比如 r-x 表示有读、执行,无写。
  • 第8-10个字符: 代表其他人的权限。比如 r-- 表示只有读权限。

所以,-rw-r--r-- 拆开就是:普通文件,所有者可读可写,所属组可读,其他人可读。

基本上就这些。


# linux  # 工具  # 字符串  #   # operator  # 对象  # vim  # 这是  # 怎么改  # 有什么  # 这种方法  # 第一个  # 就能  # 没有任何  # 你知道  # 能在  # 就没 


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


相关推荐: Laravel如何使用Vite进行前端资源打包?(配置示例)  EditPlus中的正则表达式 实战(1)  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  免费网站制作appp,免费制作app哪个平台好?  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  如何快速使用云服务器搭建个人网站?  Laravel如何实现用户密码重置功能?(完整流程代码)  如何在搬瓦工VPS快速搭建网站?  原生JS获取元素集合的子元素宽度实例  企业网站制作这些问题要关注  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何用PHP工具快速搭建高效网站?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel如何使用.env文件管理环境变量?(最佳实践)  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel如何实现数据库事务?(DB Facade示例)  Laravel如何创建自定义Facades?(详细步骤)  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Python函数文档自动校验_规范解析【教程】  如何获取上海专业网站定制建站电话?  详解Android中Activity的四大启动模式实验简述  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  如何为不同团队 ID 动态生成多个非值班状态按钮  如何快速生成凡客建站的专业级图册?  如何确保FTP站点访问权限与数据传输安全?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  详解jQuery中的事件  济南网站建设制作公司,室内设计网站一般都有哪些功能?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  详解Android图表 MPAndroidChart折线图  北京网站制作公司哪家好一点,北京租房网站有哪些?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?