【Linux运维极简教程】03-用户与用户组管理
03 - 用户与用户组管理一、用户与组的概念Linux 是多用户操作系统通过用户和组来管理访问控制用户User系统中的每个使用者有唯一的 UID组Group用户的集合有唯一的 GID方便批量授权用户分类类型UID 范围说明超级用户0root拥有最高权限系统用户1~999服务运行专用如 nginx、mysql普通用户1000日常使用用户相关配置文件文件作用/etc/passwd用户基本信息/etc/shadow用户密码加密存储/etc/group组基本信息/etc/gshadow组密码# /etc/passwd 格式冒号分隔7 个字段# 用户名:密码占位:UID:GID:描述:家目录:登录Shellroot:x:0:0:root:/root:/bin/bash nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin# /etc/shadow 格式# 用户名:加密密码:最后修改天数:最小间隔:最大天数:警告期:禁用期:过期日期root:$6$xxx...:19000:0:99999:7:::二、用户管理2.1 创建用户 - useradd# 基本创建useraddalice# 常用选项useradd-m-s/bin/bash-cAlice Wangalice# -m 创建家目录# -s 指定登录 Shell# -c 添加描述信息# 指定 UID 和所属组useradd-u2000-gdevelopers-Gdocker,wheel bob# -u 指定 UID# -g 指定主组# -G 指定附加组多个用逗号分隔# 创建系统用户不创建家目录不可登录useradd-r-s/sbin/nologin appuserCentOS vs Ubuntu 差异CentOS 的useradd默认不创建家目录需加-mUbuntu 的adduser命令是交互式的更友好2.2 设置密码 - passwd# 设置自己的密码passwd# root 给其他用户设置密码passwdalice# 锁定/解锁用户密码passwd-lalice# 锁定passwd-ualice# 解锁# 强制用户下次登录时修改密码passwd-ealice2.3 修改用户属性 - usermod# 修改用户名usermod-lnewname oldname# 修改家目录usermod-d/home/newhome-malice# -m 迁移原家目录内容# 修改登录 Shellusermod-s/bin/zsh alice# 添加到附加组保留原有组usermod-aGdockeralice# 注意必须加 -aappend否则会覆盖原有附加组# 修改主组usermod-gdevelopers alice重要usermod -aG中的-a不可省略否则用户将从其他附加组中移除。2.4 删除用户 - userdel# 仅删除用户保留家目录userdelalice# 连同家目录一起删除userdel-ralice2.5 查看用户信息# 查看当前用户whoami# 查看用户 UID、GID 及所属组idalice# 查看用户的组信息groupsalice# 查看当前登录的用户whow# 更详细显示用户在做什么三、用户组管理3.1 创建组 - groupadd# 创建组groupadddevelopers# 指定 GIDgroupadd-g1500testers3.2 修改组 - groupmod# 修改组名groupmod-ndevteam developers# 修改 GIDgroupmod-g1600devteam3.3 删除组 - groupdelgroupdeldevteam如果组是某个用户的主组则无法删除。需先移除该用户或修改其主组。3.4 管理组成员 - gpasswd# 添加用户到组gpasswd-aalice developers# 从组中移除用户gpasswd-dalice developers# 设置组管理员gpasswd-Aalice developers# 批量添加多个用户到组gpasswd-Malice,bob,charlie developers四、sudo 权限管理sudo允许普通用户以 root 身份执行特定命令是生产环境推荐的做法优于直接使用 root。4.1 基本使用# 以 root 身份执行命令sudosystemctl restart nginx# 切换到 root 的 Shellsudo-i# 完整登录 Shellsudosu-# 效果类似# 查看当前用户的 sudo 权限sudo-l4.2 配置 sudo 权限# 使用 visudo 编辑推荐有语法检查visudo配置文件格式# 用户 主机(以谁的身份) 可执行的命令 alice ALL(ALL) ALL # alice 可以执行所有命令 bob ALL(ALL) /usr/bin/systemctl restart nginx # bob 只能重启 nginx %wheel ALL(ALL) ALL # wheel 组的所有成员常用 sudo 配置示例# 免密码执行 sudo开发环境常用aliceALL(ALL)NOPASSWD: ALL# 免密码执行特定命令deployALL(ALL)NOPASSWD: /usr/bin/systemctl, /usr/bin/journalctl# 允许运维组管理服务%opsALL(ALL)NOPASSWD: /usr/bin/systemctl restart *, /usr/bin/systemctl status *4.3 sudo 日志审计# sudo 操作会记录到日志中# CentOS/RHELgrepsudo/var/log/secure# Ubuntu/Debiangrepsudo/var/log/auth.log五、PAM 认证简介PAMPluggable Authentication Modules是 Linux 的可插拔认证框架控制用户登录、密码策略等。常见配置文件/etc/pam.d/# PAM 配置目录/etc/pam.d/sshd# SSH 登录认证/etc/pam.d/login# 本地登录认证/etc/security/limits.conf# 资源限制密码策略配置# /etc/login.defs - 全局密码策略PASS_MAX_DAYS90# 密码最大使用天数PASS_MIN_DAYS2# 密码修改最小间隔天数PASS_MIN_LEN12# 密码最小长度PASS_WARN_AGE7# 密码过期前警告天数六、实战场景场景一创建应用专用用户部署 Nginx 服务时创建专用用户# 创建系统用户不可登录useradd-r-s/sbin/nologin-d/var/lib/nginx-Mnginx# 验证idnginx# uid997(nginx) gid995(nginx) groups997(nginx)场景二创建运维团队并分配权限# 1. 创建运维组groupadd-g2000ops# 2. 创建运维用户并加入组useradd-m-s/bin/bash-Gops-u2001aliceuseradd-m-s/bin/bash-Gops-u2002bob# 3. 设置初始密码echoalice:InitPass2024!|chpasswdechobob:InitPass2024!|chpasswd# 4. 强制首次登录修改密码passwd-ealicepasswd-ebob# 5. 配置 sudo 权限visudo# 添加# %ops ALL(ALL) NOPASSWD: /usr/bin/systemctl, /usr/bin/journalctl, /usr/bin/yum场景三批量创建用户#!/bin/bash# batch_create_users.shUSER_LISTalice bob charlie dianaforuserin$USER_LIST;douseradd-m-s/bin/bash$userecho${user}:TempPass123!|chpasswdpasswd-e$userecho用户$user创建成功需首次登录修改密码done七、常见问题Q1用户登录提示 “This account is currently not available”用户的 Shell 被设为了/sbin/nologin或/bin/false。如需恢复登录usermod-s/bin/bash usernameQ2usermod -aG 后用户组没变用户需要重新登录才能生效。或者使用newgrp临时切换newgrpdockerQ3如何禁止某个用户登录但保留其服务运行# 方法一修改 Shellusermod-s/sbin/nologin username# 方法二锁定密码SSH 密钥仍可登录passwd-lusername# 方法三通过 SSH 配置echoDenyUsers username/etc/ssh/sshd_config systemctl restart sshd八、小结本篇介绍了 Linux 用户和组的完整管理流程包括创建、修改、删除、sudo 权限配置以及 PAM 认证基础。在生产环境中遵循最小权限原则——只给用户必要的权限避免直接使用 root。上一篇02 - 文件系统与权限管理下一篇04 - 进程与服务管理

