news 2026/6/10 19:01:55

【Linux 实战全解】Vim 编辑器 + 用户_组管理 + 文件权限 + SUID_SGID_ACL 一站式通关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux 实战全解】Vim 编辑器 + 用户_组管理 + 文件权限 + SUID_SGID_ACL 一站式通关

【Linux 实战全解】Vim 编辑器 + 用户/组管理 + 文件权限 + SUID/SGID/ACL 一站式通关

适合人群:Linux 初学者、运维入门、期末考试、CentOS/RHEL 实操

阅读时长:8 分钟

文章风格:干货、命令可直接复制、考试/工作通用


前言

Linux 系统管理最核心的三件事:
会用 Vim、会管用户、会控权限。
这篇文章把 Vim 编辑器、用户/组管理、文件权限、特殊权限、sudo、ACL 精细权限 一次性讲透,全部带真实可运行命令,学完直接上手,不管是应付考试还是日常运维,都能直接套用!


一、Vim 编辑器:Linux 必备文本神器

Vim 是 Linux 系统默认的文本编辑器,也是运维、开发必备工具,熟练使用能让你的操作效率提升 10 倍,尤其是在无图形界面的服务器上,Vim 就是你的“记事本+编辑器”。

1.1 Vim 三大模式(必须掌握)

Vim 的核心是“模式切换”,打开 Vim 后默认进入命令模式,不同模式对应不同操作,切换逻辑一定要记牢:

  • 命令模式:打开 Vim 后默认进入,主要用于控制光标移动、复制、粘贴、删除、查找等操作,不允许直接输入文字。

  • 输入模式:用于正常录入文本,只有进入该模式才能打字。

  • 末行模式:用于保存文件、退出编辑器、查找替换、设置编辑环境等,需从命令模式进入。

模式切换方法
  • 命令模式 → 输入模式:按i(光标处插入)、a(光标后插入)、o(光标下行插入新行)

  • 输入模式 → 命令模式:按Esc键(关键!随时可退回命令模式)

  • 命令模式 → 末行模式:按:(英文冒号)

1.2 高频操作(直接背,不用记原理)

以下命令可直接复制到终端运行,适配所有 CentOS/RHEL 系统:

# 打开/保存/退出(末行模式/命令模式)vim文件名# 打开或新建文件(如 vim test.txt):w# 保存当前文件(末行模式输入):q# 退出 Vim(末行模式输入,需先保存):wq# 保存并退出(末行模式输入,最常用):q!# 强制退出不保存(末行模式输入,放弃修改):r 文件名# 读取其他文件内容到当前编辑区(如 :r /etc/passwd)# 命令模式常用操作(无需输入冒号)yy# 复制当前行(光标所在行)5yy# 复制从当前行开始的 5 行(n yy 复制 n 行)p# 粘贴复制的内容(粘贴到光标下一行)dd# 删除当前行5dd# 删除从当前行开始的 5 行(n dd 删除 n 行)u# 撤销上一步操作(可多次撤销)G# 快速跳转到文件最后一行15G# 快速跳转到文件第 15 行(n G 跳转到第 n 行):set nu# 显示行号(末行模式,方便跳转和编辑):set nonu# 隐藏行号(末行模式)

1.3 查找与替换(高频需求)

编辑配置文件时,查找关键词、批量替换非常实用,命令如下:

/关键字# 从光标位置向下查找指定关键字(如 /root)n# 跳转到下一个匹配的关键字N# 跳转到上一个匹配的关键字:%s/旧内容/新内容/g# 全文替换所有匹配内容(如 :%s/old/new/g):%s/旧内容/新内容/gc# 全文替换,每次替换前提示确认(避免误改)

二、Linux 用户管理(核心考点,必掌握)

Linux 是多用户操作系统,每个用户都有独立的权限和身份,管理用户是运维的基础,也是考试高频考点。

2.1 Linux 用户分类(3类,记牢 UID 范围)

  • 超级用户(root):UID = 0,拥有系统最高权限,可执行任何命令,谨慎使用。

  • 系统用户:UID = 1–999,系统自带,用于运行服务(如 bin、daemon),不能登录系统。

  • 普通用户:UID ≥ 1000,由管理员创建,用于日常登录和操作,权限受限制。

2.2 核心配置文件(记住路径,考试常考)

  • /etc/passwd:保存所有用户的基本信息(用户名、UID、GID、家目录等),所有用户可读取。

  • /etc/shadow:保存用户的加密密码和有效期信息,只有 root 可读取(保障安全)。

  • /etc/group:保存所有用户组的信息,所有用户可读取。

2.3 创建用户(useradd 命令)

