Linux用户与权限管理看这一篇就够了!从零基础到实战,彻底搞懂用户/组/sudo
Linux用户与权限管理从入门到实战零基础也能轻松掌握从“小白懵圈”到“熟练配置”一文搞定用户、组、权限那些事儿一、为什么我们要管用户和权限想象一下你租了一间合租房大门钥匙root密码每个人都能复制今天张三带朋友来明天李四搬走东西最后屋里丢了东西都不知道该找谁。Linux系统如果不做用户管理所有人共用 root 超级管理员后果就是这样没有操作日志——谁动了配置文件查不到人误操作风险极高——一个rm -rf /*可能让整个服务器瘫痪权限无边界——开发、测试、运维都用同一个账号数据库和网站代码随便删用户管理的核心目标让“谁、什么时候、做了什么”清清楚楚同时做到最小权限原则——每个账号只拥有完成自己工作所必须的权限。二、用户信息存在哪三座“档案库”Linux 把所有用户和组的信息存放在三个文本文件中它们就是系统账号管理的“户籍档案”文件存储内容用途/etc/passwd用户名、UID、主组ID、家目录、登录Shell基本账户信息密码已移走/etc/shadow加密后的密码、密码过期策略真正存放密码的地方权限极高/etc/group组名、GID、组成员列表组信息及成员关系⚠️新手注意千万不要用vim直接编辑这些文件必须用系统提供的命令如useradd、usermod来修改否则格式出错会导致无法登录。三、组管理——先把“部门”建好在创建用户之前通常先创建组好比公司先设部门再招人。3.1 创建组 ——groupadd# 创建一个名为 devops 的组sudogroupadddevops# 创建组并指定 GID组ID为 3000sudogroupadd-g3000dba新手常见报错如果你创建组时提示group xxx already exists说明组名已被占用。可以用-f强制忽略或换个组名。3.2 修改组 ——groupmod# 把组名 devops 改为 opssudogroupmod-nops devops# 修改组的 GID 为 4000sudogroupmod-g4000ops3.3 删除组 ——groupdelsudogroupdelops踩坑预警如果某个用户的主组primary group正是这个组那么无法删除该组你必须先把用户的主组改掉或删除用户才能删组。四、用户管理——招人、换岗、离职4.1 添加用户 ——useradd# 最简单的创建Rocky/CentOS 自动建家目录、指定 bashsudouseradddev_user# Ubuntu 必须加上 -m创建家目录和 -s指定Shellsudouseradd-m-s/bin/bash dev_user# 指定 UID、主组、附加组sudouseradd-u2000-gdevops-Gdba,developer app_admin关于主组 vs 附加组新手最晕的主组Primary Group每个用户必须有且只有一个新建文件时默认所属组就是它。附加组Supplementary Groups可以有 0 个或多个用于授予额外权限比如让开发人员临时加入运维组。创建用户时如果不指定-g系统会自动创建一个与用户名同名的组作为主组。常用选项一览选项含义备注-m创建家目录Rocky 可省Ubuntu 必加-s指定登录 Shell如/bin/bash或/sbin/nologin禁止登录-u指定 UID-g指定主组组必须已存在-G指定附加组多个组用逗号分隔-r创建系统用户无家目录不可登录用于运行服务进程4.2 修改用户 ——usermod# 修改用户的 Shellsudousermod-s/bin/bash dev_user# 修改家目录同时迁移数据sudousermod-d/opt/dev_user-mdev_user# 添加附加组千万注意 -a 选项sudousermod-aGdba dev_user# ✅ 追加 dba 组sudousermod-Gdba dev_user# ❌ 会覆盖掉之前所有的附加组新手翻车现场很多人忘记加-a结果用户只剩一个dba组原来在wheel等组里的权限全部丢失。记住-aG是标配-G单独用是重置。锁定和解锁用户# 锁定用户无法登录sudousermod-Ldev_user# 解锁sudousermod-Udev_user锁定后/etc/shadow中该用户密码字段前会多一个!符号。4.3 删除用户 ——userdel# 仅删除用户家目录和邮箱保留sudouserdeldev_user# 删除用户并同时删除家目录和邮箱-rsudouserdel-rdev_user 工作场景中通常建议先备份用户数据再用-r彻底清理避免遗留孤儿文件。4.4 设置密码 ——passwd与chpasswd交互式设置需要输入两次sudopasswddev_user非交互式适合脚本——Rocky 和 Ubuntu 通用echodev_user:MyPass123|sudochpasswdRocky 还支持echo MyPass123 | passwd --stdin dev_user但 Ubuntu 不支持所以推荐统一用chpasswd。五、Linux 权限模型 UGO —— 文件三权分立Linux 中每个文件/目录都有属主User、属组Group和其他人Other三类访问者各自拥有一套读r、写w、执行x权限。5.1 rwx 对文件和目录的“大不同”权限对文件的意义对目录的意义r读可以cat查看文件内容可以ls罗列文件夹内全部资源需配合 xw写可以vim修改内容可以在目录内创建、删除、重命名文件需配合 xx执行可以运行该程序/脚本可以cd进入目录是访问内部文件的前提新手容易犯的错误给目录只赋r权限而没有x导致无法cd进去只能看名字却进不去。5.2 权限表示法字符法rwxr-x---前三位属主rwx、中三位属组r-x、后三位其他人—。数字法将每组 rwx 视为二进制有权限为1无则为0转十进制。rwx 111 7r-x 101 5--- 000 0 → 750。六、修改权限与属主 —— 日常高频操作6.1 修改属主属组 ——chown/chgrp# 只改属主sudochowndev_user project.log# 只改属组sudochown:devops project.log# 等价于 chgrp devops project.log# 同时改属主和属组sudochowndev_user:devops project.log# 递归修改整个目录-Rsudochown-Rdev_user:devops /opt/app/6.2 修改权限 ——chmod字符模式# 给属主添加执行权限chmodux script.sh# 移除属组的读权限chmodg-r secret.conf# 精确设置其他人的权限为只读chmodor public.txt# 给所有人类别赋予读写执行chmodarwx tool数字模式更常用chmod755app.jar# 属主 rwx属组 rx其他人 rxchmod640config.yml# 属主 rw属组 r其他人无chmod750/opt/data# 属主 rwx属组 rx其他人无七、权限掩码 umask —— 新文件默认权限从哪来每次你创建新文件或目录系统都会根据umask值计算默认权限。计算公式文件默认权限 666 - umask目录默认权限 777 - umask查看当前 umaskumask# 输出 0022普通用户可能 0002当 umask 022 时新文件 → 666 - 022 644-rw-r--r--新目录 → 777 - 022 755drwxr-xr-x当 umask 027 时新文件 → 666 - 027 640-rw-r-----新目录 → 777 - 027 750drwxr-x---临时修改umask 027永久修改写入~/.bashrc或/etc/profile。 很多新手以为 umask 是“减掉”的权限实际是“屏蔽”的权限位。例如 umask 为 022就是屏蔽掉属组的写权限和其他的写权限。八、删除文件的本质 —— 为什么需要目录的写权限很多人误以为删除文件需要文件本身有写权限。其实不然删除文件实际上是在父目录中删除该文件的条目文件名与 inode 的映射所以真正要求的是父目录有写和执行权限。实验验证创建一个目录并给满权限里面的文件权限设为 000mkdir/opt/testechohello/opt/test/file.txtchmod777/opt/testchmod000 /opt/test/file.txt用普通用户尝试删除该文件需要普通用户对目录有写权限rm-f/opt/test/file.txt# 成功删除尽管 file.txt 本身是 000反过来如果目录没有写权限即使文件是 777 也删不掉chmod555/opt/test# 目录无写权限rm-f/opt/test/file.txt# 报错 Permission denied结论删除文件看的是目录的权限不是文件本身的权限。九、权限委派 —— su 与 sudo 的正确用法9.1 su —— 切换用户身份sudev_user# 切换用户但环境变量、当前目录保留原用户的su- dev_user# 切换用户并加载目标用户的环境推荐su- dev_user-cls -lh /home/dev_user# 切换并执行一条命令使用su - root需要知道 root 密码并且切换后没有任何审计日志不推荐在生产使用。9.2 sudo —— 临时提权推荐普通用户执行管理员命令时只需在自己密码前加sudo系统会检查/etc/sudoers是否授权。将用户加入管理员组最快速获得 sudo 权限发行版管理员组默认配置Rocky / RHELwheel%wheel ALL(ALL) ALLUbuntu / Debiansudo%sudo ALL(ALL) ALL# Rocky 中加入 wheelsudousermod-aGwheel dev_user# Ubuntu 中加入 sudosudousermod-aGsudodev_user9.3 精细控制 sudo —— 使用visudo编辑/etc/sudoers或单独文件/etc/sudoers.d/xxx推荐后者sudovisudo-f/etc/sudoers.d/custom配置格式用户/组 主机(运行身份) 命令示例# 允许 dev_user 执行任何命令需密码dev_userALL(ALL)ALL# 允许 devops 组成员重启 nginx 且无需密码%devopsALL(ALL)NOPASSWD: /usr/bin/systemctl restart nginx# 禁止某用户修改 root 密码bad_userALL(ALL)ALL,!/usr/bin/passwd root验证权限sudo-l# 查看当前用户被允许的命令sudo-l-Udev_user# 查看指定用户的 sudo 权限十、综合实战为若依项目创建标准化用户体系场景公司新部署了一套若依后台管理系统需要为不同角色分配专属账号和权限。角色账号所属组权限需求应用管理员ruoyi-admindevops可重启 Nginx数据库管理员ruoyi-dbadba可启停 MySQL开发人员ruoyi-devdeveloper可查看应用日志实施步骤1. 创建组sudogroupadddevopssudogroupadddbasudogroupadddeveloper2. 创建用户并加入附加组sudouseradd-Gdevops ruoyi-adminsudouseradd-Gdba ruoyi-dbasudouseradd-Gdeveloper ruoyi-dev# Ubuntu 需加 -m -s /bin/bash3. 设置统一密码非交互echoruoyi-admin:Ruoyi2026|sudochpasswdechoruoyi-dba:Ruoyi2026|sudochpasswdechoruoyi-dev:Ruoyi2026|sudochpasswd4. 配置 sudo 精细权限新建/etc/sudoers.d/ruoyi%devopsALL(ALL)/usr/bin/systemctl restart nginx, /usr/bin/systemctl status nginx %dbaALL(ALL)/usr/bin/systemctl start mysqld, /usr/bin/systemctl stop mysqld, /usr/bin/systemctl status mysqld %developerALL(ALL)/usr/bin/tail-f/var/log/ruoyi/*, /usr/bin/cat /var/log/ruoyi/*5. 验证sudo-l-Uruoyi-admin# 应显示可执行 restart 和 status十一、Rocky Linux 与 Ubuntu 差异速查表操作Rocky/CentOSUbuntu创建用户useradd dev_user自动家目录useradd -m -s /bin/bash dev_user非交互密码echo “123”passwd --stdin user管理员组wheelsudo查看 sudo 日志/var/log/secure/var/log/auth.log建议跨发行版时统一使用chpasswd和visudo确保兼容。十二、新手常见报错与解决报错信息原因解决useradd: group xxx does not exist附加组未提前创建先用groupadd建组usermod: group xxx does not exist同上检查组名拼写userdel: user xxx is currently used by process用户正在登录强制踢出或用-fsudo: command not found未安装 sudodnf install sudo/apt install sudopermission denied删除文件父目录缺少 w 权限chmod w父目录chmod: cannot access file文件路径错误或权限不足检查路径及当前身份总结用户管理三文件/etc/passwd、/etc/shadow、/etc/group命令操作是正道千万别手动改。组与主/附加组主组只有一个附加组可多个-aG是追加的好朋友。权限模型 UGOr、w、x 对文件和目录含义不同目录必须有 x 才能进入。删除文件看目录目录有 w 权限就能删和文件本身无关。sudo 胜过 susu 切换无审计sudo 临时提权并记录日志更安全可控。通过今天的实战练习你已经能独立完成用户体系搭建、权限分配和日常运维操作。接下来不妨在自己的虚拟机里动手演练一遍把每个命令敲出来遇到报错再看看本文的“踩坑指南”很快就能熟练于心

相关新闻

C++继承机制深度解析:从内存模型到工程实践

C++继承机制深度解析:从内存模型到工程实践

1. 项目概述:为什么C继承是绕不开的基石如果你写过C,或者哪怕只是看过几行C代码,大概率都见过class B : public A这样的语法。这就是继承,一个听起来简单,但实际用起来却处处是“坑”和“玄机”的概念。很多人学C继承&…

2026/7/29 6:11:37 阅读更多 →
科里奥利力:从旋转参考系到工程应用的力学原理与推导

科里奥利力:从旋转参考系到工程应用的力学原理与推导

1. 项目概述:从“洗菜池漩涡”到“傅科摆”的力学探秘如果你曾留意过家里洗菜池或浴缸放水时形成的漩涡,或者听说过证明地球自转的“傅科摆”实验,那么你已经与科里奥利力打过照面了。这个听起来有些拗口的力,并非像重力或电磁力那…

2026/7/29 6:11:37 阅读更多 →
LaTeX子公式编号与对齐排版实战指南

LaTeX子公式编号与对齐排版实战指南

1. 项目概述:子公式编号的痛点与价值 在撰写理工科论文、技术报告或者任何包含复杂数学推导的文档时,我们经常会遇到一个非常具体且恼人的问题:如何为一组紧密相关的公式中的每一个独立公式,分别打上清晰、有序的编号?…

2026/7/29 6:10:36 阅读更多 →

最新新闻

盘锦啤酒厂团购规则怎么问?亲测沟通流程清楚吗

盘锦啤酒厂团购规则怎么问?亲测沟通流程清楚吗

平时朋友小聚、单位餐桌、家里请客,买啤酒最怕什么?不是单纯怕贵,而是怕“问的时候说不清、拿到手不明白”:到底是不是鲜啤?生产日期是哪天?几箱起算团购?口味能不能混搭?冷藏怎么放…

2026/7/29 6:20:42 阅读更多 →
DDrawCompat终极指南:让经典DirectX游戏在Windows 11上完美运行的免费兼容方案

DDrawCompat终极指南:让经典DirectX游戏在Windows 11上完美运行的免费兼容方案

DDrawCompat终极指南:让经典DirectX游戏在Windows 11上完美运行的免费兼容方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.c…

2026/7/29 6:20:41 阅读更多 →
Stata自带数据集:高效学习与验证的数据分析起点

Stata自带数据集:高效学习与验证的数据分析起点

1. 项目概述:为什么需要熟悉Stata自带的数据集?对于任何一位Stata用户,无论是刚入门的新手,还是已经使用多年的数据分析师,系统自带的数据集都是一个被严重低估的宝藏。很多人打开Stata,第一件事就是导入自…

2026/7/29 6:20:41 阅读更多 →
论文AI率检测原理与降重实战技巧

论文AI率检测原理与降重实战技巧

1. 论文AI率检测的底层逻辑解析当我们在知网、Turnitin等平台提交论文时,系统会通过算法模型对文本进行分析,主要检测以下几个维度:文本特征分析:词汇多样性(Lexical Diversity):AI生成文本往往…

2026/7/29 6:20:41 阅读更多 →
肥皂泡肺模型:可视化呼吸力学原理的跨学科教学实践

肥皂泡肺模型:可视化呼吸力学原理的跨学科教学实践

1. 项目概述:当肥皂泡遇见呼吸几年前,我在一个社区科学展上,看到一群孩子围着一个不断胀大、缩小的肥皂泡装置,兴奋地讨论着“肺是怎么工作的”。那个瞬间让我意识到,最复杂的生命现象,往往可以用最朴素、最…

2026/7/29 6:20:41 阅读更多 →
深入解析STM32 GPIO配置寄存器CRL/CRH:从原理到实战调试

深入解析STM32 GPIO配置寄存器CRL/CRH:从原理到实战调试

1. 从引脚到功能:理解GPIO配置寄存器的核心地位如果你刚开始接触STM32,可能会觉得GPIO(通用输入输出)不就是设置一下高低电平嘛,用库函数HAL_GPIO_WritePin和HAL_GPIO_ReadPin不就搞定了?确实,对…

2026/7/29 6:19:41 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