Linux 用户和组管理:第六章复习笔记

发布时间:2026/10/31 23:23:49

Linux 用户和组管理:第六章复习笔记 Linux 用户和组管理第六章复习笔记开头这两周 Linux 课开始讲用户和组管理了。说实话刚听的时候觉得有点绕——什么主组补充组、su和sudo的区别、/etc/passwd里那么多冒号分隔的字段……加上老师一边讲一边在黑板上画图我在底下照着敲命令总是敲错。我的环境是在笔记本上装的 VMware Workstation Pro跑的是 CentOS 7为了保险还打了快照。毕竟之前已经踩过好几次坑了——什么rm -rf多打了个斜杠、chmod把系统搞崩过——再也不敢莽了。这篇就是学完第六章之后自己梳理的笔记按知识点记的也把踩过的坑写进来了。三个核心文件passwd、shadow、group老师一上来就说 Linux 管理用户和组靠三个文件我当时心想文件不应该是数据库吗后来发现 Linux 就是这么设计的——一切皆文件。文件作用字段数/etc/passwd用户账户信息7 段/etc/shadow用户密码安全信息9 段/etc/group组信息4 段一开始我直接cat /etc/passwd看到一大堆不认识的用户吓了一跳。后来才知道很多是系统服务账号不是真人用户。用户名:密码占位符:UID:GID:注释:家目录:登录shell这里有个坑第一次看到x占位符的时候我以为密码就是 x心想这密码也太弱了。后来才知道真正的加密密码在/etc/shadow里passwd文件里只是占个位。# 看看自己账户的信息cat/etc/passwd|grep$(whoami)/etc/shadow里面有密码期限相关的字段这个在后面单独讲。组的概念为什么要有组刚学的时候觉得组这个机制挺多余的——我直接给每个用户设权限不行吗后来做实验的时候理解了假如服务器上有 10 个人都需要访问同一个项目目录没有组的话就要一个一个给权限10 个人还算好要是一百个人呢组就是给用户打个标签然后给标签设权限方便管理。主要组 vs 补充组这个点我一开始搞混了主要组用户创建文件时文件默认属于这个组。一个用户只有一个主组。补充组用户额外加入的组用来获取更多权限。一个用户可以加多个补充组。实验验证一下# 查看当前用户所属的组idgroups# 创建文件看看默认所属组touchtest.txtls-ltest.txt我之前的错误理解是主组和补充组是平级的都是用户属于的组。实际上主组决定了新建文件的默认属组这个区别很关键。su 和 sudo切换用户那点事这块的坑特别多我一个个说。su user vs su - user第一次在终端里试su的时候没加-切过去之后发现当前目录没变环境变量也没变我还以为命令没生效。# 不完全切换——环境变量沿用当前用户suzhangsanecho$HOME# 还是原来用户的 home# 完整登录切换——加载目标用户环境su- zhangsanecho$HOME# /home/zhangsan记忆方法加了-就是彻底换人不加就是换个马甲继续用su vs sudo vs sudo -i这三个的区别考试肯定会考我列了个表命令干什么需要谁的密码切换程度su root切换到 rootroot 密码不加载环境sudo 命令临时用 root 执行单条命令自己的密码仅单条命令sudo -i切换到 root 登录环境自己的密码完整登录第一次用sudo的时候报了这个错zhangsan is not in the sudoers file. This incident will be reported.我当时心想啥我还要被报告后来才知道需要把用户加到/etc/sudoers里才行。# 用 root 身份编辑 sudoers 文件建议用 visudo语法错了会报错visudo# 添加一行zhangsanALL(ALL)ALL踩坑千万不要手抖去直接vim /etc/sudoers然后写错语法会锁掉 sudo 权限。visudo命令会在你保存的时候检查语法这点很友好。添加和删除用户useradd 和 userdeluseradd的操作比较直观但userdel的-r选项值得注意。# 添加用户useraddzhangsanpasswdzhangsan# 删除用户不删家目录userdelzhangsan# 删除用户连带家目录和邮件一起删userdel-rzhangsan如果不加-r用户账号虽然删了但/home/zhangsan目录还在邮件文件/var/spool/mail/zhangsan也还在。时间长了会留下一堆僵尸目录。管理组成员# 把 zhangsan 加到 dev 组usermod-aGdev zhangsan注意-a必须和-G一起用。如果只写usermod -G不加-a会把用户从其他所有补充组里踢出去只剩下你指定的组。这个坑我在实验课上看旁边同学踩过他把自己从 wheel 组踢出去了结果 sudo 都用不了。能不能删除主组不能。如果一个组是某个用户的主组直接删会报错groupdel: cannot remove the primary group of user zhangsan要先改用户的主组再删usermod-gnewgroup zhangsangroupdeloldgroup密码期限chage 和 login.defs密码有效期这个点我之前完全没概念——我以为密码设了就永远不变了。后来学才知道企业里通常会要求定期改密码。两种配法方法作用范围命令/文件chage单个用户chage -M 90 zhangsan/etc/login.defs全局默认修改 PASS_MAX_DAYS 等参数# 查看用户密码期限chage-lzhangsan# 设置 90 天后密码过期chage-M90zhangsan# 强制用户下次登录改密码chage-d0zhangsannologin给系统账号用的禁入证看到/sbin/nologin的时候我疑惑了一下——为什么要有这种 shell后来老师解释像 nginx、mysql 这样的服务账号只需要在后台运行程序不需要登录终端。如果给它们设置/sbin/nologin即使有人尝试用这些账号 SSH 登录也会被直接拒绝。# 查看某个账号的 shellgrepnginx /etc/passwd# 输出类似nginx:x:998:996::/var/lib/nginx:/sbin/nologin这个设计挺巧妙的——不用额外配什么防火墙规则光从 shell 层面就堵死了系统账号的登录渠道。我踩过的坑合集坑情况su忘记加-切完发现环境没变以为自己没切成功sudo报 not in sudoers没配/etc/sudoers还以为 Linux 针对我看/etc/passwd以为密码是x不知道真正的密码在 shadow 里主组删除失败忘了主组不能直接删要先改用户的主组usermod -G忘记加-a把一个用户从其他组全踢出去了userdel不加-r以为用户删干净了留下一堆僵尸家目录最后说两句用户和组管理这块知识点不算多但容易混淆尤其是su/sudo/sudo -i这三兄弟的区别还有/etc/passwd和/etc/shadow的分工逻辑。第六章学完之后感觉对多用户系统有了更具体的理解——Linux 从一开始就是为多人同时使用设计的所以权限隔离做得特别细。不过命令真的容易忘usermod -aG的参数顺序我到现在有时还要--help查一下。下一章要学存储管理了听说要讲 LVM 和分区不知道又要踩多少坑。2026年7月 · 写于期末复习期间 · VMware 里的 CentOS 7 还开着上一条命令是chage -l $(whoami)
延伸阅读

