ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

RHCSA作业实操指南:从环境准备到重启验证的核心技能

RHCSA作业实操指南:从环境准备到重启验证的核心技能 如果你手头恰好有一份RHCSA认证相关的实操作业或者你正在备考红帽系统管理员认证却总觉得知识点零零散散、不知道从哪下手那这篇文章你值得看完再动手。RHCSA全称Red Hat Certified System Administrator是红帽体系里最基础的实操型认证考试全程没有选择题全是在一台真实的Linux系统上完成各种配置任务。而所谓的“RHCSA作业”通常就是老师或培训机构根据考试大纲拆出来的阶段训练比如让你配置一台新机器、创建用户、做LVM分区、设置SELinux、跑一个容器最后重启验证。我在实际带人和自己练习过程中最大的感受是大部分同学真正的问题不是“不知道命令”而是拿到题目后思维混乱喜欢先敲一个命令看看能不能过结果改了一堆不该改的东西最后重启系统直接起不来。RHCSA作业本质上考的不是你会背多少命令而是你能否像一名合格的系统管理员那样在有限时间内把一个系统从一个状态调整到另一个状态并且这个状态能持久保留。这篇文章我就从作业背后的考察逻辑出发把环境准备、核心技能、完整实操流程、常见排错这些环节全部串起来讲尽量让你能照着做、能落地而不是又看了一堆零散知识点。1. 先想明白RHCSA作业到底在考什么1.1 不止是“搭建环境”而是一套完整交付闭环很多人第一次接触RHCSA时容易陷入一个误区以为把虚拟机装好、系统起来就算入门了结果一做作业就露馅。因为RHCSA考试要求的是“交付一台能够上线使用的服务器”而不是“一个能开机登录的桌面系统”。你做完的任何配置都默认要扛得住重启默认要能被另一个管理员接手验货。我举一个最典型的例子作业里要求“在系统里添加一块2G的LVM逻辑卷挂载到/data并且开机自动挂载”。很多同学会顺利用lvcreate建好卷用mkfs.xfs格式化再用mount /dev/vg01/lv01 /data挂上去。看起来一切正常评分老师过来一敲reboot系统直接起不来。原因往往是/etc/fstab没有配好或者用了错误的设备名导致启动时找不到文件系统。这种问题几乎每次培训都会出现而且每次都有人踩。它说明一个核心逻辑RHCSA作业不是“当时能跑就行”而是“重启之后依然成立”。“持久化”三个字是整个作业里最容易被忽视的验收标准。还有一点非常关键RHCSA作业和真实工作场景一样讲究“状态必须可验证”。考试的时候考官不会问你“你是怎么做的”他只看系统当前的状态、配置文件的最终结果、服务是否在运行。这就要求你平时做作业的时候每一步都要想一想我改完这个文件用什么命令能证明它生效了比如配了静态IP之后用nmcli connection show确认配了SELinux上下文之后用restorecon和ls -Z验证发了端口之后用firewall-cmd --list-all检查。做完一个任务马上验证一个任务而不是全部做完再回头查。1.2 从考纲反推高频考点建立你的任务地图RHCSA的官方考纲在RHEL 9版本对应EX200下大致分成几大块虽然每年有微小调整但核心模块很稳定。我平时做作业时习惯把它们整理成一张对照表方便自己快速定位“这道题到底在考什么”。模块常见作业任务高频命令/工具系统基础设置主机名、时区、IP创建用户组配置sudo权限hostnamectl、timedatectl、useradd、visudo、nmcli存储管理分区、创建LVM、格式化、挂载、swap扩容fdisk、parted、pvcreate、vgcreate、lvcreate、mkfs.xfs、blkid用户与权限批量建用户、密码策略、ACL、sudo规则useradd、passwd、usermod、groupadd、setfacl、getfacl安全管控SSH免密登录、配置防火墙、调整SELinuxssh-keygen、firewall-cmd、semanage、restorecon服务与容器编写systemd单元、RHEL 9里起Podman容器、查看日志systemctl、podman、journalctl网络配置修改静态IP、添加路由、配置DNSnmcli、ip route、cat /etc/resolv.conf这张表不是为了让你死记硬背而是为了建立“任务到工具”的映射思维。举一个高频场景如果题目说“允许远程访问Apache服务”这里就不只是装httpd那么简单你至少有四件事要做启动服务并设置开机自启、在防火墙里放行80端口、确认SELinux上下文没把网页目录挡掉、测试从另一台机器能否访问。这四个动作分别对应表里“服务与容器”“安全管控”甚至“网络配置”几个模块但它们本质是一体的。只有把模块串起来看你才能在作业和考试里不遗漏任何一层。2. 环境准备先把练习场搭成考试场的样子2.1 虚拟机、镜像和硬件参数怎么选做RHCSA作业最好用虚拟机这一点不用犹豫。VMware Workstation也好Oracle VirtualBox也好选一个你顺手的就行关键是能随时打快照。快照是做实验的后悔药尤其是你改坏了fstab或者把SELinux搞到无法登录的时候一个恢复快照能省下整晚的排查时间。镜像选择上最简单的是去Red Hat开发者门户注册一个账号可以免费下载RHEL 9的ISO镜像注册之后还可以解锁红帽官方仓库。如果你不想注册用Rocky Linux 9或AlmaLinux 9也完全可以因为它们和RHEL完全兼容作业里涉及到的命令和路径几乎一模一样。我个人不太建议用CentOS Stream练RHCSA虽然它也是RHEL的上游版本但某些软件包版本和官方考纲略有出入可能让你在练习时遇到“命令存在但参数行为不同”的奇怪问题。硬件上我给每次练习的最低建议是CPU至少给2核内存给到4G硬盘建议40G以上。尤其别把磁盘空间压得太紧因为后面你要做LVM、要做分区预留如果只给20G弄到一半就没空间扩展逻辑卷了。另外硬盘建议直接用NVMe或SSD否则创建文件系统、安装软件包的速度会让你怀疑人生。2.2 安装时的分区策略预留空白最重要安装系统的时候不要一路点“自动分区”这是一道送分题也是很多作业的起点。RHEL 9安装器里选“手动分区”我习惯这样分/boot分区给1G用来放引导文件/根分区给15G到20G放系统和日志/home给5G左右即可有些作业不涉及用户家目录swap给2G物理内存2G到4G的情况下够用剩下的空间先不分配留着安装系统之后做LVM或新建分区。为什么要留空白空间因为RHCSA作业里非常喜欢考“添加一块新磁盘或利用剩余空间创建逻辑卷”。如果你安装时把所有空间都分给了根分区后面练习pvcreate、vgcreate的时候就得再挂一块虚拟磁盘虽然也能练但不如安装时就留好空间来得更接近考试场景。你可能觉得这有点小题大做但我见过太多人安装时偷懒用了自动分区结果做LVM作业时发现没有任何空闲空间只能重新建虚拟机白白浪费一个晚上。安装完成后先做两件事。第一件事是设置快照命名类似“刚装完系统”这个快照是你以后反复练习的起点。第二件事是配置好软件仓库RHEL需要先subscription-manager registerRocky或Alma直接对好官方BaseOS和AppStream仓库就行。本地练习时还可以挂载安装ISO做一个本地仓库这样离线环境也能用dnf装包。2.3 用nmcli快速固定你的网络配置很多作业题里会要求“把系统的IP地址静态配置为某个地址”而且考试时网卡名称通常是ens160、ens192之类不是老掉牙的eth0。在RHEL 9里最稳妥的方式就是nmcli。比如你要把网卡ens160配置为静态IP 192.168.50.10/24网关192.168.50.1DNS用114.114.114.114可以这么操作nmcli con mod ens160 ipv4.method manual ipv4.addresses 192.168.50.10/24 ipv4.gateway 192.168.50.1 ipv4.dns 114.114.114.114 nmcli con up ens160这里有一个细节值得注意RHEL 9里NetworkManager管理连接名的默认规则如果你用的是普通安装连接名一般就是网卡名比如ens160。但有些云镜像或特殊安装方式下连接名可能是“Wired connection 1”之类这时你得先nmcli con show看一眼再拿准确的名字去mod。整个作业里凡是要写配置文件的地方先确认对象再动手永远比想当然更安全。3. 核心技能逐项拆解把你最容易丢分的地方补上3.1 存储操作LVM的完整工作流与fstab持久化存储是RHCSA作业里的重头戏也是平时练习过程中大家丢分最严重的模块。我建议你把一套标准流程练到不用思考就能打出来用lsblk看盘、用pvcreate建物理卷、用vgcreate建卷组、用lvcreate建逻辑卷、用mkfs.xfs格式化、用blkid取UUID、最后写进/etc/fstab。例如现在有一块20G的空闲磁盘/dev/sdb要创建一个名为data的逻辑卷大小为2G挂载到/mnt/datapvcreate /dev/sdb vgcreate vg_data /dev/sdb lvcreate -n data -L 2G vg_data mkfs.xfs /dev/vg_data/data mkdir -p /mnt/data这里我不急着挂载而是先执行blkid /dev/vg_data/data拿到这逻辑卷的UUID之后再写入/etc/fstab。为什么推荐用UUID而不是直接写/dev/vg_data/data因为设备名在某些场景下比如重启后盘符漂移可能发生变化而UUID是文件系统的唯一标识更稳定。考试和作业虽然不强制你用UUID但养成这个习惯能让你在真实环境里少踩坑。fstab的一行标准写法大概是UUIDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/data xfs defaults 0 0写完fstab之后千万别偷懒只靠reboot验证。应该先用mount -a测试一遍如果没有报错再reboot。每次改了fstab都要问自己如果这句话写错了系统还能不能进如果答案是不能那就老老实实先看语法、再测试、最后重启。3.2 用户权限和ACL不要只会useradd和chmod用户和权限部分在作业里常常以“组合拳”的形式出现。最典型的需求是创建用户、加入附加组、设置sudo权限、在某些共享目录上做ACL授权。初学者容易犯的毛病是只执行useradd和passwd把用户建完就完事结果题目里“加入辅助组”和“sudo权限”这两个条件都没满足。我举一个实际作业例子。要求创建用户alice和bob创建组project把bob加入project组并让alice能用sudo执行所有命令。你需要这样操作useradd alice useradd bob groupadd project usermod -aG project bob注意这里用了-aG而不是-G-a表示append追加如果漏掉-a会把用户从其他附属组里挤出去。给alice配置sudo时不建议直接修改/etc/sudoers而是去/etc/sudoers.d/下面建一个独立文件例如/etc/sudoers.d/alice内容写入alice ALL(ALL) ALL这样做的好处是便于管理和回滚也是RHEL官方推荐的做法。检验时用sudo -l -U alice就能看到alice的权限列表比直接看文件更直观。再来说ACL。共享目录常常要求“用户tom对这个目录有读写权限但这个目录的所有者还是root”这时候chmod解决不了得用setfacl。例如setfacl -m u:tom:rwx /shared/data如果你想看目录的ACL规则用getfacl /shared/data。ACL是独立于传统owner/group/other三组权限之外的访问控制有这个授权的人是可以正常访问的。很多同学操作完ACL之后不验证直接交作业结果发现tom还是进不去原因是目录本身没有otherrx权限ACL虽然写了rwx但上层目录没有x权限时照样进不去。这个坑非常隐蔽以后你在真实生产环境做共享目录时也一定绕不过去。3.3 SELinux和防火墙服务起不来的两座大山RHCSA作业里SELinux几乎每套题都会出现不是直接考而是藏在各种服务配置里。最常用的排查起点是getenforce查看当前SELinux是Enforcing、Permissive还是Disabled。很多作业要求系统保持Enforcing状态同时还要让服务能正常工作这就涉及正确的文件上下文了。比如你手动把Nginx或Apache的网页目录放在/opt/webroot下而不是默认的/usr/share/nginx/html那么即使httpd服务已经启动、防火墙也放行了端口浏览器依然会访问超时。原因就是/opt/webroot缺少httpd_sys_content_t上下文。解决方案是执行semanage fcontext -a -t httpd_sys_content_t /opt/webroot(/.*)? restorecon -Rv /opt/webroot这里semanage fcontext是在告诉SELinux“这个路径的默认上下文是什么”restorecon则是把规则应用到现有的文件上。很多新手只记得setenforce 0先关了SELinux让服务能跑但这在考试里就是送命操作因为题目明确要求Enforcing状态的话你reboot之后配置就全部失效。防火墙这边同样容易翻车。RHEL 9默认使用firewalld开放端口固定套路是firewall-cmd --add-port8080/tcp --permanent firewall-cmd --reload注意一定带上--permanent否则只是临时生效重载或重启防火墙后规则就没了。你可以用firewall-cmd --list-all来确认。实际作业里经常有人把httpd和firewalld混在一起以为开了firewalld端口就万事大吉结果服务绑定在127.0.0.1上外部照样访问不到。判断时先用ss -lntp看监听地址再用curl从另一台机拉一次分开定位问题不要一个命令黑盒式排查。3.4 systemd与Podman容器从手写服务到自启容器RHEL 9的RHCSA作业基本都会涉及systemd服务单元的编写以及利用Podman运行容器。systemd部分常见题型是要求写一个名为web.service的unit使某个脚本开机自动运行。标准的单元文件放在/etc/systemd/system/web.service内容大致为[Unit] DescriptionMy Web Service [Service] ExecStart/usr/local/bin/myweb.sh Restarton-failure [Install] WantedBymulti-user.target写完文件后依次执行systemctl daemon-reload systemctl enable --now web.serviceenable和--now要一起用enable会创建开机自启的软链接--now是立刻启动服务。很多同学只写了systemctl start漏了enable重启之后服务就消失了。而如果只enable不start服务当时没起来作业验收时看systemctl is-active一样会扣分。Podman部分在RHEL 9的考试大纲里已经很稳定了。常见作业题是用podman运行一个Nginx容器把端口映射到8080设置容器在系统重启后自动启动。操作思路是在镜像仓库拉取镜像然后启动容器并加上--restartalways参数或者用systemd的方式管理容器。我的建议是直接掌握一条命令podman run -d --name web --restartalways -p 8080:80 docker.io/library/nginx:latest这里--restartalways能保证容器随Podman服务一起启动。但请注意如果系统重启后Podman服务本身没有启用容器依然不会自动起来。稳妥做法是检查podman-restart.service是否处于enabled状态再验证容器。在考试里尽量用systemctl管理容器的思路也就是为容器生成独立service文件这样更符合“服务能被systemd管理”的考点。4. 一套完整的综合作业实操流程从零到验收4.1 模拟一份贴近真实考场的作业清单为了把前面那些零碎技能串起来我们模拟一份比较典型的RHCSA综合作业题。假设你在系统里需要完成以下任务设置系统主机名为server01.example.com创建用户alice和bob创建附加组project把bob加入project组配置alice拥有sudo权限利用现有磁盘新增一个2G逻辑卷挂载到/data并开机自动挂载配置SSH免密登录让alice可以免密登录本机开放8080端口并通过Podman运行一个Nginx容器把容器的80端口映射到主机的8080端口且容器开机自启全程保证SELinux处于Enforcing状态。这份题基本上是EX200高频考点的浓缩版。你按“基础配置、存储、用户、安全、容器”的顺序做每一步做完立刻验证会比想到哪个做哪个稳得多。4.2 分步实战命令细节和操作顺序第一步修改主机名。最简单的方式是hostnamectl set-hostname server01.example.com然后输入hostnamectl看主机名有没有变化。如果你想同时把/etc/hosts也改了那就手动编辑加入一行本机IP映射便于后续解析。第二步处理用户和组。按前面讲过的方式创建用户再把bob加入projectuseradd alice useradd bob groupadd project usermod -aG project bob passwd alice passwd bob接着给alice配置sudo在/etc/sudoers.d/下创建文件内容写入alice ALL(ALL) ALL然后用visudo -c检查语法。这里有个小细节如果你在练习时不注意用vim直接改了/etc/sudoers语法一旦写错sudo命令都会挂掉包括你自己。放到真实考试里这就是灾难所以平时务必用visudo或独立文件。第三步创建LVM逻辑卷。先用lsblk看空闲磁盘如果刚才系统安装时预留了未分配空间可以直接用它建。假设空闲盘是/dev/sdbpvcreate /dev/sdb vgcreate vg_data /dev/sdb lvcreate -n data -L 2G vg_data mkfs.xfs /dev/vg_data/data然后创建挂载点写入fstabmkdir -p /data blkid /dev/vg_data/data用vbird的UUID填进/etc/fstab再执行mount -a确认无误后用df -hT /data查看挂载状态。这一步如果报错一定先处理别急着重启。第四步配置SSH免密登录。首先生成密钥对然后把公钥放到authorized_keys里ssh-keygen -t rsa -N -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys这里权限极其重要authorized_keys如果权限过松sshd会直接忽略这个文件导致免密登录失败。验证时用ssh localhost确认不需要密码就能登录。第五步防火墙和容器。先放行8080端口firewall-cmd --add-port8080/tcp --permanent firewall-cmd --reload然后运行Nginx容器podman run -d --name web --restartalways -p 8080:80 docker.io/library/nginx:latest如果网络拉镜像慢可以用其它镜像源但考试环境通常已经给你准备好了所需镜像卷只需拉取对应名称即可。启动后检查podman ps再用curl 127.0.0.1:8080看是否能返回页面。4.3 重启后的验收清单做完以上所有步骤才算完成了一半。接下来最重要的一步是重启验证。很多同学做作业时卡在最后几步一reboot系统就坏了然后手忙脚乱。我建议你在reboot之前先按下面这个清单逐项过一遍fstab是否用了UUIDmount -a是否无报错systemctl是不是enable了需要自启的服务firewall-cmd规则是否带有--permanentSELinux是否仍为Enforcingpodman容器是否带有--restartalwayspodman-restart服务是否启用。确认没问题后再reboot重启成功后依次检查hostnamectl、df -h、sudo -l -U alice、systemctl status、podman ps、curl 127.0.0.1:8080。全部通过这份作业才算真正完成。5. 常见问题与排查技巧实录都是踩过的坑5.1 一重启就进不了系统大概率是fstab写错了这是RHCSA作业里出现频率最高的“事故现场”。故障表现是重启后卡在开机界面或者提示找不到文件系统。这时候systemctl进入emergency模式输入root密码登录后第一件事就是看/etc/fstab找到有问题的行用#注释掉然后执行mount -a确认没问题后再reboot。如果连emergency模式都进不去那就通过GRUB菜单追加rd.break进入initramfs环境把文件系统以只读方式挂载修复fstab再重启。不过这种属于终极大招平时练习时最好依靠快照兜底别在考试前才第一次尝试。平时怎么避免写fstab之前先blkid拿UUID挂载路径确认目录已建好挂载选项用defaults就够尽量不要用那些花哨的挂载参数。改完fstab强制自己执行mount -a这个命令就是你的安全员。5.2 服务启动正常但外部访问不到SELinux和防火墙挨个查作业里最典型的场景是Apache启动了端口监听了本机curl也通了但另一台机器就是访问失败。这时候别急着怀疑网络按顺序排查systemctl status httpd ss -lntp | grep 80 firewall-cmd --list-all getenforce ls -Z /var/www/html/index.html前两条确认服务在跑、端口在监听第三条看防火墙有没有放行后面两条则是看SELinux有没有挡路径。真实案例里十有八九是防火墙没放行端口或者网页目录的SELinux上下文不对。如果临时用setenforce 0测试服务能通那就基本能锁定上下文问题老老实实semanage fcontext加restorecon。5.3 考试评分里最容易丢分的三个“隐性条件”很多同学交作业之前自我感觉良好但评分结果却不高原因往往出在隐性条件上。第一临时状态和持久状态分不清。比如firewall-cmd不加--permanent、systemctl只start不enable、setenforce只改运行时不改配置文件这些都属于“临时代办”重启后原形毕露。第二用户家目录和文件属主对不上。用useradd创建用户后如果作业要求给这个用户家目录预置文件你就要注意家目录的属主和权限最好用chown -R让它和用户完全匹配。第三软件包安装后没有验证命令是否存在。比如装完httpd要习惯用rpm -q httpd或者httpd -v确认版本不要盲目相信dnf install返回success就是万事大吉。这三点是我在批改进程里见过最多的扣分点平时自己练习时最好每次都模拟“考官视角”从重启状态和最终状态去挑自己毛病。6. 备考节奏与实战心得6.1 从零到通过合理的时间分配方式如果你的目标是两周内完成RHCSA备考同时又要把每份作业做扎实我建议节奏这样安排前3天专门练系统基础配置包括主机名、用户、权限、仓库配置第4到6天集中练存储重点是LVM和fstab每天至少重复三遍“建卷-挂载-重启验证”第7到9天练SELinux、防火墙和SSH把安全相关的组合拳打牢第10到12天练Podman和systemd把容器和服务的自启逻辑搞明白最后2天做完整综合试卷按照考试时间模拟一遍再逐项核对验收清单。每个人的基础不同时间可以灵活调整但有一个原则不能变宁可少做新题也要把练过的题目在重启后完整验收一遍。因为RHCSA的价值恰恰在于“重启后依然正确”这和平时敲命令反复试错的习惯完全不同。6.2 我个人的几个练习习惯根据我这些年带人做实验的经验有几个小习惯特别值得参考。第一每台练习机都保留一个“系统刚装好”的快照练坏了随时回到原点能够大幅降低心理负担。第二做过一遍的题目要整理成自己的实验笔记不是复制命令而是写清楚每一步为什么要这么做尤其是fstab和SELinux这种容易出问题的配置把当时的报错和解决办法记下来那就是你的私房题库。第三尽量练到“不看文档盲打”的程度。RHCSA因为是纯手工操作时间压力很大你一紧张就会忘记一些长命令的细节平时练到肌肉记忆考试才会稳定发挥。做RHCSA作业这件事说到底不是在折腾虚拟机而是在训练一种“可交付”的系统管理思维。你面对每一道题都要像最后真要把它交接给另一位管理员一样谨慎状态是否持久、权限是否合理、服务是否能扛住重启。这种思维习惯一旦建立别说考试往后工作上处理服务器问题你也会比同龄人少踩不少坑。最后再把那句话送给你每次重启前先想清楚自己改了什么每次重启后先验证那些东西还在不在。这是RHCSA作业里最值钱的一课。
返回列表