# 基础创建(默认家目录 /home/用户名,默认组与用户名同名)useraddtest1# 进阶创建(指定家目录、注释、过期时间,考试常考)useradd-d/home/aue-c"my first user"-e2034-12-01 test1# 说明:-d 指定家目录,-c 注释信息,-e 账号过期时间(格式 YYYY-MM-DD)

2.4 设置用户密码(passwd 命令)

创建用户后必须设置密码才能登录,两种方式任选:

# 交互设置(按提示输入两次密码,推荐,更安全)passwdtest1# 免交互设置(适合脚本或批量操作,直接复制运行)echo"test1"|passwd--stdintest1

2.5 修改用户属性(usermod 命令)

修改已创建用户的信息,考试高频考点,重点记选项:

usermod-c"新注释"用户名# 修改用户备注(如 usermod -c "student" test1)usermod-e2034-12-01 用户名# 修改账号过期时间usermod-l新用户名 旧用户名# 修改用户名(如 usermod -l lily test3)usermod-u1900用户名# 修改用户 UID(如 usermod -u 1900 lily)usermod-L用户名# 锁定用户(禁止登录,如 usermod -L test1)usermod-U用户名# 解锁用户(允许登录)usermod-f10用户名# 密码过期 10 天后禁用账号

2.6 删除用户(userdel 命令)

userdel用户名# 删除用户,保留家目录(不推荐,会残留文件)userdel-r用户名# 删除用户 + 家目录(彻底删除,推荐,如 userdel -r test1)

三、用户组管理(批量权限控制,高效运维)

用户组用于批量管理用户权限,将多个用户加入同一个组,可统一分配权限,避免逐个设置,提升效率。

# 1. 创建用户组groupaddgroup1# 创建普通用户组(默认 GID 自增)groupadd-g1006group1# 指定 GID 创建组(考试常考,如 -g 1006)groupadd-rgroup2# 创建系统组(GID 1–999,用于服务运行)# 2. 修改用户组属性groupmod-n新组名 旧组名# 修改组名(如 groupmod -n grouptest group1)groupmod-g1866组名# 修改组 GID(如 groupmod -g 1866 grouptest)# 3. 删除用户组(需确保组内无用户,否则无法删除)groupdelgroup1# 4. 将用户加入组(批量授权核心)gpasswd-a用户名 组名# 将用户加入指定组(如 gpasswd -a test1 group1)

四、文件权限与归属(必考,重中之重)

Linux 中所有文件/目录都有权限和归属,权限控制谁能操作,归属控制属于哪个用户/组,是系统安全的核心。

4.1 权限基础(3类权限 + 3类归属)

  • 归属分类:属主(u)→ 文件所有者、属组(g)→ 文件所属组、其他人(o)→ 既不是属主也不是属组成员的用户。

  • 权限符号:读(r=4)、写(w=2)、执行(x=1),权限值可叠加(如 rwx=4+2+1=7)。

4.2 查看权限(ls -l 命令)

ls-l文件名# 查看文件权限和归属(如 ls -l /etc/passwd)

示例输出:-rwxr-xr--,拆解如下:

  • 第1位-:文件类型(- 普通文件、d 目录、l 链接)

  • 第2-4位rwx:属主权限(可读、可写、可执行)

  • 第5-7位r-x:属组权限(可读、可执行,不可写)

  • 第8-10位r--:其他人权限(只读)

4.3 修改权限(chmod 命令,最常用)

两种方式:字符方式(易理解)、数字方式(高效,推荐)

# 1. 字符方式(u=属主、g=属组、o=其他人,+增加、-删除、=赋值)chmodu+x 文件名# 给属主增加执行权限chmodg-w 文件名# 给属组删除写权限chmodo=r 文件名# 给其他人赋值只读权限# 2. 数字方式(最常用,直接输入权限值)chmod755文件名# 属主 rwx(7)、属组 r-x(5)、其他人 r-x(5)(目录常用)chmod644文件名# 属主 rw-(6)、属组 r--(4)、其他人 r--(4)(文件常用)

4.4 修改归属(chown 命令)

chown用户名 文件名# 修改文件属主(如 chown test1 test.txt)chown用户名:组名 文件名# 同时修改属主和属组(如 chown test1:group1 test.txt)

五、特殊权限:SUID / SGID / SBIT(进阶考点)

普通权限之外的特殊权限,用于解决特定场景下的权限问题,考试常考,记清作用和命令即可。

5.1 SUID(4xxx)

  • 作用:执行者临时拥有文件所有者的权限(仅对二进制程序生效,如 passwd 命令)。

  • 命令:

