首页 / 资讯中心 / 文章详情

RHCSA作业一解题思路:命令、权限与系统管理基础实践

RHCSA作业一解题思路:命令、权限与系统管理基础实践 ★ FEATURED ARTICLE
这周末批改完大家的 RHCSA 作业一我发现不少同学其实命令都会敲但一到“按场景完成任务”就容易丢分。这跟我这几年带新人、也陪跑过不少考证学员的观察完全一致RHCSA 考的不是你会不会背命令而是你在一个不熟悉的 Linux 环境里能不能像真正的系统管理员一样把任务分解成可执行的操作链。作业一看着简单它其实是整个备考体系里最要命的“地基”今天我把这份作业的完整解题思路、批改时的高频扣分点、以及当时的自查清单都整理出来给正要开始刷题或者准备考试的同学做个参考。1. 这份 RHCSA 作业一设计的真实意图是什么1.1 为什么第一份作业要从登录、文档和文件操作开始RHCSA 的正式考号是 EX200考试形式是上机实操给出几十道场景题你在一个全新的 Red Hat 系统上完成配置。作业一通常是培训课后的第一次独立操作它的内容往往不是管服务、配网络而是最基础的三件套命令行使用、文件与目录管理、用户与权限。这不是老师偷懒而是因为 RHCSA 的全部考试场景都建立在这三块地基上。你后面配置 cron 定时任务本质是在正确的目录下创建文本文件你配置 sudo 权限本质是往 /etc/sudoers.d 里写入规则你配置系统调优本质是修改 /proc 或 /sys 下的参数文件。如果连文件类型都分不清、权限加减算不对后面所有题目都会变成无源之水。所以作业一虽然“基础”但它是整个备考计划里性价比最高的一次投入。1.2 批改作业一时我看重的不只是结果我在批改时不会只看“最终状态对不对”还会看你执行过的历史命令、留下的临时文件、以及有没有验证性操作。这里有三条隐性标准第一次做作业的人几乎都不知道结果正确但过程绕远比如创建目录有人一路 cd 进一个不存在的路径被报错打断又回头 mkdir -p虽然最后成了但暴露了对绝对路径和相对路径的理解不够扎实。不会用系统内建文档遇到不知道的参数直接翻笔记而不是优先 man 或 --help这在考试环境下会吃大亏。从不做二次验证创建完用户不检查 /etc/passwd改完权限不看 ls -l说明没有形成“配置完必须验证”的职业习惯。RHCSA 考试是允许你反复验证的系统里面的状态改错了可以改回来所以检查能力本身也算是考点之一。2. 登录、Shell 环境与系统文档第一组练习的底层逻辑2.1 TTY 与 SSH 登录的差异作业一里面通常会出现“以普通用户登录系统再切换为 root”的操作。这个操作掩盖着一个关键区别本地控制台登录和远程 SSH 登录走的是完全不同的认证链路。本地登录时你面对的是物理终端或虚拟控制台登录过程由 login 程序处理它会读取 /etc/securetty 等配置SSH 登录则由 sshd 服务处理认证可能用到密码、密钥还会触发 /etc/ssh/sshd_config 里的限制规则。作为 RHCSA 考生你至少要知道用ssh 用户名主机名登录和直接在虚拟机控制台登录在后续排查问题时看到的系统日志路径不同前者看 /var/log/secure后者看 /var/log/btmp 和 wtmp 相关的记录。我在作业一里要求学员做的第一件事不是急着敲命令而是登录后马上确认三件事当前用户名、主机名、当前目录。分别对应whoami、hostname、pwd。这一步看似多余实际上能避免后面大量操作找错地方。2.2 PATH 和 shell 历史影响你操作效率的两个隐藏因素命令能不能执行取决于 shell 是否在 PATH 环境变量里找到了这个可执行文件。作业一里经常有人问“为什么输 tar 可以输某个源码包里的命令却说 bash: xxx: command not found”多半是 PATH 没包含那个目录。你要掌握修改 PATH 的两种方式临时改export PATH$PATH:/新目录只对当前 shell 生效。永久改写到每个用户的开机配置文件里比如 ~/.bashrc 或 /etc/profile.d/ 下新建 .sh 脚本。这里要特别注意脚本和交互式登录读的启动文件不一样。很多同学把环境变量写进 ~/.bashrc然后通过 SSH 登录时发现生效但用其他方式进入非交互 shell 时又不生效这就是没搞懂 bash 的启动逻辑。shell 历史对你的作业一最大的意义不在于“翻旧命令”而在于考试时的“后悔药”。当你发现自己改错了配置可以用history找到刚才执行过的那条命令分析错误出在哪一步。建议你从现在开始养成习惯每完成一个任务敲一下history | tail -20能清晰看见自己的操作链路这在复盘时价值极高。2.3 man 文档的正确查询姿势作业一明确要求“不得使用外部搜索遇到不熟悉的命令必须使用系统自带文档”这一步练的就是 man 命令。你要知道man 命令打开的是命令手册但 man 也分章节比如man passwd默认给你看的是用户密码修改命令而man 5 passwd看的是 /etc/passwd 文件的格式说明。这个坑在作业里非常经典很多人想查文件格式结果翻到的是命令用法。man -k 关键字用来做搜索比如你想查跟 “archive” 相关的命令敲man -k archive会列出一堆结果这比靠记忆瞎猜命令名强得多。手册里面的 SYNOPSIS 段落里的方括号表示可选参数尖括号表示必选参数省略号表示可重复这些符号不是装饰是理解命令语法的关键。我在批改时见过最可惜的一种情况某人明明已经打开了man mkdir里面清清楚楚写着-p的作用但他还是直接去问旁边的同学。RHCSA 考试环境是断网的养成查文档的习惯是你最可靠的依赖。3. 文件系统的导航与基本操作第二组练习3.1 目录结构不是只靠背诵要靠任务倒逼作业一里关于文件系统的练习如果只出“创建 /a/b/c 这样的目录”那就太没营养了。实际题目通常长这样在 /var/log 下创建一个名为 backup 的目录在 /srv 下创建 data 目录并将某个临时文件移动到对应位置。要以“系统管理员”而不是“背诵者”的姿态做这类题你必须理解每一级目录是干嘛的目录路径用途作业中可能出现的形式/etc系统配置文件修改配置文件前先备份/var/log日志文件按时间归档日志/usr/share/doc软件文档查阅已安装软件的说明/tmp临时文件存放中间产物重启会清空/srv服务数据网站、FTP 等服务的数据目录理解了目录用途你就不会再犯“把临时文件往 /etc 下乱放”这种不负责任的行为。RHCSA 场景题里的目录不是随便指定的它往往暗示了这个文件的属性放 /etc 说明它是配置放 /var/log 说明它是日志放 /usr/bin 说明它是可执行程序。这种推测能力也是考试的一部分。3.2 文件类型识别ls -l 第一个字符的阅读训练作业一里一定会安排“找出指定类型的文件”这类题。这里有个高效率的工具组合ls -l看第一个字符-普通文件d目录l链接c字符设备b块设备p管道s套接字。很多人只认识前三种遇到 /dev/sda 这种块设备和 /dev/tty0 这种字符设备就懵了。file 文件名命令能告诉你文件的真正类型比如一个无扩展名的文件file 能识别出它是 ELF 可执行文件、ASCII 文本还是压缩数据。这个命令在 RHCSA 场景题里非常实用尤其是在处理“找出 /opt 下所有属于用户 alice 的文件”这类组合题时先判断类型再确定复制策略效率完全不同。我建议你把ls -l /dev下的输出拿来看一遍那里集中了字符设备和块设备的直观例子。字符设备和块设备看起来都是特殊文件但字符设备按字符流传输键盘鼠标就是典型块设备按块读写磁盘就是典型。理解这个区别后面做磁盘分区时思路会顺畅很多。3.3 硬链接和软链接必须亲手做实验才能绕开的陷阱链接这一块作业一至少会出一个让你同时创建硬链接和软链接的题。每次批改都能看到有人把 ln 命令的参数搞混这里给你一个不容易忘记的划分ln 源文件 新名字创建硬链接。硬链接的本质是同一个 inode 的多个目录项限制在于不能跨文件系统也不能链接目录。ln -s 源文件 新名字创建软链接符号链接。软链接本身是一个独立文件它保存的是源文件的路径可以跨文件系统可以指向目录但源文件被删除后软链接就变成“悬空链接”。有一个判断技巧我经常教人ls -li同时打印 inode 号硬链接的 inode 号与源文件完全一致软链接则不同。作业里如果要求“创建 /root/foo 的硬链接 /tmp/bar”做完后你只要敲ls -li /root/foo /tmp/bar看到两个文件的 inode 相同就可以确认成功了。这里还要注意系统安全策略对硬链接的限制。现代 RHEL 默认通过fs.protected_hardlinks内核参数限制无权限用户给不属于自己的文件创建硬链接也就是说你作为普通用户想链接别人的文件可能会被拒绝。这在作业一是很好的扩展考点如果你在操作时发现硬链接创建失败除了检查文件系统和参数还得检查自己是否有对应文件的写权限。4. 用户与组管理第一份“真实管理任务”4.1 场景题里的用户创建怎么读题用户和组管理是作业一的重头戏也是 RHCSA 考试中最容易丢分的大类。典型场景题长这样“创建用户 harry设置密码为 flectrag附加组为 sysadmin用户的登录 Shell 为 /bin/bash用户 ID 为 3400”。这里开始命令行就变成了翻译器你要把自然语言翻译成命令参数。这类题大家普遍能敲出useradd harry但后面的参数就七零八落了。原因是没有建立“一个参数对应一个需求”的对应表题目要求对应参数典型错误指定用户 ID-u 3400忘了写 -u指定登录 Shell-s /bin/bash写成了 -s bash指定附加组-G sysadmin写成了 -g创建家目录-m没有加设置密码passwd直接在 useradd 里用 -p 存放密文注意最后一行passwd命令是设置密码的正确方式而useradd -p后面必须跟的是经过哈希加密的密文不是明文。如果你在命令行里写useradd -p flectrag harry系统会把这个字符串原样放进 /etc/shadow后面你用密码登录会失败。这是 RHCSA 预备学员最经典的一个坑作业一里我们必须把这条刻在脑子里。4.2 主组和附加组的区别作业需要用实际场景验证创建组时-g和-G的区别必须彻底理解。-g指定的是用户的主组也叫初始组通常在 /etc/passwd 的第四列体现-G指定的是附加组这些组记录在 /etc/group 文件的成员列表里。作业一里我常安排一个对比实验创建两个用户一个把 sysadmin 设为主组一个把 sysadmin 设为附加组然后分别执行id 用户名。id命令的输出会清楚地展示两组用户的信息差异第一组的 gid 直接变成 sysadmin 的组 ID第二组的 gid 保持默认的私有用户组但 groups 列表里会出现 sysadmin。从权限角度看新建文件时二者产生的文件属组也不同这直接影响到协作目录的共享权限。这看起来是个基础题但在实际管理场景里你要给同事开一个共享目录的访问权限你把他的主组改了会导致他所有新建文件的默认属组都变掉可能引发奇怪的权限问题。所以更稳妥的做法通常是加附加组而不是改主组。4.3 密码策略和账户锁定作业里怎么练除了创建用户作业一还会要求设置密码有效期限或者锁定账户。这里绕不开的命令是chage。我看过太多人只会用passwd遇到“设置密码 30 天后过期”就不知道怎么下手。其实chage -M 30 用户名就是干这个的。/etc/shadow文件里每一行有九个字段从登录名到密码哈希、上次修改密码时间、最短使用天数、最长有效期、过期警告天数、宽限期、失效日期和保留字段。RHCSA 属于基础认证不要求你手算这些字段但你至少要能看懂chage -l 用户名输出的信息并且能反推题目要求对应哪个字段。账户锁定这部分要注意区分两种“锁定”passwd -l是在 /etc/shadow 的密码哈希前加!属于暂停登录usermod -L也是锁密码另一个usermod -U解锁。还有一种到期锁定通过usermod -e 日期设置账户失效日期到期后即使密码正确也无法登录。作业里如果出现“锁定用户 natasha直到 2025-12-31 才允许登录”这类题你要知道用usermod -e 2025-12-31而不是把密码乱改一通。5. 权限、归属与 umask最容易失分的第三组练习5.1 符号模式还是数字模式别只会一个作业一在权限部分的题目通常长这样“找出 /srv 下属于于 root 且大小为 1024 字节的文件并将其权限改为 750”“将 /data 下的所有文件和子目录的属组改为 manager 组权限改为 2770”。这背后就是对 chmod 和 chown 的熟练运用。我建议你把两种模式都练熟因为它们的应用场景各有优势。符号模式ux、g-w、or适合改动某一部分权限而不影响其他部分比如“给属主增加执行权限”用chmod ux最安全数字模式chmod 750适合你清楚知道最终权限长什么样的情况比如“要求权限为 750”直接数字一步到位。RHCSA 真实环境里我倾向于先算数字再执行。题目只要明确给出了权限值比如 750、2770、1777一律用数字模式快且准确。计算时记住 r4w2x1比如 750 就是属主 rwx属组 r-x其他人无权限。5.2 umask新建文件的默认权限从哪里来umask 这个知识点几乎每次作业都会出但错法五花八门。它的作用是屏蔽掉新建文件/目录的默认权限。系统默认情况下新建的文件默认权限是从 666 基础上扣除 umask。新建的目录默认权限是从 777 基础上扣除 umask。如果你执行umask 022那么新建目录权限是 777-022755新建文件权限是 666-022644。很多人以为计算是 666 直接减 022 得到一个数实际确实这么操作但要小心减法中出现奇数位。比如umask 033时文件权限是 666-033633而目录权限是 777-033744这里每位都是独立相减。还有一个更隐蔽的问题umask命令改的只是当前 shell 的临时设置重启或新开终端就恢复默认。如果你希望某个用户以后的默认权限变成 027就得去改用户的启动文件比如 ~/.bashrc 或 /etc/profile 全局设置。在 RHCSA 班级作业里如果题目没有特别说明“永久生效”临时执行即可但作为系统管理员你心里要清楚“这个设置重启后还在吗”。5.3 setuid、setgid 和 sticky bit作业一里三个特殊权限普通权限之外RHCSA 场景里经常出现三个特殊权限位它们不是装饰setuid (4)一般作用于可执行文件比如 /usr/bin/passwd普通用户执行它时会临时获得文件属主 root 的权限这样才能修改 /etc/shadow。符号表示为属主执行位变成s。setgid (2)作用于目录时新建的文件自动继承目录的属组这在共享协作目录里极其常用作用于可执行文件时进程会以文件属组的身份运行。符号表示为属组执行位变成s。sticky bit (1)作用于目录时只有文件属主、目录属主或 root 才能删除其中的文件。最典型的就是 /tmp权限是 1777。符号表示为其他用户执行位变成t。遇到“权限为 3777”或“带 setgid 的共享目录”这种题你要立刻反应过来这是特殊权限位的组合。作业一里我会让学员先看一眼默认的 /tmp 权限再自己创建带 sticky bit 的目录用普通用户尝试删除别人的文件这样印象才会深。5.4 按题目修改权限时的操作顺序实际批改时我发现很多人做题没有顺序概念先 chmod 再 chown或者反过来最后也能做对但偶尔会触发奇怪的问题。建议的顺序是先改属主和属组再改权限。原因很直白改权限时你可能想用chmod 2770这里面的 2 就是 setgid 位而 setgid 的作用是让新文件继承属组。如果你先改权限再改属组整个操作链路倒是也没问题因为 chown 会保留已设置的权限位。但如果你先改了属组再做 chmod却能一次性确认最终状态。更重要的是如果你在 chmod 之前用chgrp改了属组你可以用ls -l确认属组对了再敲权限值思路更清晰。6. 查找、归档与基础服务状态检查第四组练习常被低估6.1 find 命令的几个高频组合作业一里“查找某个文件并处理”的题核心技能就是 find。这里我给出几个最常用的组合大家可以直接抄作业按名称find /srv -name *.log按属主find /srv -user alice按大小find /srv -size 1024c注意 c 表示字节不加单位默认是 512 字节块按类型find /srv -type f组合执行find /srv -user alice -exec ls -l {} \;最后这条里面{}代表找到的每个文件\;是结束符很多新手漏掉转义分号导致命令报错。还要知道-exec与管道xargs的区别前者在 find 内部执行后者把结果作为参数传给另一条命令。在中文文件名或特殊字符多的情况下-exec比xargs更稳健因为 xargs 默认按空白分割容易把带空格的文件名拆碎。6.2 tar 归档不光是打包解包归档与压缩是作业一的基本题也是后续 RHCSA 考试中经常藏在其他大操作里的前置步骤。题目常写成“将 /etc 目录打包压缩为 /backup/etc.tar.gz并保留权限属性”。这个需求翻译成命令是tar czvf /backup/etc.tar.gz /etc其中 c 是创建归档z 是 gzip 压缩v 是显示过程f 指定归档文件名。解包用法是tar xzvfx 是解包。这里有个容易忽略的细节归档要求“保留权限属性”tar 默认就会保留文件权限和属主信息所以只要你是 root 运行解包后基本能还原。但如果你想保留更完整的扩展属性或者 ACL可能需要额外选项比如--acls、--xattrsRHCSA 通常不考这么深但你要知道有这回事。另一个常见坑是压缩格式选择。tar.gz是配 gziptar.bz2配 bzip2zip又是另一个工具。考试题目通常明确给出后缀或者压缩工具名你只要做到“看后缀选参数”就能不丢分。6.3 进程和服务的状态检查别等到作业二才补有些老师的作业一已经把 systemctl 基础检查放进来了。毕竟 RHCSA 考试里一半以上的配置题最后都有一句“确保相关服务已启动并在开机时自动启动”。虽然系统服务管理可能要到第二次课才系统讲但作业一里至少要会用systemctl status 服务名查看运行状态systemctl enable --now 服务名启动并设为开机自启systemctl list-unit-files | grep enabled查看开机自启列表这里我提醒一个非常容易丢分的地方RHCSA 场景题经常要求“重启系统后服务仍然运行”如果你只systemctl start而不systemctl enable重启后服务就没了。作业一里哪怕只让你启动一个服务我也强烈建议你顺手执行 enable这个习惯能让你以后少被扣很多分。7. 作业一批改后的高频扣分点与自查清单7.1 我批改时最常看到的三类扣分把几十份作业放在一起横向比较时扣分点高度集中几乎可以预料链路不闭合创建完用户不验证设置完权限不检查命令执行完不看输出导致错误累积到后面才发现。这是最普遍的问题。权限和归属混淆chown和chmod分不清把“修改属主”写成chmod。我建议你从英文去记owner 对应 chownmode 对应 chmodmode 就是权限模式。重启后失效任何通过命令行临时设置的参数如果没写进相应配置文件或没有执行 enable就不具备持久性。作业一里的 umask、PATH、服务启动状态全都适用。7.2 提交作业前的五分钟自查清单每次做完作业我建议你按以下步骤快速自查这套动作完全可以迁移到正式考试中检查用户id 用户名确认 uid、主组、附加组、Shell 路径全对。检查权限ls -ld 目录和ls -l 文件对照题目要求逐位确认。检查属组stat -c %U %G %a 文件一条命令同时看到属主、属组和权限数字。检查持久性服务用systemctl is-enabledumask 类设置重开终端验证一次。检查归档tar tzf 归档文件列出归档内容确认没有打包错目录。其中stat命令很多人不熟它是个宝藏。stat -c %U %G %a /data/file能一次性输出文件的属主、属组和八进制权限比反复敲 ls 和 id 更快而且输出格式稳定考试时脑子里要有这个工具。7.3 我的一点个人体会每次批改完作业一我最大的感受就是能把基础命令敲得行云流水的人不代表能把系统管理题做好差的那一步就是对“场景”的理解。RHCSA 全称是红帽认证系统管理员重点落在“系统管理员”四个字上而管理员和打字员的区别就在于管理员知道每个操作背后的意图会考虑持久性、安全性和验证方法。这份作业一的题量不大但它把所有必须形成肌肉记忆的基础动作串在了一起。我建议你做第二遍的时候故意换个环境新开一台虚拟机不翻之前的笔记只看 man 文档和题目要求把全套动作再走一遍。第二次你会明显感觉到那些之前需要回忆半天的参数已经变成手指自然的条件反射。到这一步作业一才算是真正过关可以放心往 RHCSA 的下一步走了。
阅读完成 · 觉得有帮助?
咨询建站