Linux权限控制的核心是“谁对什么能做什么”,即用户身份决定访问能力、文件属性定义操作范围、组机制实现批量授权;三者结合构成安全高效的系统管理基础。

Linux 权限控制的核心是“谁对什么能做什么”——用户身份决定访问能力,文件属性定义操作范围,组机制实现批量授权。掌握这三者的关系和基本操作,就能安全、高效地管理大多数系统场景。
用户与组:权限分配的基本单位
Linux 把人分成三类角色:超级用户(root,UID=0)、系统用户(服务专用,UID 1–999)、普通用户(UID ≥1000)。每个用户有唯一 UID,同时属于一个主组(GID 记录在 /etc/passwd),还可加入多个附加组(记录在 /etc/group)。
组不是可有可无的辅助功能,而是权限管理的实用策略:给组设好权限,再把用户加进去,比逐个配用户更清晰、更易维护。
- 查看当前用户:whoami;查看所属组:groups
- 创建新用户并指定主组:sudo useradd -m -g dev zhangsan
- 把已有用户加入附加组:sudo usermod -a-G www-data lisi
- 新建用户组:sudo groupadd testers
文件权限三要素:所有者、所属组、其他人
每个文件/目录都有明确的拥有者(user)、所属组(group)和其他人(other)三类身份标识。权限检查按顺序匹配:先看是不是所有者,再看是否在所属组内,最后才落到“其他人”。一旦匹配成功,就不再继续检查后续层级。
用 ls -l 查看时,开头一串如 -rwxr-xr-- 的字符中:第1位是文件类型(- 普通文件,d 目录),后面每3位一组,分别对应所有者(u)、所属组(g)、其他人(o)的 r(读)、w(写)、x(执行)权限。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 对文件:r = 查看内容,w = 修改内容,x = 当作程序运行
- 对目录:r = 列出文件(ls),w = 新建/删除/重命名文件,x = 进入该目录(cd)
- 注意:仅对目录有 x 权限,才能访问其下的子项;没有 x,即使有 r 也看不到内容(ls 会报 Permission denied)
修改权限与归属:chmod、chown、chgrp
只有文件所有者或 root 才能更改其权限或归属。常用命令作用明确、组合灵活:
- chmod 644 file.txt:数字模式,6=110(rw-),4=100(r--),即所有者读写、组和其他人只读
- chmod u+x script.sh:符号模式,给所有者(u)增加(+)执行(x)权限
- chown alice:dev project/:把 project 目录的所有者改为 alice,所属组改为 dev
- chgrp -R testers logs/:递归(-R)把 logs 目录及全部内容的所属组改为 testers
提权执行与安全边界
普通用户不需长期切换为 root,而是用 sudo 临时获取高权限。系统通过 /etc/sudoers 配置哪些用户/组能执行哪些命令(推荐用 sudo visudo 编辑,自动语法检查)。
root 用户不受任何文件权限限制——哪怕一个文件权限是 ------(全无),root 依然可以读、写、删。这不是漏洞,而是设计:系统必须保留最终干预能力。但日常操作应避免直接以 root 登录或运行命令,减少误操作风险。
不复杂但容易忽略