相关新闻

含柔性互联点(SOP)的配电网拓扑优化Matlab工具包:SOCP建模+CPLEX求解

含柔性互联点(SOP)的配电网拓扑优化Matlab工具包:SOCP建模+CPLEX求解

本文还有配套的精品资源,点击获取 简介:一套开箱即用的配电网重构Matlab实现,专为含软开关点(SOP)的主动配电网设计。通过二阶锥规划(SOCP)对非线性潮流方程进行凸化处理,在保证精…

2026/7/14 1:23:28阅读更多 →
Django实现的个人天气查询小站,带账号体系和实时预报页面

Django实现的个人天气查询小站,带账号体系和实时预报页面

本文还有配套的精品资源,点击获取 简介:用Django搭起来的一个能跑在本地的天气查询小系统,用户可以注册新账号、登录、查看自己的信息,还能查当前城市或指定地点的天气预报。前端页面包括首页、登录页、注册页、结果展示页、用…

2026/7/14 1:23:28阅读更多 →
告别手动复制:基于浏览器控制台脚本的拼多多订单批量导出方案

告别手动复制:基于浏览器控制台脚本的拼多多订单批量导出方案

1. 为什么需要拼多多订单批量导出方案作为一个经常在拼多多购物的用户,我深刻体会到手动整理订单的麻烦。每次想统计月度消费、查找特定商品或者核对收货状态时,都得一页页翻看订单列表,然后手动复制粘贴到Excel。这种操作不仅效率低下&#…

