当前位置:首页>Linux>linux必备,看看这个你会不会,抓紧学起来吧?

linux必备,看看这个你会不会,抓紧学起来吧?

  • 2026-10-11 07:59:09
linux必备,看看这个你会不会,抓紧学起来吧?

🔐 掌握Linux文件权限管理,从读懂rwx到灵活使用chmod,一篇搞定!


📝 前言

在Linux系统中,一切皆文件。而文件的安全性与可控性,很大程度上依赖于一套简洁而强大的权限模型。无论是日常使用、服务器运维,还是开发环境配置,理解文件权限都是必备技能。本文将深入讲解Linux的基本权限体系,详细剖析rwx三权对文件和目录的不同影响,并手把手教你用chmod命令灵活修改权限。


👥 一、权限的三大主体

Linux将访问文件的用户划分为三类,每类可以独立设置权限:

身份
代号
含义
所有者
u
 (user)
文件的创建者或当前归属的用户
所属组
g
 (group)
文件所属用户组内的成员
其他用户
o
 (others)
既不是所有者也不在所属组中的其他人

💡 a (all) 代表 u+g+o 三者。


📖 二、rwx权限详解(核心)

每个主体(所有者/组/其他)都可以拥有三种基本权限:读(r)、写(w)、执行(x)。但文件与目录下的含义截然不同。

1. 对于普通文件

权限
代号
作用
读
r
可以读取文件内容(如 cat, less)
写
w
可以修改或删除文件内容(但删除文件本身还需要目录的写权限)
执行
x
可以运行该文件(如脚本、二进制程序)

例:一个脚本文件 script.sh 拥有 rwxr-xr-- 权限,意味着所有者可读/写/执行,组成员可读/执行,其他仅可读。

2. 对于目录

权限
代号
作用
读
r
可以列出目录中的文件列表(如 ls)
写
w
可以在目录内创建、删除、重命名文件或子目录
执行
x
可以进入该目录(cd),也是访问目录内文件的前置条件

⚠️ 注意:对目录无x权限时,即使有r也无法访问内部文件详情,ls会提示权限不足。

示例对比:

bash

# 对目录只有 r 权限,没有 x dr--r--r-- testdir/ $ ls testdir          # 可能看到文件名但无法获取属性(显示问号) $ cd testdir          # 失败:权限不够  # 对目录有 r 和 x 权限 dr-xr-xr-x testdir/ $ ls testdir          # 正常列出文件 $ cd testdir          # 成功进入

🔍 三、查看权限:ls -l

使用 ls -l 命令查看文件和目录的详细权限信息:

bash

$ ls -l -rw-r--r-- 1 alice staff  1024 May 20 10:00 file.txt drwxr-xr-x 2 alice staff  4096 May 20 09:00 mydir/

输出格式解析(以第一个文件为例):

位置
字符
含义
第1位
-
文件类型(-普通文件,d目录)
2-4位
rw-
所有者权限:读+写,无执行
5-7位
r--
所属组权限:只读
8-10位
r--
其他用户权限:只读
之后
1
硬链接数
alice
所有者
用户名
staff
所属组
组名

🛠️ 四、更改权限:chmod 命令

chmod (change mode) 用于修改文件或目录的权限,支持符号模式和八进制数字模式。

1. 符号模式

语法:chmod [ugoa...][[+-=][rwx...]...] 文件/目录

  • + 添加权限

  • - 移除权限

  • = 赋予指定权限(覆盖原有)

示例
含义
chmod u+x file
给所有者增加执行权限
chmod go-w file
去除所属组和其他用户的写权限
chmod a=r file
所有主体只有读权限(覆盖原权限)
chmod u=rwx,g=rx,o=r file
赋权:所有者全权,组读+执行,其他只读

实战演示:

bash

# 初始权限:-rw-r--r-- $ chmod u+x test.sh # 结果:-rwxr--r--  $ chmod o+w test.sh # 结果:-rwxr--rw-  $ chmod a-x test.sh # 结果:-rw-r--rw-

2. 八进制数字模式

将 r、w、x 分别对应数值 4、2、1,权限值=三项求和。

权限
数值
含义
rwx
7
读+写+执行
rw-
6
读+写
r-x
5
读+执行
r--
4
只读
---
0
无权限

一个完整的权限模式由三个数字组成:所有者权限值、组权限值、其他权限值。

bash

$ chmod 755 script.py # 解释:7->rwx (所有者), 5->r-x (组), 5->r-x (其他) # 结果:-rwxr-xr-x  $ chmod 600 secret.txt # 6->rw-, 0->---, 0->---  结果:-rw-------

常见权限速查表:

数字
文件用途
目录用途
755
可执行文件(所有者可改,其他人只读执行)
公共目录,所有人可读列表、进入
644
普通数据文件,只读共享
目录无执行权限,无法访问内部
700
私有文件/目录,仅所有者可访问
私密目录
777
完全开放(慎用!)
任何用户可读写执行(危险)

🌟 五、综合实战

场景1:创建一个团队共享脚本

bash

$ touch deploy.sh $ chmod 750 deploy.sh # 所有者:读写执行(7);组:读执行(5);其他:无(0) $ ls -l deploy.sh -rwxr-x--- 1 alice devops 0 May 20 10:00 deploy.sh

场景2:开放一个目录供团队上传文件(但不允许删别人的文件)

需要用到粘滞位(t),这里简单提及:

bash

$ mkdir team_upload  ls -ld team_upload drwxrwxrwt 2 root root 4096 May 20 10:00 team_upload

粘滞位下,只有文件所有者才能删除自己的文件。

场景3:递归修改目录权限(慎用)

bash

# 将 /var/www 及其内部所有文件的权限设为 755 $ chmod -R 755 /var/www

📌 六、总结

  • 基本权限 rwx 对文件和目录有本质区别,尤其要注意目录的 x 权限控制是否能cd进入。

  • 使用 ls -l 查看权限;用 chmod 修改权限,推荐数字模式(简洁),符号模式(灵活)。

  • 权限设计原则:最小权限原则 —— 只给完成任务所需的最小权限。

  • 额外扩展:特殊权限(setuid、setgid、sticky bit)适合进阶学习,日常使用较少,但理解基本权限是基础中的基础。

掌握这些内容,你已经能够应对90%的Linux权限管理场景。下篇可以聊聊ACL(访问控制列表)或特殊权限,敬请期待!



📅 原创声明 如果对你有帮助,请点赞👍收藏⭐支持一下~

互动区:你在使用chmod时遇到过哪些坑?欢迎评论区交流!

最新文章

随机文章