news 2026/7/2 11:15:11

Linux 用户与权限(rwx)详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 用户与权限(rwx)详解

Linux 是一个多用户(Multi-user)、多任务(Multi-task)操作系统。为了保证不同用户之间的数据安全,Linux 提供了一套完善的权限管理机制。

Linux 权限系统主要由以下几部分组成:

  • 用户(User)

  • 用户组(Group)

  • 文件权限(rwx)

  • 特殊权限(SUID、SGID、Sticky)

  • ACL(扩展权限)

本文重点介绍 Linux 最基础也是最重要的用户与 rwx 权限模型


一、Linux 用户体系

Linux 中,一切操作都是以用户身份进行的。

例如:

用户登录 │ ▼ Shell(Bash) │ ▼ 所有程序都以当前用户身份运行

查看当前用户:

whoami

例如:

root

查看当前 UID:

id

例如:

uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo),100(users)

二、Linux 用户分类

Linux 用户主要分三类:

1、超级用户(Root)

root 是 Linux 中权限最高的用户。

特点:

  • UID = 0

  • 可以访问任何文件

  • 可以修改系统配置

  • 可以管理所有用户

  • 基本不受普通权限限制

查看:

id root

输出:

uid=0(root) gid=0(root)

2、普通用户

例如:

alice bob tom

特点:

  • UID ≥ 1000(大多数发行版)

  • 只能访问自己有权限访问的资源

例如:

useradd alice

查看:

id alice
uid=1001(alice) gid=1001(alice)

3、系统用户

很多服务都会创建自己的用户:

mysql www-data nginx postgres redis daemon

例如:

cat /etc/passwd

看到:

mysql:x:112:118:MySQL Server:/nonexistent:/bin/false

特点:

  • 一般 UID <1000

  • 不允许登录

  • 用于运行后台服务


三、用户组(Group)

Linux 使用用户组管理权限。

例如:

alice bob tom

都属于:

dev

这样:

project/ Group=dev

三个用户都可以访问。

查看当前组:

groups

例如:

alice sudo docker dev

查看某用户:

id alice
uid=1000(alice) gid=1000(alice) groups= 1000(alice) 27(sudo) 999(docker)

四、Linux 用户信息文件

/etc/passwd

所有用户信息:

cat /etc/passwd

例如:

alice:x:1000:1000:Alice:/home/alice:/bin/bash

格式:

用户名 密码占位 UID GID 描述 HOME目录 登录Shell

例如:

alice:x:1000:1000:Alice:/home/alice:/bin/bash

表示:

用户名:alice UID:1000 GID:1000 HOME:/home/alice Shell:/bin/bash

/etc/shadow

真正密码:

sudo cat /etc/shadow

例如:

alice:$6$xxxxx...

普通用户不能读取。


/etc/group

组信息:

cat /etc/group

例如:

docker:x:999:alice,bob

表示:

docker组 成员: alice bob

五、Linux 文件权限

查看:

ls -l

例如:

-rwxr-x--- 1 root dev 1024 Jun 18 test.sh

分解:

-rwxr-x---

可以分成:

- rwx r-x ---

分别表示:

文件类型 Owner Group Others

六、文件类型

第一位表示类型:

字符类型
-普通文件
d目录
l软链接
c字符设备
b块设备
p管道
sSocket

例如:

-rw-r--r--

普通文件。

drwxr-xr-x

目录。

lrwxrwxrwx

软链接。


七、rwx 权限

后九位:

rwxr-x---

分成:

rwx r-x ---

分别表示:

Owner Group Others

每组三位:

r w x

r(Read)

读权限。

对于文件:

允许:

cat less more cp

例如:

cat test.txt

没有 r:

Permission denied

目录:

r 表示:

可以查看目录内容。

例如:

ls dir

w(Write)

写权限。

文件:

允许:

修改内容 追加内容 删除内容(受目录权限影响)

例如:

echo hello >> file

目录:

w 表示:

允许:

创建文件 删除文件 重命名

例如:

touch a.txt rm a.txt

x(Execute)

执行权限。

文件:

./run.sh

必须:

x

否则:

Permission denied

目录:

x 表示:

允许:

进入目录 cd dir 访问目录中的文件

例如:

没有 x:

cd dir

失败。


八、目录权限与文件权限的区别

很多初学者容易混淆目录和文件的rwx含义。