2026/7/14 1:18:28阅读更多 →
从源码解析material-ui-chip-input实现原理:打造自定义标签输入组件

从源码解析material-ui-chip-input实现原理:打造自定义标签输入组件

从源码解析material-ui-chip-input实现原理:打造自定义标签输入组件 【免费下载链接】material-ui-chip-input A chip input field using Material-UI. 项目地址: https://gitcode.com/gh_mirrors/ma/material-ui-chip-input Material-UI Chip Input是一个基…

2026/7/14 17:50:47阅读更多 →
影刀RPA 字符串格式化:%s、format、f-string对比

影刀RPA 字符串格式化:%s、format、f-string对比

影刀RPA 字符串格式化:%s、format、f-string对比 作者:林焱 什么情况用 你在影刀RPA里需要拼一段文字——比如生成报表标题"2026年7月销售数据_共128条"、写日志"第3页采集成功,耗时12.5秒"、构造API请求URL"https…

2026/7/14 17:50:47阅读更多 →
Apc-extension实用技巧:10个提升VSCode界面效率的配置

Apc-extension实用技巧:10个提升VSCode界面效率的配置

Apc-extension实用技巧:10个提升VSCode界面效率的配置 【免费下载链接】apc-extension 项目地址: https://gitcode.com/gh_mirrors/ap/apc-extension Apc-extension是Visual Studio Code的终极界面定制扩展,它突破了VSCode原生设置的限制&#x…

2026/7/14 17:50:46阅读更多 →
影刀RPA 字典的使用:键值对数据的存储与查询

影刀RPA 字典的使用:键值对数据的存储与查询

影刀RPA 字典的使用:键值对数据的存储与查询 作者:林焱 字典是Python中最重要的数据结构之一。在RPA流程中,字典无处不在——API返回的JSON是字典、配置文件解析后是字典、Excel数据转成字典列表更好处理。但很多新手只会用列表,…

2026/7/14 17:50:46阅读更多 →
Claude技能库开发指南:从架构设计到生产部署的AI智能体实践

Claude技能库开发指南:从架构设计到生产部署的AI智能体实践

在 AI 智能体开发领域,Claude 技能库(Skills)已经成为构建专业级 AI 应用的重要基础设施。与传统的提示词工程不同,技能库通过结构化、可复用的方式封装特定领域的专业知识,让开发者能够快速构建出具备专业能力的 AI 智…

2026/7/14 17:50:46阅读更多 →
AI骨骼绑定工具UniRig:3分钟实现3D角色智能绑定与动画制作

AI骨骼绑定工具UniRig:3分钟实现3D角色智能绑定与动画制作

1. 项目概述:当AI遇见骨骼绑定,3D动画的“工业革命”如果你和我一样,在3D动画制作这条路上摸爬滚打过几年,那你一定对“骨骼绑定”这四个字又爱又恨。爱的是,它是赋予模型灵魂、让静态角色“活”起来的关键一步&#x…

2026/7/14 17:45:46阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →