当前位置:首页>Linux>Linux 运维必学(十一)| 账号管理+ACL权限精讲,运维必备核心干货(可收藏)

Linux 运维必学(十一)| 账号管理+ACL权限精讲,运维必备核心干货(可收藏)

  • 2026-09-10 04:14:29
Linux 运维必学(十一)| 账号管理+ACL权限精讲,运维必备核心干货(可收藏)
账号与权限管理是Linux运维的地基核心,日常运维、服务器安全、面试高频考点全覆盖。
很多新手只会简单增删用户,却看不懂底层配置、不会精细化控权、不懂安全认证机制。
这篇文章去废话、重重点、强逻辑、可直接复用,零基础也能轻松吃透,建议收藏备查!

一、账号与群组核心基础

Linux不识别用户名,只识别ID。所有用户权限、身份归属,均由UID(用户ID)、GID(群组ID)管控。
💡快速查询:id 用户名,可校验用户是否存在、查看UID/GID及附属群组

1、四大核心配置文件(必考)

系统所有用户、密码、群组数据,全部固化在4个核心文件中:
✅ /etc/passwd(全局可读)
7个字段:账号名、密码占位符(x)、UID、GID、用户备注、家目录、登录Shell
💡 关键:Shell设为/sbin/nologin,用户无法终端登录,多用于程序账号
✅ /etc/shadow(密码专属、权限极高)
9个字段:账号名、加密密码、改密日期、密码最短间隔、密码有效期、过期警告天数、密码失效宽限、账号失效日期、保留字段
✅ /etc/group(群组基础信息)
4个字段:群组名、群组密码占位符、GID、附属用户列表
✅ /etc/gshadow(群组管理员配置)
4个字段:群组名、群组密码、群组管理员、附属用户;!/空密码代表无群组管理员

2、用户完整登录流程

  1. 读取 /etc/passwd,校验账号,读取UID、GID、家目录、Shell
  2. 匹配 /etc/shadow,校验输入密码与加密密码是否一致
  3. 验证通过加载环境完成登录,失败直接拒绝

3、初始群组 vs 有效群组

初始群组:用户创建时默认绑定的GID,写入passwd文件
有效群组:当前生效群组,新建文件的归属群组以有效群组为准
💡 查看:groups(第一个群组即为有效群组)
💡 切换:newgrp 群组名

4、两种群组机制

私有群组(CentOS/RHEL):新建用户自动创建同名群组,权限隔离性强(主流)
公共群组(SuSE):所有用户默认归属users群组,用户间可互相共享目录数据

二、PAM认证机制(Linux安全底层核心)

PAM是系统统一认证框架,登录、改密、su、sudo 所有权限校验都依赖它,是系统安全的底层基石。
配置目录:/etc/pam.d/(每个程序对应独立认证规则)

1、四大认证类型

  • auth:身份校验,核对账号密码
  • account:权限授权,校验账号有效期、登录权限
  • session:会话管理,记录登录日志、配置运行环境
  • password:密码管控,校验密码复杂度、修改密码

2、四种控制标志(规则生效逻辑)

  • required:失败仍走完所有流程,日志完整(最常用)
  • requisite:失败立即终止认证,直接拒绝
  • sufficient:认证成功立即放行,终止流程
  • optional:仅展示信息,不参与核心认证

3、常用核心模块

  • pam_nologin.so:拦截普通用户登录,root本地终端可例外
  • pam_unix.so:核心密码校验模块
  • pam_pwquality.so:密码复杂度限制
  • pam_limits.so:系统资源配额限制

4、运维日志路径

所有登录、认证、权限报错统一记录:/var/log/secure、/var/log/messages

三、账号与群组实操命令(全运维场景)

1、用户管理核心指令

