前言在 Linux 系统中权限与用户管理是整个安全体系的基石。Linux 天生就是多用户、多任务系统不同用户、不同程序对文件能做什么、不能做什么完全由权限控制。理解这一章你才算真正踏入 Linux 运维与安全的大门。本文从用户与组的基本概念讲起详细拆解文件权限结构、权限修改、用户与组管理、sudo 提权等核心内容配合大量实战命令帮你彻底掌握 Linux 安全基础。一、为什么 Linux 如此强调权限Windows 系统大多是单用户日常使用权限相对宽松而 Linux 主要用于服务器、多用户共享环境必须严格隔离防止普通用户误删系统文件防止程序越权访问敏感数据多用户登录互不干扰服务进程以最小权限运行提高安全性Linux 的核心安全逻辑就是谁用户 / 组能对什么文件做什么操作读 / 写 / 执行。二、用户与用户组基本概念用户UserLinux 中每个登录者、每个服务都对应一个用户。root 用户超级管理员UID0拥有系统最高权限普通用户由 root 创建权限受限UID 从 1000 开始系统用户用于运行服务如 nginx、mysql、www-data不能登录用户组Group一组用户的集合方便统一分配权限。每个用户必须属于至少一个主组一个用户可以加入多个附加组对目录设置组权限后组内所有用户自动继承三个重要身份文件/etc/passwd所有用户信息/etc/group所有用户组信息/etc/shadow用户密码加密存储新手不必修改文件直接用命令管理即可。三、文件权限详解看懂 ls -l在终端输入bash运行ls -l会看到类似这样的结果plaintext-rw-r–r-- 1 ubuntu ubuntu 156 Apr 10 15:30 test.txtdrwxr-xr-x 2 ubuntu ubuntu 4096 Apr 10 15:30 testdir这一行共 10 个字符决定权限分为四部分第 1 位文件类型普通文件d 目录directoryl 软链接快捷方式c 字符设备b 块设备第 2–10 位三段权限每 3 位一组共三组所有者权限User文件拥有者所属组权限Group文件所属组的用户其他用户权限Other既不是所有者也不在组内的人每一位的含义r read 读w write 写x execute 执行无权限示例plaintextrw- r-- r–u g o所有者可读可写同组用户只读其他用户只读四、数字权限r4、w2、x1Linux 权限可以用数字表示这是运维最常用方式r 4w 2x 1相加组合6 42 → rw-5 41 → r-x7 421 → rwx最常用权限644文件默认安全权限所有者可写其他人只读755目录、脚本、程序可执行权限777最大权限任何人都可读写执行生产环境慎用五、修改权限chmod 命令数字方式修改推荐bash运行chmod 644 test.txtchmod 755 test.shchmod 700 private_dir字母方式修改u 所有者g 组o 其他a 所有bash运行chmod ux test.sh # 给所有者加执行权限chmod a-w test.txt # 所有人去掉写权限chmod gw testdir # 给组加写权限特别注意目录与文件权限区别文件 x允许执行程序 / 脚本目录 x允许进入该目录cd目录必须有 x 才能查看内部文件六、修改所有者与所属组chownbash运行chown 用户名 文件名chown :组名 文件名chown 用户:组 文件名示例bash运行sudo chown root:root test.txtsudo chown www-data:www-data /var/www/htmlchown 几乎都需要 sudo 或 root 权限。七、特殊权限SUID、SGID、粘滞位进阶必备生产环境高频使用SUID (us)作用于可执行文件让普通用户以文件所有者身份运行。bash运行chmod us /usr/bin/passwd表现为权限位出现 splaintext-rwsr-xr-xSGID (gs)作用于目录新建文件自动继承目录的组。bash运行chmod gs /data/share粘滞位 (ot)作用于公共目录限制用户只能删除自己的文件。典型/tmpbash运行chmod ot /tmp表现为权限位出现 tplaintextdrwxrwxrwt八、用户管理常用命令添加用户bash运行sudo useradd tomsudo passwd tom # 设置密码创建带家目录的用户推荐bash运行sudo useradd -m jack-m 自动创建 /home/jack删除用户bash运行sudo userdel tomsudo userdel -r jack # 同时删除家目录查看当前用户bash运行whoamiidid jack切换用户bash运行su - root # 切换到 root完整环境su - jack # 切换到 jackexit # 退回原用户九、用户组管理常用命令创建组bash运行sudo groupadd dev删除组bash运行sudo groupdel dev将用户加入组bash运行sudo usermod -aG dev jack-aG 追加到附加组不替换原有组查看用户所属组bash运行groups jack十、sudo 提权普通用户执行管理员命令root 密码不能随便给普通用户需要临时权限时用 sudo。基本用法bash运行sudo apt updatesudo rebootsudo chown root:root file配置 sudo 权限配置文件/etc/sudoers规范修改方式bash运行sudo visudo添加一行允许用户执行所有命令plaintextjack ALL(ALL:ALL) ALL生产环境可以限制仅允许某些命令提高安全性。十一、默认权限掩码umask系统新建文件 / 目录时自动使用的权限由 umask 控制。查看bash运行umask默认通常 022文件644666 - 022目录755777 - 022修改 umask临时bash运行umask 027十二、企业安全权限规范入门必背禁止使用 root 直接登录一律用普通用户 sudo重要系统文件权限保持 644目录 755脚本、二进制程序用 755禁止随意 777网站目录给 www-data 用户不给其他用户写权限公共目录使用粘滞位防止误删他人文件密码复杂度要高禁止弱密码重要文件权限异常时立即排查入侵十三、常见问题与坑执行脚本提示 Permission denied缺少 x 权限chmod x test.sh无法进入目录目录需要 x 权限chmod x dir普通用户不能修改文件要么改权限要么用 sudo要么改所有者rm 无法删除文件通常是父目录没有 w 权限或文件加了 i 权限扩展属性十四、总结Linux 权限体系看似复杂其实逻辑非常清晰一切权限围绕 用户、组、文件 三者展开r4、w2、x1 是数字权限核心chmod 改权限chown 改所有者用户用 useradd、组用 groupadd日常操作靠普通用户管理靠 sudo避免直接用 root掌握本章内容你已经具备 Linux 安全基础思维能够规范管理用户、合理分配权限、避免常见安全风险。下一篇我们进入 Linux 文本处理三剑客grep、sed、awk 核心实战这是日志分析、自动化运维必备的核心技能。