权限文件目录
r读取文件内容查看目录列表(ls
w修改文件内容创建、删除、重命名目录中的文件
x执行文件进入目录、访问目录中的对象

例如:

drwx------

表示:

Owner: 可以: ls cd touch rm

别人:

全部禁止。


九、数字权限(八进制)

1. 基础数字与权限对应表 (0 - 7)

Linux 将基本权限分为三种:读(r)写(w)执行(x)。它们分别被赋予固定的权重值:4、2、1。没有权限则记为0

数字

权限组合

字母表示

二进制

计算方式

说明

0

无权限

---

000

0

不能读、不能写、不能执行

1

仅执行

--x

001

1

只能执行(对目录来说代表“进入”)

2

仅写入

-w-

010

2

只能写入/修改

3

写入 + 执行

-wx

011

2 + 1

可以修改并执行

4

仅读取

r--

100

4

只能读取/查看

5

读取 + 执行

r-x

101

4 + 1

可以读取并执行

6

读取 + 写入

rw-

110

4 + 2

可以读取和修改(不能执行)

7

读 + 写 + 执行

rwx

111

4 + 2 + 1

拥有所有基本权限


2. 完整的权限结构(3位数字)

一个完整的 3 位数字权限(如755),分别代表三类用户的权限:

  • 第 1 位数字所有者(User/Owner)的权限
  • 第 2 位数字所属组(Group)的权限
  • 第 3 位数字其他人(Others)的权限

举例:754

  • 7(rwx):所有者 可读、可写、可执行
  • 5(r-x):所属组 可读、可执行
  • 4(r--):其他人 仅可读

3. 最常见的权限组合示例

在实际工作中,你经常会遇到以下几种经典的权限组合:

数字

字母表示

常见用途

说明

644

rw-r--r--

普通文件

所有者可读写,其他人只能读。最安全的默认文件权限。

755

rwxr-xr-x

目录 / 脚本

所有者全权限,其他人可读和进入/执行。最安全的默认目录权限。

600

rw-------

敏感配置文件

仅所有者可读写。常用于 SSH 私钥 (id_rsa)、数据库密码文件等。

700

rwx------

私人目录

仅所有者可读写和进入。常用于用户的家目录。

777

rwxrwxrwx

共享目录

所有人可读写执行。极度危险,容易导致安全漏洞,应尽量避免使用。

711

rwx--x--x

Web 用户目录

所有者全权限,其他人只能进入(执行)。常用于 Web 服务器的用户主目录。


4. 进阶:特殊权限(4位数字)

有时候你会看到 4 位数字的权限(如47551777),这里的第 1 位数字代表特殊权限,后 3 位依然是常规权限。

特殊数字

权限名称

作用说明

典型应用场景

4

SUID(Set User ID)

当普通用户执行该文件时,临时获得文件所有者的权限

/usr/bin/passwd(权限为4755),普通用户需要修改/etc/shadow密码文件,通过 SUID 临时获取 root 权限。

2

SGID(Set Group ID)

作用于文件:执行时临时获得文件所属组的权限。
作用于目录:在该目录下新建的文件,其所属组自动继承该目录的所属组

团队协作目录,确保大家创建的文件都属于同一个组,方便互相修改。

1

Sticky Bit(粘滞位)

仅作用于目录:虽然目录权限是 777(大家都能写),但用户只能删除属于自己的文件,不能删除别人的文件。

/tmp目录 (权限为1777),公共临时目录,防止用户互相删除文件。


十、chmod 修改权限

数字方式:

chmod 755 file

符号方式:

chmod u+x file

增加:

chmod g+w file

删除:

chmod o-r file

全部:

chmod a+x file

说明:

符号含义
uOwner
gGroup
oOthers
aAll

十一、chown 修改所有者

修改用户:

chown alice file

修改用户和组:

chown alice:dev file

递归:

chown -R alice:dev project

十二、chgrp 修改所属组

修改组:

chgrp dev file

递归:

chgrp -R dev project

十三、权限判断规则

假设:

-rwxr-----

Owner:

alice

Group:

dev

当前用户:

bob

属于:

dev

Linux 判断顺序:

  1. 是否为 root(UID=0):是,则通常允许访问(部分能力如不可执行文件执行、只读文件系统等仍受限制)。

  2. 是否为文件 Owner:是,则使用 Owner 权限位。

  3. 是否属于文件所属 Group 或任一附加组:是,则使用 Group 权限位。

  4. 否则使用 Others 权限位。

注意:权限不会叠加。一旦命中某一类(Owner、Group 或 Others),只检查该类权限。

例如:

Owner:rw- Group:--- Others:r--

如果用户是文件 Owner,即使 Others 有r权限,也不能读取文件,因为 Owner 权限已经命中且没有读权限。


十四、权限检查实例

文件:

-rwxr-x---

Owner:

root

Group:

dev
用户所属关系最终权限
rootOwnerrwx
alice(属于 dev)Groupr-x
bob(不属于 dev)Others---

十五、常见权限场景

1. Shell 脚本无法执行

Permission denied

原因:

chmod +x script.sh

2. 无法进入目录

cd project

提示:

Permission denied

原因:

目录没有:

x

3. 能看到目录但不能进入

权限:

dr--r--r--

结果:

ls dir

可以(若父目录允许访问)。

cd dir

失败。


4. 能进入目录却不能列出内容

权限:

d--x--x--x

结果:

cd dir

可以。

ls dir

失败。

但如果已知文件名:

cat dir/test.txt

且文件本身有读权限,则可以访问。


十六、最佳实践

  1. 遵循最小权限原则:仅授予完成工作所需的最小权限,避免使用777

  2. 目录通常使用755750,普通文件通常使用644640;可执行程序根据需要设置为755

  3. 共享项目优先使用用户组管理权限,而不是将文件频繁修改为不同 Owner。

  4. 需要更细粒度控制时使用 ACL,而不是创建大量重复的用户组。

  5. 理解目录权限比文件权限更重要:文件能否删除、创建,主要取决于目录的wx权限,而不是文件自身的w权限。

  6. 定期检查权限:使用ls -lidgroupsnamei -l <path>等命令排查权限问题,必要时结合getfacl查看 ACL。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 11:13:26

Docker安装配置pgvector

Docker 安装与配置 pgvector 1. Docker 安装 PostgreSQL 并启用 pgvector 扩展 ####方法一&#xff1a;使用 Docker Compose&#xff08;推荐&#xff09; 创建一个 docker-compose.yml 文件&#xff0c;内容如下&#xff1a; version: 3.8 services:postgres:image: pgvec…

作者头像 李华
网站建设 2026/7/2 11:13:20

社会工程学渗透测试:从人性弱点到企业安全防线

1. 从“人”的弱点开始&#xff1a;重新认识社会工程学渗透测试很多人一听到“渗透测试”&#xff0c;脑子里蹦出来的可能就是命令行、漏洞扫描器、一堆看不懂的代码。但今天我想聊的&#xff0c;恰恰是其中最不“技术”&#xff0c;却又最致命、最防不胜防的一环——社会工程学…

作者头像 李华
网站建设 2026/7/2 11:11:32

后端程序员转AI:收藏这份进阶指南,轻松解锁大模型新技能!

本文为后端程序员提供转行AI领域的实用指南&#xff0c;分析自身优势&#xff0c;介绍AI工程师、大模型应用开发、算法及AI平台等职业方向&#xff0c;并规划分阶段学习路径&#xff08;基础、实战、聚焦&#xff09;&#xff0c;推荐相关工具框架&#xff0c;强调项目实战和求…

作者头像 李华
网站建设 2026/7/2 11:09:53

3PEAK思瑞浦 TPA158B4-S5TR-S SOT23-5 电流信号检测放大器

特性电压失调&#xff1a;150μV&#xff08;最大值&#xff09;宽共模电压&#xff1a;3.0V至150V电源电压&#xff1a;3.0V至20V精度和零漂移性能&#xff1a;0.55%增益误差&#xff08;温度范围内最大值&#xff09;20ppm/C增益漂移&#xff08;温度范围内最大值&#xff09…

作者头像 李华
网站建设 2026/7/2 11:09:32

一文搞懂 Linux ACL:突破传统 UGO 权限的局限

Linux 中的 ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09; 是对传统 Unix 权限&#xff08;rwx&#xff09;的扩展&#xff0c;它可以让一个文件或目录同时针对多个用户或多个组设置不同的权限。如果没有 ACL&#xff0c;一个文件只能设置&#xff…

作者头像 李华