useradd 新增用户
常用参数:-u 指定UID、-g 初始群组、-G 附属群组、-d 指定家目录、-s 指定Shell
默认自动创建家目录、同名群组,权限700;默认配置可通过 useradd -D 查看
passwd / chage 密码管控
passwd:设置/锁定/解锁用户密码
chage:精细化管控密码有效期、过期警告、账号失效时间
💡 强制首次登录改密:chage -d 0 用户名
usermod 修改用户信息:可修改UID、群组、家目录、Shell等所有用户配置
userdel 删除用户
userdel -r 用户名:彻底删除账号+家目录+邮箱文件
💡 最佳实践:删除前 find / -user 用户名,清理系统残留文件

2、简易用户查询指令

id、finger:查询用户身份、登录信息
chfn:修改用户备注信息
chsh:修改用户登录Shell

3、群组管理指令

groupadd:新建群组、groupmod:修改群组、groupdel:删除群组
gpasswd:设置群组密码、指定群组管理员、增删群组成员

四、身份切换:su & sudo(安全提权核心)

生产环境禁止root直接登录,普通用户通过 su/sudo 完成高权限操作。

1、su 切换用户

  • su -:完整切换用户环境(加载全部配置,推荐)
  • su -m:保留当前用户环境
  • su -c 指令:单次执行高权限指令,不切换终端

2、sudo 提权(企业主流)

无需切换账号,临时授权root权限,安全可控。
执行逻辑:校验sudoers权限→输入用户自身密码→执行指令(5分钟内免重复验证)
配置方式:visudo(自带语法校验,禁止直接vi编辑)
  1. 全员授权:用户 ALL=(ALL) ALL
  2. 群组授权:%群组名 ALL=(ALL) ALL
  3. 免密授权:%群组名 ALL=(ALL) NOPASSWD: ALL
  4. 精细化授权:限制指令、禁止修改root密码
  5. 别名配置:批量管理用户、指令、主机,适配多用户运维

五、ACL精细化权限(突破传统权限局限)

传统权限仅支持「所有者、群组、其他人」三种身份,管控粗糙。ACL可给指定用户/群组单独赋权,实现精细化权限隔离。
💡 特征:设置ACL后,文件权限末尾会出现+标识

1、核心指令

getfacl:查看文件/目录ACL权限
setfacl:配置ACL权限,常用参数:-m 设置、-x 删除、-b 清空、-R 递归、-d 默认继承

2、高频实操案例

  • 指定用户赋权:setfacl -m u:test:rx file
  • 指定群组赋权:setfacl -m g:testgroup:rwx file
  • 限制有效权限:setfacl -m m:r file
  • 目录权限继承:setfacl -m d:u:test:rx /data

3、Mask核心规则(重点)

  1. 配置任意ACL规则,系统自动生成mask
  2. mask仅限制附加用户、群组权限,不影响所有者和others
  3. 所有ACL权限必须在mask范围内才能生效

六、拓展运维工具:用户通讯与账号修复

1、在线用户查询

w/who:查看当前在线用户
last:查看全部历史登录记录
lastlog:查看所有账号最近登录时间

2、用户在线通讯

write:单发消息、wall:全员群发、mesg n:普通用户拒收消息(不拦截root)

3、系统邮箱

用户邮箱目录:/var/spool/mail/用户名,支持无交互指令发信

4、账号检测与修复工具

pwck:校验passwd/shadow文件合法性,排查字段错误、ID重复、家目录缺失、Shell无效等问题
pwconv:自动迁移passwd残留密码至shadow,统一系统密码存储规范
pwunconv:反向还原密码、删除shadow文件,生产环境禁用
chpasswd:批量无交互改密,实操:echo "test:123456" | chpasswd

写在最后

本文完整梳理账号群组基础、PAM底层认证、用户实操命令、sudo提权、ACL高级权限、运维工具全链路知识点。
全文遵循「底层原理→安全机制→实操落地→高级权限→拓展工具」的学习逻辑,无知识点断层、无冗余废话,适配新手入门、日常运维、面试突击,建议收藏留存!

最新文章

随机文章