chmodu+s 文件名# 给文件添加 SUID 权限chmod4755文件名# 数字方式(4 代表 SUID,叠加普通权限 755)

5.2 SGID(2xxx)

  • 作用:目录内新建的文件/目录,自动继承该目录的属组(用于团队协作,批量共享权限)。

  • 命令:

chmodg+s 目录# 给目录添加 SGID 权限chmod2755目录# 数字方式(2 代表 SGID,叠加普通权限 755)

5.3 SBIT(1xxx)

  • 作用:目录内的用户,只能删除自己创建的文件,不能删除他人文件(如 /tmp 目录默认有此权限)。

  • 命令:

chmodo+t 目录# 给目录添加 SBIT 权限chmod1777目录# 数字方式(1 代表 SBIT,叠加普通权限 777)

六、文件隐藏权限(防误删,实用技巧)

隐藏权限无法通过 ls -l 查看,用于保护重要文件(如配置文件),避免误删除或修改。

chattr +a 文件名# 给文件添加“只能追加”权限(不能删除、不能修改,仅能追加内容)chattr +i 文件名# 给文件添加“不可修改”权限(完全锁定,不能删、改、追加,root 也需先取消)lsattr 文件名# 查看文件的隐藏权限(必须用此命令,否则看不到)

七、su 切换用户与 sudo 提权(日常运维必备)

日常工作中,不建议直接用 root 登录(风险高),常用 su 切换用户或 sudo 提权,既安全又高效。

7.1 su 切换用户

su- 用户名# 完全切换到目标用户(加载该用户的环境变量,推荐,如 su - root)su用户名# 不完全切换(仅切换身份,不加载环境变量,不推荐)

7.2 sudo 提权(推荐,更安全)

普通用户通过 sudo 可临时执行 root 权限的命令,无需知道 root 密码,且操作可审计。

visudo# 编辑 sudo 配置文件(必须用此命令,自动语法检查,避免出错)# 配置格式(添加到文件末尾,替换“用户名”为实际用户名)用户名ALL=(ALL)ALL# 该用户可执行所有 root 命令(需输入自身密码)用户名ALL=(ALL)NOPASSWD:ALL# 免密执行所有 root 命令(方便,但略不安全)

八、ACL 精细权限控制(进阶,灵活授权)

chmod 只能给属主、属组、其他人授权,ACL 可给单个用户/单个组单独授权,更灵活(适合多用户协作场景)。

# 1. 给单个用户授权setfacl-mu:用户名:权限 文件# 如 setfacl -m u:test1:rwx test.txt# 2. 给单个组授权setfacl-mg:组名:权限 文件# 如 setfacl -m g:group1:rw- test.txt# 3. 查看文件的 ACL 权限getfacl 文件# 如 getfacl test.txt# 4. 递归授权(给目录及目录下所有文件/子目录授权)setfacl-mu:用户:权限-R目录# 如 setfacl -m u:test1:rwx -R /home/test# 5. 默认 ACL(目录内新建的文件/目录,自动继承 ACL 权限)setfacl-md:u:用户:权限 目录# 如 setfacl -m d:u:test1:rwx /home/test

九、实战实训任务(可直接复制运行,考试/实操必练)

结合以上知识点,做3个实战任务,巩固所有命令,直接复制到终端运行即可。

任务 1:创建 test1、test2 用户(基础实操)

# 创建 test1,指定注释、家目录、过期时间useradd-c"my first user"-d/home/aue-e2034-12-01 test1# 创建 test2,加入 test1 组(扩展组)useradd-c"my another user"-Gtest1 test2# 给两个用户设置密码passwdtest1passwdtest2# 锁定 test1 用户(禁止登录)usermod-Ltest1

任务 2:创建 test3 并修改属性(高频考点)

# 创建 test3,指定家目录 /home/youuseradd-d/home/you test3# 创建 test4(默认配置)useraddtest4# 给两个用户设置密码(免交互)echotest3|passwd--stdintest3echotest4|passwd--stdintest4# 修改 test3 属性:注释、过期时间、密码策略、改名、改 UIDusermod-c"computer1"-e2034-01-01-f10-llily-u1900test3# 设置密码 60 天后必须修改(usermod 无此选项,用 chage 命令)chage-M60lily# 禁用 test4 用户(锁定)usermod-Ltest4# 彻底删除两个用户及家目录userdel-rlilyuserdel-rtest4

任务 3:用户组创建与管理(实操练习)

# 创建 group1,指定 GID 1006groupadd-g1006group1# 创建系统组 group2groupadd-rgroup2# 查看创建结果(查看 /etc/group 末尾)tail/etc/group

十、总结(一张图记住所有重点,考试/实操不丢分)

