1. RHCSA到底是什么,为什么值得考
1.1 先搞清楚这证是干嘛的
RHCSA(Red Hat Certified System Administrator,红帽认证系统管理员)是红帽公司推出的初级认证,对应的考试编号是EX200。很多人一听"初级"就觉得含金量一般,但实际接触过Linux运维这行的人都知道,RHCSA恰恰是很多企业招聘运维工程师时愿意认的那张证。原因很简单:它是纯实操考试,不像其他一些认证靠背题库就能过,需要你在真实系统上完成一系列配置任务,考官看的是结果,不是选择题答案。
我当时做作业一的时候,其实还没完全想明白这张证的价值,只是跟着培训班的节奏走。等后来面试、带新人、甚至帮朋友看服务器出问题的时候,才慢慢体会到RHCSA考纲里那些内容有多基础又有多实用。用户管理、权限、存储、服务控制、网络配置——这些就是日常运维每天都要碰的东西。考这个证不是说它有多难,而是它能逼着你把常用命令和配置文件弄明白,而不是停留在"看过教程"的水平。
1.2 考试形式与评分标准,别按笔试思路备考
RHCSA的考试环境和普通考试完全不同:你会坐在一台装好的Red Hat Enterprise Linux(RHEL)虚拟机前面,任务清单里通常有十几道实操题目,每一道都有对应的验证标准。你需要在规定时间内完成这些配置任务,系统会自动或人工检查结果。考试时间一般是3小时,总分300分,合格线通常是210分,也就是需要达到70%左右。
考点覆盖范围很明确,大致包括:基础命令与文件操作、用户和组管理、文件权限与ACL、LVM与文件系统管理、systemd服务控制、计划任务、网络配置、防火墙、SELinux、软件包管理、日志分析等。考试环境默认是RHEL的新版本,我在备考时用的是RHEL 9系列的镜像,和当前考纲匹配度很高。
有一点要特别注意:整个考试过程中虚拟机是可以重启的,重启后配置依然有效才算真正配置成功。很多题目做的时候看着没问题,一重启就失效,原因往往是忘了配置持久化。这个在后面我会反复强调,RHCSA很多坑都出在"没有写进配置文件、重启就丢"上面。
1.3 哪些人适合现在开始做RESHCA作业
如果你是Linux零基础、刚转行运维,或者已经在做运维但缺一张系统性的证书,RHCSA都适合作为第一张行业证书去考。它不像RHCE(红帽认证工程师)那样需要先掌握容器、Ansible等进阶技能,只要你能熟练操作命令、理解系统服务的基本原理,按部就班练习就能覆盖大部分考点。
我自己带过几个新人,发现一个规律:直接刷真题题库的人往往考试能过,但遇到实际故障仍然手足无措;而老老实实做过作业、反复练过的人,哪怕没去考试,处理日常问题的能力也明显更强。所以这篇文章里我不会给你什么"考试速成技巧",而是把作业一当作一次完整的实操训练来做,知识点覆盖到位、习惯养成了,考试只是水到渠成的事。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 搭好一个能反复折腾的实验环境
2.1 虚拟机方案与镜像选择
做RHCSA作业,第一步不是刷题,而是给自己准备一台可以随便折腾的虚拟机。我推荐用虚拟机软件跑RHEL,常用方案有VMware Workstation Pro(Windows/Linux环境)、VirtualBox(免费跨平台)、以及Linux主机上的KVM。无论是哪个,核心要求就一条:可以拍快照,可以随时还原。
镜像方面,如果你有红帽开发者账号,可以直接下载RHEL 9的安装镜像,免费用于学习。没有账号也没关系,用CentOS Stream 9或Rocky Linux 9这类与RHEL高度兼容的发行版也能达到练习效果。命令习惯、配置文件路径、systemd服务名称这些在RHEL系里面基本一致,考试时唯一要适应的就是真实RHEL环境的细微差异,平时练习阶段不必纠结。
安装时有个容易踩的坑:分区方案尽量选择手动分区,不要用自动分区。原因不是自动分区不能用,而是RHCSA考试重点之一是LVM逻辑卷管理,你需要在安装时预留出足够的空闲空间,方便后续在系统里创建物理卷、卷组和逻辑卷。如果你在安装阶段就把整块磁盘分得干干净净,后面做LVM练习的时候还得重新加一块虚拟磁盘,麻烦不少。
2.2 网络模式与基础初始化设置
虚拟机网络建议直接用NAT模式。NAT模式下虚拟机可以访问外网,用来装软件包、同步时间都没问题;如果你需要模拟机房环境做静态IP配置练习,NAT模式下也可以手动指定网段内的地址。桥接模式不是不能用,但容易出现IP冲突,尤其是同一个局域网里有多台设备时,练习阶段没必要给自己添乱。
安装完成后第一件事,我建议依次做以下几个操作:更新软件包缓存(dnf makecache)、检查主机名、确保NetworkManager在运行、确认chronyd时间同步服务正常、拍一张干净快照。快照这步特别重要,作业一阶段你会频繁尝试各种配置,配坏了直接还原比一步步排错效率高得多。
提示:练习环境里的root密码建议设置成一个自己绝对不会忘的简单密码。这不是偷懒,而是让你把精力集中在操作本身,而不是浪费在密码找回上。实际考试中你也会得到一个明确的root密码,只需要记住它、用它即可。
2.3 初始环境检查清单
进入系统后,别急着开始做题。我习惯先花几分钟检查当前系统的状态,心里有数之后再做配置,遇到问题也能快速判断是自己配置的问题还是环境本身的问题。检查清单大概是这样:
- 系统版本:cat /etc/redhat-release,确认是RHEL 9还是其他版本
- 主机名:hostnamectl status,记录当前值
- 网卡状态:nmcli device status,确认网卡名称和连接状态
- SELinux模式:getenforce,确认是Enforcing还是Disabled
- 时间同步:timedatectl status,确认systemd-timesyncd或chronyd是否启动
- 磁盘分区:lsblk,确认磁盘名称、分区大小、是否已有LVM
这组命令花不了两分钟,但能让后面每一步操作都有明确的基线。很多新手在做作业时配置失效,表面上是命令打错了,实际原因是系统环境和自己预期不一致,比如网卡名称根本不是常见的eth0而是ens160,或者SELinux处于Disabled状态导致某些权限测试完全无法复现。
3. RHCSA核心考点拆解:一张初学者能用的知识地图
3.1 用户与权限管理:先从命令语义入手
用户和组管理是RHCSA考试里占比很高、也是日常运维最常用的一块。核心命令就那几个:useradd、usermod、userdel、groupadd、groupdel、id、passwd。命令数量少,但参数非常多,而且很多参数之间有组合关系,光靠记参数是不行的,得理解它们的语义。
举个例子,useradd -m -u 2015 -g tools -G wheel -s /bin/bash alice这条命令,含义是创建用户alice,-m表示创建家目录,-u指定UID为2015,-g指定主组为tools,-G附加组为wheel,-s指定登录shell为bash。考试里经常让你创建指定UID、指定主组、指定附加组的用户,如果你不理解每个参数的含义,看到题目就会慌。
权限管理这块,我建议重点掌握三类内容:基本权限(chmod、chown)、ACL访问控制列表(setfacl、getfacl)、SUID/SGID/Sticky Bit三个特殊权限位。基本权限用三位八进制数表示,比如750代表所有者可读写执行、组可读执行、其他人无权限;ACL则是给特定用户或组单独授权,典型场景是"其他人不能访问,但某个用户例外";特殊权限里,Sticky Bit用于目录时能防止他人删除你的文件,/tmp目录就是这个权限的典型例子。
注意:操作ACL一定确认文件系统支持,默认的xfs和ext4都支持,一般问题不大。真正容易犯错的是删除ACL时没有加-b参数,导致默认ACL残留。建议动手前先getfacl看清楚现状,改完再getfacl确认结果。
3.2 存储与文件系统:LVM是必选项
存储管理是另一个重头戏,考试通常包含:创建分区、创建物理卷、创建卷组、创建逻辑卷、格式化、挂载、配置开机自动挂载、创建swap分区等。这里面LVM是必考内容,同时也是初学者最需要花时间理解的部分。
我习惯用一个类比来解释LVM:把整块磁盘想象成一块大土地,分区就是把土地划分成不同地块,物理卷(PV)相当于把地块登记成可用的资源池,卷组(VG)就是把多个资源池合并成一个大的"总库",逻辑卷(LV)就是从总库里划出一块来实际使用。这样一来,你以后想扩容就不用重新分区,只要总库里还有空间,一条命令扩大逻辑卷就行。
实际操作流程大概是:lsblk确认磁盘 -> fdisk或 parted创建分区并改类型为LVM(8e)-> pvcreate创建物理卷 -> vgcreate创建卷组 -> lvcreate创建逻辑卷 -> mkfs.xfs格式化 -> mount挂载。注意RHEL 9里lvm2工具链没有变化,但fdisk和parted交互方式不同,如果你不习惯交互式分区工具,用parted的脚本化命令会更顺手。
挂载持久化要注意的是修改/etc/fstab时千万别写错,写错可能开不了机。我建议每次改完fstab先执行mount -a测试一下,确认没有报错再继续,同时把快照拍了,万一出问题还有后悔药。
3.3 服务与进程管理:systemd一统天下
在RHEL里管理服务就是管理systemd单元。你要掌握的不仅是systemctl start、stop、status这些基本命令,更重要的是理解服务启用的两个层面:一个是当前会话是否运行(start/stop),另一个是开机是否自动运行(enable/disable)。考试里"配置某服务开机自启且立即启动"这种题,标准答案就是systemctl enable --now 服务名,enable和--now连用可以一步到位。
cron定时任务是另一个常考的点。配置方法可以写在/etc/crontab里,也可以用crontab -e编辑当前用户的crontab文件。格式是五个字段:分 时 日 月 周 + 命令。比如"每天14点30分运行日志清理脚本"就应该写成30 14 * * * /usr/local/bin/cleanup.sh。注意cron服务本身在RHEL里叫crond,需要确保它处于enable状态,否则你的任务不会执行。
防火墙firewalld方面,很多题会要求放行特定端口或服务。推荐做法是firewall-cmd --permanent --add-service=http这种按服务名放行的方式,比直接开端口更规范,改完记得firewall-cmd --reload。有一个容易忽略的点:直接改iptables的规则能生效,但重启后大概率丢失,所以答案一定要落在firewalld的管理框架内。
3.4 系统安全要点:SELinux、sudo与SSH加固
SELinux是RHCSA考试里很多考生的障碍,但考试要求其实没那么深。你需要掌握:查看SELinux状态(getenforce)和配置文件(/etc/selinux/config)、修改文件的安全上下文(chcon、semanage fcontext)、恢复默认上下文(restorecon)。考试中常见场景是:你搭好了某个服务,发现它无法访问某个文件,检查后发现是SELinux阻止了,你需要把文件的安全上下文设为httpd_sys_content_t之类的类型。
sudo配置也是常考题。在/etc/sudoers.d目录下新建一个文件,内容比如alice ALL=(ALL) NOPASSWD: ALL,表示alice可以在所有主机上以任何用户身份执行所有命令且无需密码。这里有个重要的安全意识:改sudo配置一定要用visudo命令编辑,或者至少确认文件权限是440,否则sudo可能直接罢工。
SSH加固相关的题目通常不会太复杂,比如禁止root直接登录、允许或拒绝特定用户登录、修改端口等。改完sshd_config记得systemctl restart sshd,并且最好先开一个新会话测试再断开当前连接,否则配置错误可能导致你永远连不上机器。
4. 作业一实战:从零完成一组典型实验题
4.1 作业设定与题目要求
我给自己安排的作业一由8道题组成,覆盖上面提到的大部分核心考点。题目设定如下:
- 配置系统主机名为rhcsa-node01
- 创建一个名为tools的用户组,GID为3000
- 创建用户tom,UID为2500,主组为tools,附加组为wheel
- 创建目录/data/project,属主为tom,属组为tools,权限为2770
- 使用LVM创建一个120MiB的逻辑卷,命名为lv-data,挂载到/data/lvmdata,并配置开机自动挂载
- 配置一个每分钟执行一次的计划任务,运行/usr/local/bin/notice.sh
- 在firewalld中放行HTTP服务,并设为永久生效
- 为tom配置sudo权限,允许其以root身份运行所有命令且免密
这组题目比较典型,覆盖了用户、权限、存储、服务、防火墙、sudo这些高频考点。题目难度不高,但你动手做一遍就会发现,每道题都有它自己的隐藏要求。
4.2 完整解题过程
第一题配置主机名。命令很简单:hostnamectl set-hostname rhcsa-node01,然后bash刷新一下或者重新登录,hostnamectl确认即可。这一步基本人人会,但我见过有人改完不去确认,导致后续题目里引用主机名的步骤出错。
第二、三题可以一起做。创建用户组tools,GID为3000:groupadd -g 3000 tools。创建用户tom:useradd -m -u 2500 -g tools -G wheel -s /bin/bash tom。用id tom验证输出里uid=2500、gid=3000、groups包含wheel和tools就算完成。
第四题,目录权限:mkdir -p /data/project,然后chown tom:tools /data/project,最后chmod 2770 /data/project。这个2770里的2表示SGID位。设置SGID后,这个目录下新建的文件会自动继承属组,这是团队协作目录的常见配置。权限检查用ls -ld,输出应类似drwxrws--x。
第五题LVM,步骤稍微多一些。先用lsblk确认有空余磁盘资源,我练习时用的系统里有一个未分区的/dev/sdb。操作顺序:fdisk /dev/sdb创建一个分区,类型选Linux LVM(8e),然后pvcreate /dev/sdb1、vgcreate vg_data /dev/sdb1、lvcreate -n lv-data -L 120M vg_data。格式化:mkfs.xfs /dev/vg_data/lv-data。临时挂载验证:mount /dev/vg_data/lv-data /mnt,确认没问题后卸载。接着mkdir /data/lvmdata,编辑/etc/fstab加入一行,或使用blkid查找UUID后写入,推荐用UUID。最后mount -a验证,df -h确认挂载成功。
提示:考试中修改/etc/fstab后无法执行mount -a验证,也可以用findmnt /data/lvmdata来确认系统已经识别。如果fstab写错了,重启后系统可能无法进入正常模式,这是RHCSA实操中最常见也最严重的失误之一,所以每一步都确认非常重要。
第六题计划任务:先确认crond服务在运行(systemctl status crond),然后用crontab -e编辑tom的计划任务,或者直接用root给tom写一个任务文件。最简单的方式是:crontab -u tom -e,然后写入* * * * * /usr/local/bin/notice.sh。保存后用crontab -u tom -l确认内容。注意脚本本身要有执行权限,否则任务不会执行。
第七题防火墙:firewall-cmd --permanent --add-service=http,然后firewall-cmd --reload,最后firewall-cmd --list-services确认http在列表里。这里我踩过一次坑,只加了--permanent忘了reload,结果当前会话里规则没生效,页面访问超时,排查半天才发现自己漏了最后一步。
第八题sudo配置:在/etc/sudoers.d/目录下创建文件tom,内容写入tom ALL=(ALL) NOPASSWD: ALL。用visudo -c检查语法无误后,可以用su切换tom执行sudo -l确认输出中包含NOPASSWD相关行。这里一定不要直接改/etc/sudoers主文件,放到sudoers.d目录是官方推荐的安全做法。
4.3 复盘:这些步骤最容易扣分
作业做完了,我对照RHCSA的评分习惯复盘了一遍,发现有几个点特别容易扣分。第一,用户创建时没有用-m创建家目录。很多题目暗示用户需要家目录,如果没创建,登录时会出现异常,属于功能不完整。第二,LVM逻辑卷的大小没写单位。lvcreate -L 120和lvcreate -L 120M完全不同,考纲里明确要求以MiB为单位的时候,你写个120出来很可能被认为大小未指定。
第三,fstab配置用了设备名而不是UUID。设备名在系统重启后可能变化(比如sdb变成sdc),用UUID才是最稳妥的。第四,防火墙改了规则没有reload,导致当前会话不生效。第五,sudo配置文件权限不对,sudo命令直接拒绝使用。这五个坑我全部踩过至少一遍,写在这里供你参考。
注意:RHCSA考试中,重启后配置仍然生效是一个非常主要的评分维度。所有配置完题目以后,我强烈建议做两次重启验证:第一次按常规reboot,第二次直接强制关机开机,看配置文件是否都能恢复正常状态。
5. 做作业时踩过的坑与高频问题速查
5.1 环境类问题的快速定位思路
作业一阶段遇到的大部分问题其实不是命令不熟,而是环境状态和自己预期不一致。比如,你明明执行了dnf install httpd,却提示找不到软件包,这可能是软件源没有配好;你执行systemctl start firewalld,提示unit不存在,这可能是firewalld没安装或已被禁用。
我的建议是先学会看状态命令:systemctl status、firewall-cmd --state、getenforce、lsblk、df -h、hostnamectl、nmcli。遇到任何异常,第一步不是急着改配置,而是先确认当前状态,找到差异点。比如网络不通,先看nmcli device status看看网卡是否连接,再看ip addr看IP地址,然后ping网关、ping外网,一层层定位,而不是凭着感觉乱试。
5.2 配置不生效的高频原因
配置不生效是RHCSA作业里最让人崩溃的环节,但仔细排查就会发现原因高度集中。第一,改了配置文件没有重启对应服务,比如sshd、httpd、firewalld。第二,修改了systemd相关的配置没有daemon-reload。第三,写进/etc/fstab的内容语法错误导致系统启动时报错。第四,修改了SELinux文件上下文后没有restorecon或semange fcontext规则不完整。第五,firewalld规则加了永久但忘了reload。
这五类问题里,举手之劳可以避免的是第二和第五。systemctl daemon-reload是修改service文件后的标配动作,firewall-cmd --reload同理。养成"改完配置必重启/重载并验证"的习惯,至少能帮你省掉一半的排错时间。
5.3 几个必背的命令与参数速查
写作业的过程中我整理了一个小速查表,现在还在用,贴出来给你参考。
| 操作目标 | 推荐命令 | 关键参数/注意点 |
|---|---|---|
| 创建指定UID用户 | useradd -m -u UID -g 主组 -G 附加组 用户名 | 别漏-m |
| 设置目录SGID | chmod 2770 目录 | 2代表SGID |
| 查看文件上下文 | ls -Z 文件 | 用于SELinux排查 |
| 修改SELinux上下文 | chcon -t httpd_sys_content_t 文件 | 临时更改,重启可能丢 |
| 永久恢复上下文 | semanage fcontext -a + restorecon | 推荐永久做法 |
| 创建逻辑卷 | lvcreate -n 名称 -L 大小M 卷组名 | 单位要明确 |
| 放行端口 | firewall-cmd --permanent --add-port=端口/tcp | 改完记得reload |
| 配置sudo免密 | sudoers.d文件 + NOPASSWD: ALL | 权限保持440 |
| 立即启动并自启 | systemctl enable --now 服务名 | 一步到位 |
这张表不是考点大纲,是我自己经常要回头看的"操作摘要"。刚开始做作业时最好自己整理一份类似的表,写错了回头翻一翻,比重新翻命令手册快得多。等做熟了,这张表里的内容就会内化成记忆,考试时手速自然上得去。
6. 关于RHCSA作业一的个人建议
如果你问我做作业一最重要的是什么,我的回答是:不是掌握多少条命令,而是养成"做完验证、改完确认"的习惯。RHCSA考的就是系统管理员的基本功,基本功的表现形式就是:你配置的东西能不能稳定生效、重启后还在不在。作业一涵盖的内容虽然基础,但它是整个备考路上最值得反复练的一组实验。把这些操作练到闭着眼睛都能完成,后面无论是考RHCE还是做日常工作,都会有底气得多。
最后分享一个小技巧:每次做完一组作业题,拍一张快照,然后用文字记录下你的思路和踩坑过程。过几天回到这个快照重新做一遍,你会发现第二次做得更快、更稳,而且能发现自己第一次漏掉的操作。我当时就是这样,把同一组作业反复做了三遍,直到每个步骤都不需要思考才进入下一阶段。这个过程虽然枯燥,但正是从"知道"变成"会做"的关键一步。