更多相关文章

2026/10/25 7:23:22

Shaderlab相关知识

一、unity shader和材质的关系在上节中我们了解了shader的相关知识点,unity shader与shader是不同的概念,shader是运行在GPU的算法,unity shader相当于是 Unity 搞出来的一个“开箱即用套件”,它用 ShaderLab 语法把“UI界面、渲染…

2026/10/25 6:34:14

Docker中Jenkins密码重置的3种实用方案

1. 项目背景与需求解析在Docker Desktop环境中运行的Jenkins服务,密码管理是个看似简单却经常让开发者头疼的问题。上周我在本地开发环境就遇到了这个场景:新接手一个遗留项目,发现前任同事留下的Jenkins实例密码已经失效,而容器内…

2026/10/24 5:40:40

Linux企业级应用的核心优势与实战解析

1. Linux在企业级应用中的核心优势Linux作为开源操作系统的代表,在企业级应用中展现出独特的价值主张。从技术架构角度看,Linux采用模块化设计,内核仅提供基础功能,其他组件通过用户空间程序实现。这种设计使得系统维护和更新可以…

2026/10/31 23:21:21

C语言PTA理论考高频考点与易错点知识地图

简介:面向准备C语言程序设计考试与PTA理论测评的初学者及任课教师,这份文档围绕理论考场景整理了判断题、选择题及对应答案,可用于考前速查、课堂练习与错题复盘,帮助读者快速定位基础语法中的易混点。压缩包内共1个docx文件&…

2026/10/31 23:21:21

智能化开发工具链:CodeBuddy与GLM-4.7的实践指南

1. 智能化开发工作流的核心价值在当今快节奏的软件开发环境中,开发者面临着日益复杂的工具链和不断增长的生产力要求。CodeBuddy IDE、GLM-4.7和Spec-Kit的组合为这一挑战提供了创新解决方案。这套工具链的核心价值在于将AI能力深度集成到开发流程的每个环节&#x…

2026/10/31 23:21:21

OpenRig:用tmux+YAML构建高可靠AI多智能体编排系统

1. 项目概述:当AI智能体不再“单打独斗”,而开始“组队干活”你有没有试过让一个AI Agent去查天气、订会议室、再把会议纪要发到钉钉——结果它卡在“找不到钉钉API文档第3页的token字段”上,然后默默退出?这不是模型能力不行&…

2026/10/31 23:21:21

HTML语义化入门:从标题标签到文档大纲构建

1. 这不是“背标签”的笔记&#xff0c;而是前端工程师的文本语义训练手册 你打开任何一份正规项目的HTML源码&#xff0c;几乎不会看到连续五个 <div> 嵌套着三个 <span> 再包一层 <div class"wrapper"> 的写法——但初学者的练习页面里&a…

2026/10/31 23:21:21

从函数调用到安全沙箱:智能体执行层的工程实践与踩坑指南

1. 先把“执行”这一层想透&#xff1a;智能体凭什么能动手 1.1 从 Function Calling 到 Tool Use&#xff1a;一次调用的完整生命周期 真正把 LLM 从“对话机器人”变成“智能体”的分水岭&#xff0c;不是模型能写多长的作文&#xff0c;而是它能不能在对话之外真正做点事。…

2026/10/31 23:16:21

AI+python-pptx:打造免费可二开的自动化PPT生成系统

折腾这套自动化PPT生成系统&#xff0c;起因特别现实——我手上积压了太多对外分享的PPT需求&#xff0c;内容大同小异&#xff0c;但每回都要从空白模板开始排版&#xff0c;一弄就是半天。后来我把整个流程拆开看&#xff1a;内容生成交给模型&#xff0c;版式渲染交给程序&a…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介&#xff1a;这份PDF是全国计算机二级C语言考试的试题与答案解析&#xff0c;专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介&#xff1a;一份以实战为导向的Python爬虫入门资源&#xff0c;面向具备基本编程基础、希望快速掌握网络数据抓取的初学者&#xff0c;可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档&#xff0c;完整演示从网页中提取 标题…

2026/10/31 22:14:20

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介&#xff1a;这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档&#xff0c;压缩包大小七十八KB&#xff0c;内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开&#xff1a;先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介&#xff1a;本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包&#xff0c;专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片&#xff0c;标注质量高&#xff0c;同时提供VOC&#xff08;XML&#xff09;、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介&#xff1a;本资源为2017年HDU多校联合训练第一场官方配套资料&#xff0c;面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员&#xff0c;旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件&#xff0c;含15份C标程&#xff08;覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