核心知识点浓缩,记牢以下4点,Linux 基础管理直接通关:

  • Vim:三大模式 + 复制删除 + 保存退出 + 查找替换(核心是模式切换)

  • 用户:创建(useradd)→ 设密码(passwd)→ 修改(usermod)→ 删除(userdel)

  • :创建(groupadd)→ 修改(groupmod)→ 删除(groupdel)→ 加用户(gpasswd -a)

  • 权限:查看(ls -l)→ 修改权限(chmod)→ 修改归属(chown)→ 特殊权限 + ACL

本文所有命令均在 CentOS 7/8/9、RedHat 9 中测试通过,可直接复制运行,建议收藏备用,后续运维、考试直接套用!


文末福利

需要Linux 命令速查表(PDF 高清版)的同学,评论区扣1,我发你完整版,包含本文所有命令+更多运维高频命令,打印出来随时看!


速查表核心内容预览(PDF完整版含全部细节)

命令分类核心命令作用说明常用示例
Vim 编辑器vim 文件名打开/新建文件vim test.txt
:w / :q / :wq保存 / 退出 / 保存退出:wq 保存并退出编辑
yy / dd / p复制 / 删除 / 粘贴5yy 复制5行,p粘贴
/关键字向下查找关键字/root 查找root关键字
:%s/旧/新/g全文替换:%s/old/new/g 替换所有old为new
:set nu显示行号:set nu 开启行号显示
用户管理useradd 用户名创建用户useradd -d /home/test test1
passwd 用户名设置用户密码echo “123”
usermod 选项 用户名修改用户属性usermod -l lily test3(改名)
userdel -r 用户名彻底删除用户userdel -r test1
用户组管理groupadd 组名创建用户组groupadd -g 1006 group1
groupmod -n 新组名 旧组名修改组名groupmod -n grouptest group1
gpasswd -a 用户名 组名将用户加入组gpasswd -a test1 group1
文件权限ls -l 文件名查看权限与归属ls -l /etc/passwd
chmod 数字/字符 文件名修改权限chmod 755 test.txt
chown 用户名:组名 文件名修改归属chown test1:group1 test.txt
chattr +i 文件名设置隐藏权限chattr +i test.txt(不可修改)
进阶权限chmod 4755 文件名添加SUID权限chmod 4755 /usr/bin/passwd
chmod 2755 目录添加SGID权限chmod 2755 /home/groupdir
setfacl -m u:用户名:权限 文件ACL授权setfacl -m u:test1:rwx test.txt
visudo编辑sudo配置visudo 配置用户sudo权限
基础运维命令ls列出目录内容ls -la /home(显示隐藏文件)
cd 目录切换目录cd /var/www
cp 源文件 目标文件复制文件cp test1.txt test2.txt
mv 源文件 目标文件移动/重命名mv old.txt new.txt
tar -czvf 压缩包 目录打包解压tar -czvf test.tar.gz /home/test
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 18:12:53

C# Windows服务如何启动带界面的程序?3种穿透Session隔离的实战方案

C# Windows服务启动带界面程序的3种Session穿透方案实战 Windows服务与桌面应用程序之间的交互一直是开发中的难点,特别是在需要从服务启动带界面的程序时。由于Windows的安全机制,服务运行在Session 0隔离环境中,而用户界面程序则运行在用户…

作者头像 李华
网站建设 2026/4/14 14:52:12

DOM树匹配技术突破:Easy-Scraper重构网页数据采集范式

DOM树匹配技术突破:Easy-Scraper重构网页数据采集范式 【免费下载链接】easy-scraper Easy scraping library 项目地址: https://gitcode.com/gh_mirrors/ea/easy-scraper 在数据驱动决策时代,网页数据采集面临选择器语法复杂、动态内容难以处理、…

作者头像 李华
网站建设 2026/4/14 14:51:29

如何通过伪静态和面板工具实现顶级域名到www域名的301重定向

1. 为什么需要301重定向? 很多站长朋友可能都遇到过这样的问题:搜索引擎同时收录了带www和不带www的域名版本,导致网站权重被分散。我自己运营技术博客时就踩过这个坑,当时发现百度同时收录了"example.com"和"www.…

作者头像 李华
网站建设 2026/5/18 10:49:52

从编译到实战:基于ZXing C++与OpenCV的高性能二维码识别方案

1. 为什么选择ZXing C与OpenCV组合? 在开始技术细节之前,我们先聊聊为什么这个组合值得推荐。我做过不少二维码识别项目,从早期的ZBar到现在的ZXing C,实测下来ZXing C的识别速度和准确率确实更胜一筹。特别是在处理多个二维码时&…

作者头像 李华