Linux 用户、组与权限、提权完整保姆教程新手友好 前置基础Linux 基础命令、/etc/passwd 基础认知目录本地用户实操综合案例手动创建用户 家目录各类故障修复用户组全套命令groupadd/groupmod/groupdel/groupmems用户密码管理 /etc/shadow 详解 chage 密码时效控制用户锁定、禁用、UID0 高危账号讲解系统支持的 Shell 类型用户切换工具 su 完整用法区分安全提权工具 sudo 配置与实战Linux 文件基础权限入门全文核心总结一、本地用户实操综合案例operator1 用户完整实操流程# 1、创建普通用户operator1 # useradd 默认行为自动生成同名主组、自动创建/home/operator1家目录、默认shell /bin/bashuseraddoperator1# 2、id查看用户完整身份信息 # id 输出uid(用户ID)、gid(主组ID)、所有附属组列表idoperator1# 3、过滤查看/etc/passwd中operator条目 # ^operator1: 精准匹配行首防止匹配包含operator1的无关字符串grep^operator1:/etc/passwd# 4、设置用户密码redhat # 方式1交互式输入密码手工操作推荐输入密码屏幕不回显passwdoperator1# 方式2非交互管道设置脚本批量自动化使用仅RHEL/CentOS支持--stdinechored|passwd--stdinoperator1# 5、修改用户UID为1088 # -u 指定新UID编号UID全局唯一usermod-u1088operator1# 修改UID后家目录内文件属主不会自动同步必须递归修复权限否则文件无法读写chown-Roperator1:operator1 /home/operator1# 再次校验UID是否修改成功idoperator1# 6、修改用户备注描述信息 # -c 修改passwd第五段GECOS注释字段用于标注用户身份usermod-cOperator Oneoperator1# 查看修改后的passwd条目grep^operator1:/etc/passwd# 7、追加wheel管理员附属组 # -a 代表append追加大写G代表附属组不加-a会清空原有全部附加组usermod-aGwheel operator1# 验证附属组是否新增wheelidoperator1# 8、查看/etc/group中wheel组内容 # wheel组是CentOS管理员特权组组末尾逗号分隔所有附属用户grep^wheel:/etc/group# 9、彻底删除用户 # -r 参数同步删除用户家目录 /home/operator1 和对应系统邮件文件userdel-roperator1二、底层原理手动创建用户不使用 useradduseradd 会自动修改系统配置、创建家目录手动修改能理解用户存储底层逻辑# 1、手动编辑/etc/passwd添加用户基础信息 vim/etc/passwd# 文件末尾新增一行7段用冒号分隔UID/GID选用未占用数字zhangsan:x:1002:1002::/home/zhangsan:/bin/bash# 2、手动编辑/etc/group创建同名主组 vim/etc/group# 组格式组名:密码占位:GID:附属用户空代表无附属成员zhangsan:x:1002:# 3、手动编辑/etc/shadow写入加密密码 vim/etc/shadow# 第二段为加密密码串密码明文为redhatzhangsan:$6$FgUNKn74yoEDbcXD$pxDk9AEhsxkJGYi76Rv91zLy5LRns8olgAyGuNssQYG07ypaidhuX0gHAU4hrNi9Zp9A7vtMEvbyzCQ0e/gbk::0:99999:7:::# 4、复制系统骨架文件到家目录 # /etc/skel存放用户初始配置模板.bashrc .bash_profile等环境文件cp-r/etc/skel/ /home/zhangsan# 5、修改家目录归属用户与组 chownzhangsan:zhangsan /home/zhangsan# 6、查看家目录权限验证 ll-d/home/zhangsan# 7、ssh本地登录测试账号 sshzhangsanlocalhost用户家目录三大常见故障与修复故障 1登录提示符变为-bash-4.2$故障原因全局 shell 配置文件 /etc/bashrc 丢失无法加载提示符样式# 模拟故障备份改名原文件mv/etc/bashrc{,.ori}# 新开终端复现异常提示符bash# 恢复原配置文件mv/etc/bashrc{.ori,}# 重新打开终端生效bash故障 2登录提示 No such file or directory 找不到家目录# 模拟故障彻底删除用户家目录rm-fr/home/zhangsan# 修复步骤1重新复制系统骨架模板cp-r/etc/skel/ /home/zhangsan# 修复步骤2递归修改目录归属chownzhangsan:zhangsan /home/zhangsan故障 3家目录权限不足 Permission denied# 模拟故障移除用户所有读写执行权限chmodu- /home/zhangsan# 修复1递归修改目录与内部文件属主chown-Rzhangsan:zhangsan /home/zhangsan# 修复2给目录所有者赋予完整读写执行权限chmodurwx /home/zhangsan# 校验目录权限ll-d/home/zhangsan三、本地用户组全套管理命令1 groupadd 创建用户组# 创建普通组admin系统自动分配未占用GIDgroupaddadmin# -g 指定自定义GID2000创建sysadmin组groupaddsysadmin-g2000# 过滤查看/etc/group内admin相关组信息grepadmin /etc/group2 groupmod 修改组属性# --new-name 修改组名将admin重命名为adminsgroupmod--new-name admins admin# -g 修改组ID为2002groupmod-g2002admins# 校验修改后的组信息grepadmins/etc/group3 groupdel 删除用户组# 删除sysadmin组注意该组不能是任何用户的主组否则删除失败groupdelsysadmin# 验证是否删除成功无输出代表已删除grepsysadmin /etc/group4 groupmems 专门管理组附属成员# 查看groupmems全部参数说明groupmems--help# -g 指定目标组admins-a 添加XXX到该组附属成员groupmems-gadmins-aXXX# -l 列出目标组内所有附属用户groupmems-gadmins-l# -d 从组中删除指定用户XXXgroupmems-gadmins-dXXX# -p 一键清空组内所有附属成员groupmems-gadmins-p四、用户密码管理 /etc/shadow 与 chage4.1 /etc/shadow 九段字段详解# 过滤XXX用户的shadow完整条目grepXXX /etc/shadow# 示例输出XXX:$6$m0OgWyIu$P2TF1pB8MO...J3LopEUdhmp/Ir/:19300:0:99999:7:::# 字段拆分# 1 用户名# 2 加密密码串 $6代表sha512加密算法# 3 上次改密码距离1970-01-1总天数0登录强制改密码# 4 最小修改间隔天数0代表随时可改密码# 5 密码最大有效天数# 6 过期前提前告警天数# 7 密码过期宽限天数# 8 账号整体过期天数# 9 预留空字段4.2 chage 管控密码生命周期# -l 列出用户完整密码时效配置chage-lXXX# -M 设置密码最大有效期100天chage-M100XXX# -m 设置两次改密码最少间隔10天chage-m10XXX# -d 0 下次登录强制修改密码chage-d0XXX# -E 指定账号整体过期日期格式 YYYY-MM-DDchage-E2026-12-31 XXX4.3 用户锁定、禁用、密码操作# 锁定用户密码 # -L 锁定shadow密码字段无法登录usermod-Llaowang# -U 解锁密码usermod-Ulaowang# 修改登录shell禁止登录 # /sbin/nologin 无登录权限多用于服务账号usermod-s/sbin/nologin laowang# 恢复登录bashusermod-s/bin/bash laowang# 清空用户密码免密登录 passwd-dlaowang# 复制他人加密密码给当前用户 # 提取laowang的加密密码字符串greplaowang /etc/shadow# -p 直接填入加密串同步密码usermod-p$6$dQcDSqtz$Nboi6QLMzscWSLvnnRO86gm3XI/qbgfnK5zVv2Ix13EktQ97vwNsqQlrfI2K/b1mVnHNgzmMNIb0P4HnTugog/XXX# -p 后为空字符串清空密码usermod-pXXX4.4 高危UID0 特权账号UID0 拥有系统全部最高权限生产严禁使用# 方式1手动修改/etc/passwd中UID为0vim/etc/passwd XXX:x:0:1000:XXX:/home/XXX:/bin/bash# 方式2useradd -o 允许重复UID创建账号# -o 取消UID唯一性校验useradd-o-u0XXX# 验证UID为0等同于root权限idXXX4.5 系统可用 Shell 查看安装# 查看系统所有合法登录shell列表cat/etc/shells# 查看sh软链接指向bashll /bin/sh /usr/bin/sh# 安装tcsh、tmux扩展shell工具yuminstall-ytcsh tmux# 查看csh软链接ll /bin/csh /usr/bin/csh五、su 用户切换命令详解两种切换模式区别# 模式1su 用户名 非登录shell # 仅切换身份保留当前用户所有环境变量su# 输入root密码切换# 模式2su - / su -l 完整登录shell推荐 # 完整加载目标用户家目录、环境变量环境纯净su-l# 简写等价写法su-# 单次以指定用户执行命令 # -c 后面命令整体用单引号包裹防止变量提前解析su-llaowang-ccat /etc/hosts# nologin账号强制指定bash登录 # 账号默认shell为nologin-s临时指定bashsu-ladm-s/bin/bash# nologin账号提示符异常修复# 复制skel模板到adm家目录cp/etc/skel/{.bash_profile,.bashrc}/var/adm# 重新登录suadm-l-s/bin/bash六、sudo 安全提权完整配置su 缺陷需要 root 密码、无操作审计日志、无法精细化分配权限sudo 优势输入自身密码、操作记录存入 /var/log/secure、可限制可执行命令# 普通用户临时以root执行id命令sudoid# 配置sudo权限 visudo # 指定默认编辑器为vimexportEDITORvim# 专用编辑工具自动校验语法禁止vim直接改/etc/sudoersvisudo# visudo内置默认规则说明# root 拥有全部管理员权限rootALL(ALL)ALL# %代表组wheel组所有用户拥有全部权限%wheelALL(ALL)# 案例1laowang拥有全部sudo权限laowangALL(ALL)ALL# 案例2laowang免密执行所有管理员命令laowangALL(ALL)NOPASSWD:ALL# 案例3最小权限仅允许用户管理命令laowangALL(ALL)/sbin/useradd,/sbin/usermod,/sbin/userdel# 分片配置文件推荐不修改主文件 # 单独创建laowang权限配置文件echolaowang ALL(ALL) NOPASSWD:ALL/etc/sudoers.d/laowang# 查看分片配置内容cat/etc/sudoers.d/laowang# 高危提权漏洞演示 # 创建测试用户useraddxiaoniuma# 设置密码echo123|passwd--stdinxiaoniuma# 仅授予sudo vim权限echoxiaoniuma ALL(ALL) /bin/vim/etc/sudoers.d/xiaoniuma# 用户执行sudo vim /etc/passwd 可修改任意账号UID0获取最高权限# 还原环境userdel-rxiaoniumarm-f/etc/sudoers.d/xiaoniumasudo 使用规范总结日常运维优先sudo避免长期su -停留在 root 权限遵循最小权限原则不随便授予 ALL 全部权限新增权限写入/etc/sudoers.d/分片文件不修改主文件定期查看/var/log/secure审计管理员操作日志七、Linux 文件基础权限入门# 查看文件完整权限、属主、属组ls-lmyfile# 输出示例-rw-r-----. 1 XXX wheel 2262 Dec 23 08:47# 分段拆解# 第1字符文件类型 -普通文件 d目录 l软链接# 2-4位 u(所有者)权限 r读 w写 x执行# 5-7位 g(同组用户)权限# 8-10位 o(其他所有人)权限# 权限字母含义# r read 可读# w write 写入、删除# x execute 可执行文件 / 进入目录# 示例 -rw-r--r-- 解读# 文件所有者可读可写无执行权限# 同组用户仅可读# 其他用户仅可读八、全文核心总结用户标准化操作useradd/usermod/userdel禁止手动修改 passwd组管理命令groupadd/groupmod/groupdel/groupmems加密密码、账号时效存储在/etc/shadowchage控制密码过期规则家目录故障通用修复方案复制/etc/skel模板 修正文件归属切换用户优先su -完整登录模式环境变量完整规范生产环境统一使用sudo精细化提权禁止共享 root 密码UID0、sudo 授予 vim 属于高危安全漏洞线上环境禁止配置文件权限分为所有者、同组、其他三类r/w/x 分别控制读写执行注部分内容可能由 AI 生成