在 Linux 系统运维中用户与组的管理是核心基础技能之一直接关系到系统的安全性与资源访问权限的管控。本文将从本地用户管理、本地组管理、密码策略配置三个维度结合实操案例与课后作业全面讲解 Linux 用户与组管理的核心操作与进阶技巧助力大家快速掌握系统权限管控精髓。文章目录一、本地用户管理基础操作与课后实战1.综合案例operator1 用户全流程管理实操2.进阶实战手动创建用户 zhangsan深入底层原理步骤1添加用户基础信息/etc/passwd步骤2创建用户专属组/etc/group步骤3配置用户密码/etc/shadow步骤4配置用户家目录/home/zhangsan常见故障排查与解决二、本地组管理组的创建、修改与成员管控1.groupadd创建新组2.groupmod修改组属性3.groupdel删除组4.groupmems管理组成员5.练习组管理实操三、用户密码管理策略配置与安全管控1. /etc/shadow 文件解析2.chage精细化配置密码策略3.usermod用户密码与登录权限管控4.passwd快速管理用户密码5.进阶技巧创建 UID 为 0 的特权用户四、拓展Linux 登录 Shell 管理五、总结一、本地用户管理基础操作与课后实战Linux 系统中用户信息主要存储在/etc/passwd用户基础信息、/etc/shadow密码加密信息两个核心配置文件中掌握用户的创建、修改、验证与删除是运维入门的必备技能。1.综合案例operator1 用户全流程管理实操以下为完整实操命令涵盖用户创建、信息验证、属性修改、组关联及删除全流程可直接复制执行需 root 权限# 1. 创建 operator1 用户useraddoperator1# 2. 使用 id 命令验证用户基础信息UID、GID、所属组等idoperator1# 3. 查看 /etc/passwd 中 operator1 对应的条目验证用户基础配置grepoperator1 /etc/passwd# 4. 为 operator1 设置密码为 redhat--stdin 实现非交互式密码设置echoredhat|passwd--stdinoperator1# 5. 修改 operator1 用户的 UID 为 1088需确保 UID 未被占用usermod-u1088operator1# 6. 修改 operator1 用户的描述信息为Operator One完善用户备注usermod-cOperator Oneoperator1# 7. 将 wheel 组管理员特权组作为补充组添加给 operator1usermod-aGwheel operator1# 8. 查看 /etc/group 中 wheel 组条目验证用户是否成功加入grepwheel /etc/group# 9. 删除 operator1 用户-r 参数连带删除家目录及相关文件userdel-roperator12.进阶实战手动创建用户 zhangsan深入底层原理通过手动修改配置文件创建用户能更清晰理解 Linux 用户管理的底层逻辑核心涉及4个关键步骤缺一不可步骤1添加用户基础信息/etc/passwd编辑/etc/passwd文件在末尾添加用户条目注意 UID 需在系统现有基础上递增避免冲突vim/etc/passwd# 末尾添加如下内容格式用户名:密码占位符:UID:GID:描述:家目录:登录Shellzhangsan:x:1002:1002::/home/zhangsan:/bin/bash步骤2创建用户专属组/etc/groupLinux 默认创建用户时会同步创建同名组手动创建需在/etc/group中添加对应组条目vim/etc/group# 末尾添加如下内容格式组名:密码占位符:GID:组成员zhangsan:x:1002:步骤3配置用户密码/etc/shadow/etc/shadow存储用户加密密码及密码策略手动添加需确保密码加密格式正确可复制现有用户加密串修改vim/etc/shadow# 末尾添加如下内容格式用户名:加密密码:最后修改时间:最小有效期:最大有效期:警告期:非活跃期:过期时间:保留字段zhangsan:$6$FgUNKn74yoEDbcXD$pxDk9AEhsxkJGYi76Rv91zLy5LRns8olgAyGuNssQYG07ypaidhuX0gHAU4hrNi9Zp9A7vtMEvbyzCQ0e/gbk1::0:99999:7:::步骤4配置用户家目录/home/zhangsan用户家目录是用户登录后的默认工作目录需从/etc/skel模板目录复制基础配置并修改权限# 复制模板目录到用户家目录cp-r/etc/skel/ /home/zhangsan# 修改家目录所属用户和组为 zhangsanchownzhangsan:zhangsan /home/zhangsan# 验证家目录权限ll-d/home/zhangsan常见故障排查与解决手动创建用户或日常运维中常遇到家目录缺失、权限不足等问题以下为两种典型故障及解决方法故障1家目录缺失现象登录时提示Could not chdir to home directory /home/zhangsan: No such file or directory解决重新复制模板目录并修改权限执行命令cp -r /etc/skel/ /home/zhangsan chown -R zhangsan:zhangsan /home/zhangsan故障2家目录权限不足现象登录时提示Could not chdir to home directory /home/zhangsan: Permission denied解决修改家目录权限赋予用户读写执行权限执行命令chown -R zhangsan:zhangsan /home/zhangsan chmod urwx /home/zhangsan二、本地组管理组的创建、修改与成员管控Linux 中组用于批量管理用户权限通过组权限可快速实现多个用户的资源访问管控核心涉及groupadd、groupmod、groupdel、groupmems四个命令。1.groupadd创建新组用于创建新的用户组可指定组名、GID默认 GID 会在系统现有基础上递增# 创建名称为 admin 的普通组groupaddadmin# 创建名称为 sysadmin 的组指定 GID 为 2000需确保 GID 未被占用groupaddsysadmin-g2000# 验证组是否创建成功grepadmin /etc/group2.groupmod修改组属性用于修改已存在组的名称、GID 等属性修改后需验证配置文件确保生效# 修改组名称将 admin 组重命名为 adminsgroupmod--new-name admins admin# 修改组 GID将 admins 组的 GID 修改为 2002groupmod-g2002admins# 验证修改结果grepadmins/etc/group3.groupdel删除组用于删除不再使用的组注意若组为某用户的主组需先修改用户主组再删除该组# 删除 sysadmin 组groupdelsysadmin# 验证组是否删除成功grepsysadmin /etc/group4.groupmems管理组成员用于批量添加、删除、列出组成员仅 root 用户可操作其他组普通用户仅可管理自身所属组# 查看命令帮助groupmems--help# 1. 添加成员将 csh 用户添加到 admins 组groupmems-gadmins-acsh# 2. 列出组成员查看 admins 组的所有成员groupmems-gadmins-l# 3. 删除成员将 csh 用户从 admins 组中删除groupmems-gadmins-dcsh# 4. 清空成员清空 admins 组的所有成员groupmems-gadmins-p5.练习组管理实操结合上述命令完成以下组管理实操巩固核心技能# 1. 创建 developer 组指定 GID 为 2000groupadddeveloper-g2000# 2. 修改 developer 组名称为 developersGID 修改为 3000groupmod--new-name developers-g3000developer# 3. 创建 developer1 用户并将其添加到 developers 组作为补充组useradddeveloper1groupmems-gdevelopers-adeveloper1# 4. 将 developer1 用户从 developers 组中删除groupmems-gdevelopers-ddeveloper1# 5. 删除 developers 组groupdeldevelopers三、用户密码管理策略配置与安全管控用户密码是系统安全的第一道防线Linux 通过/etc/shadow文件存储密码信息及策略通过chage、usermod、passwd等命令可实现密码策略的精细化管控。1. /etc/shadow 文件解析/etc/shadow文件每行对应一个用户的密码信息以冒号分隔9个字段核心字段含义如下以用户 csh 为例# 查看用户密码信息grepcsh /etc/shadow# 示例输出csh:$6$m0OgWyIu$P2TF1pB8MO...J3LopEUdhmp/Ir/:19300:0:99999:7:::各字段含义从左到右登录名用户登录系统的用户名与/etc/passwd中用户名一致加密密码采用 SHA-512 算法加密的密码串若为空表示无密码若为!表示密码被锁定最后密码修改时间距离1970年1月1日的天数设置为0表示强制用户下次登录时修改密码最小密码生命周期用户两次修改密码的最小间隔天数设置为0表示可随时修改最大密码生命周期密码的有效天数到期后需修改密码密码警告期密码过期前系统提前警告用户的天数密码非活跃期密码过期后用户仍可登录的宽限天数到期后账户锁定账户过期时间账户的有效截止日期以距离1970年1月1日的天数表示到期后账户无法登录保留字段预留字段暂未使用。2.chage精细化配置密码策略chage命令用于查看、修改用户密码策略是实现密码安全管控的核心命令常用参数及实操如下# 1. 查看用户密码策略详情chage-lcsh# 2. 修改密码最大有效期设置 csh 用户密码100天后过期chage-M100csh# 3. 修改密码最小有效期设置 csh 用户密码3天内不允许修改chage-m3csh# 4. 强制用户下次登录修改密码设置最后密码修改时间为0chage-d0csh# 5. 锁定用户账户设置账户过期时间为过去日期如1970-01-01chage-E1970-01-01 csh3.usermod用户密码与登录权限管控usermod命令可实现密码批量复制、登录 Shell 限定、密码锁定/解锁等操作适用于批量运维场景# 1. 批量复制密码将 laowang 用户的密码设置为与 laoma 一致无需交互# 先查看 laoma 的加密密码串grepcsh /etc/shadow# 复制加密串替换到以下命令中usermod-p$6$m0OgWyIu$P2TF1pB8MO...J3LopEUdhmp/Ir/laowang# 2. 删除用户密码清空 laowang 用户密码登录时无需输入密码usermod-plaowang# 3. 限定用户登录 Shell将 laowang 用户的登录 Shell 修改为 /sbin/nologin禁止登录usermod-s/sbin/nologin laowang# 4. 恢复用户登录 Shell将 laowang 用户的登录 Shell 改回 /bin/bashusermod-s/bin/bash laowang# 5. 锁定用户密码锁定 laowang 用户密码禁止登录等效于 passwd -lusermod-Llaowang# 6. 解锁用户密码解锁 laowang 用户密码恢复登录等效于 passwd -uusermod-Ulaowang# 7. 设置账户过期时间设置 laowang 用户账户2024年7月18日过期usermod-e2024-07-18 laowang4.passwd快速管理用户密码passwd命令是管理用户密码的基础命令适用于单用户密码设置、删除、锁定等场景# 1. 非交互式设置密码为 laowang 设置密码为 redhatechoredhat|passwd--stdinlaowang# 2. 删除用户密码清空 laowang 用户密码等效于 usermod -p passwd-dlaowang# 3. 锁定用户密码锁定 laowang 用户密码等效于 usermod -Lpasswd-llaowang# 4. 解锁用户密码解锁 laowang 用户密码等效于 usermod -Upasswd-ulaowang5.进阶技巧创建 UID 为 0 的特权用户Linux 中 UID 为 0 的用户拥有 root 管理员权限可通过以下两种方式创建特权用户谨慎操作避免安全风险# 方法一手动修改 /etc/passwd 文件将用户 UID 改为 0vim/etc/passwd# 将 csh 用户的 UID 改为 0格式如下csh:x:0:1000:csh:/home/csh:/bin/bash# 方法二使用 useradd 命令-o 表示允许 UID 重复-u 指定 UID 为 0useradd-o-u0csh# 验证用户权限idcsh四、拓展Linux 登录 Shell 管理登录 Shell 是用户登录系统后默认的交互环境Linux 支持多种 Shell可根据需求安装、切换核心操作如下# 1. 查看系统中已安装的 Shell 清单cat/etc/shells# 2. 查看默认 Shell 关联关系/bin/sh 软链接到 bashll /bin/sh /usr/bin/sh# 3. 安装额外 Shell如 tmux、cshyuminstall-ytmux tcsh# 4. 验证安装结果ll /bin/csh /usr/bin/csh补充tmux 是一款终端复用工具登录后可通过快捷键Ctrlb实现会话管理常用快捷键c新建会话、数字键切换对应编号会话。五、总结Linux 用户与组管理的核心是围绕/etc/passwd、/etc/group、/etc/shadow三个配置文件通过各类命令实现用户、组的创建、修改、删除及权限管控。掌握基础操作是前提理解底层配置文件的逻辑是关键而精细化的密码策略与权限管控是保障系统安全的核心。希望本文的实操案例与技巧能帮助大家快速提升 Linux 运维技能从容应对各类权限管控场景。如果大家在实操过程中有疑问欢迎在评论区留言交流一起探讨 Linux 运维的进阶技巧