
RHCSA考证这件事网上经验贴一大把但专门写“第一次作业”该怎么做的反而很少。我第一次准备RHCSA认证时面对课程留下的一堆实操题目心里想的是“这还不简单”结果真正上手才发现命令是敲出来了权限设了用户也建了但一步一个坑验证时全露馅。后来考过EX200、又带过几个新人走完备考流程我越来越确信一件事第一次作业的质量基本决定你后面能不能顺利拿下认证。这不是鸡汤是RHCSA考试本身的性质决定的——它不考选择题不考背诵全部是真机上手操作考试时间2.5小时满分300分210分及格你平时怎么练的考场就怎么表现。这篇文章我想用一线实操的视角把RHCSA第一次作业背后真正要练的东西拆开讲清楚为什么作业重要、核心知识点怎么理解、一份典型作业怎么做完并验证、以及那些不踩一遍就永远记不住的坑。适合正在备考RHCSA、刚开始学Linux运维、或者想从Debian系转红帽系的人。内容以RHEL 9 / Rocky Linux 9 / AlmaLinux 9这个版本系为例所有命令我都按红帽系的习惯来写。1. 为什么第一次作业值得你用三小时来认真做1.1 先从RHCSA考试本身说起RHCSA全称是Red Hat Certified System Administrator对应考试代码EX200是红帽认证体系里最基础也最重要的一张证。考试在真实虚拟机环境里进行你面对的是一台已经装好、但很多功能没配置的RHEL系统屏幕上给你一串需要完成的任务列表你要在这一台机器上独立完成所有配置并确保生效。没有多选题没有“以下哪个命令正确”的纸面题一切以最终系统状态为准。考试覆盖的范围大致包括基础命令操作、用户与组管理、文件权限、存储与文件系统、逻辑卷、网络配置、系统服务管理、进程调度、日志、以及容器基础主要是podman。这里面的每一项第一次作业都会以简化形式碰到。换句话说第一次作业不是“热身运动”它是整个备考路径的第一个真节点后面学的所有东西都建立在这套操作手感之上。我第一次做作业时最大的错觉是题目要求建一个用户我useradd一下看见命令成功返回就觉得完事了。但RHCSA的精髓恰恰是“验证”你建的用户密码对不对、家目录权限合理不合理、能不能登录、sudo规则有没有生效这些才是判分的关键。第一次作业练的就是这种“操作验证”的闭环思维。1.2 第一次作业的三个真实目的目的不是“把作业做完”而是通过做作业建立三样东西。第一命令的肌肉记忆。考试只有2.5小时任务量不小你没有时间现场翻笔记。像useradd的参数、chmod的权限算法、tar的压缩选项这些必须形成条件反射。肌肉记忆没有捷径只能靠反复敲。第二红帽系的操作手感。很多新手是从Ubuntu、Debian入门的apt、ufw、service这些命令在红帽系里完全是另一套逻辑安装用dnf、防火墙用firewalld、服务管理用systemctl还有一个Debian系里根本碰不到的SELinux。第一次作业就是一次“操作系统切换”练习你得尽快忘掉旧习惯。第三自我验证的方法论。这是最容易被忽略、但考试收益最大的一点。每次操作完成后怎么做检查用户信息用id看文件权限用ls -ld看服务状态用systemctl status看网络监听用ss -tlnp看。把这些验证命令练成习惯考试时你每做完一题心里都有底不会交卷时才发现一大半没生效。2. 第一次作业最常考的核心知识点逐个拆开讲2.1 文件与目录操作这些命令要形成本能第一次作业里文件操作一定占大头因为它是所有任务的基础。别以为ls、cd、cp、mv简单就能跳过关键在于参数和组合用法。find是第一个必须吃透的命令。RHCSA作业里经常出现“找出某某目录下大于100M的文件”“找到所有.log结尾的文件”这类题目。基本用法是find /var -name *.log -type f find / -size 100M 2/dev/null find /data -mtime -7 -type f这里有几个细节。第一2/dev/null很重要因为你find整个根目录时一定会遇到大量权限不足的目录不加重定向错误信息会淹没真正结果。第二-name支持通配符但要加引号防止shell先展开。第三-exec可以再接处理动作比如批量删除、批量改权限考试中偶尔会用到。重定向与管道也是必考基础。和的区别、21的含义、|怎么把前一个命令输出喂给后一个命令这些不理解透彻后面学awk、grep、sed都会卡壳。我自己带人时发现很多人写ls file.txt 21的时候根本没想过顺序问题全凭背。我建议你用一条生活化类比来理解命令输出是水终端是水池是把水倒进水桶文件21是把水龙头移到另一个管子上顺序错了等于水管接反了。tar打包解包也要提前练。作业里常见“把某个目录打包成tar.gz放到指定路径”。常用命令tar -czf /backup/etc.tar.gz /etc tar -xzf /backup/etc.tar.gz -C /tmpczf的c是创建、z是gzip压缩、f是目标文件解包时xzf里的x是解包。第一次作业阶段不需要碰太深的参数但一定要搞清楚“打包”和“压缩”是不是同一件事——tar本身只是打包z参数才负责压缩。2.2 用户、组与权限RHCSA的硬骨头用户管理是RHCSA分值很高的一块也是第一次作业最容易翻车的地方。翻车不是因为命令不会敲而是因为只记命令、不懂原理。创建用户你必须清楚useradd常用参数的含义而不是只会一个裸的useradd。典型作业题useradd -u 2001 -G project -m -s /bin/bash devops-u指定UID-G附加到次要组-m确保创建家目录-s指定登录shell。这里有个重点RHCSA考试判分时会检查家目录是否存在、UID是否正确、用户是否在正确的组里任何一项不对都要扣分。创建后一定要用id devops验证用getent passwd devops看用户数据库记录。设置密码与密码策略也是个高频考点。RHEL 9下passwd --stdin仍然能用但并非官方推荐更稳的写法是用chpasswdecho devops:MyPass123 | chpasswd如果要求“首次登录必须修改密码”用chage -d 0 devopschage -d 0的意思是强制用户在下次登录时更新密码。很多人只知道passwd不知道chage结果遇到这种题目就懵。密码过期、账号有效期这类参数在chage -l devops里都可以查看建议第一次作业就把这个命令练熟。文件权限的三位数字法必须能达到“闭眼算”的熟练度。r4、w2、x1owner/group/others各占一位。比如chmod 750 /data/project就是owner可读可写可执行group可读可执行其他人无权。这个计算量不大但考试时间紧张现场推演会拖慢节奏平时练到肌肉记忆最稳。sudo配置第一次作业里一般会涉及但很多人上来就踩坑。正统做法是visudo或者更推荐的在/etc/sudoers.d/下建独立文件visudo -f /etc/sudoers.d/devops文件内容示例devops ALL(ALL) NOPASSWD: /usr/bin/systemctl这里两个关键点。第一不要直接编辑/etc/sudoers用visudo可以避免语法错误导致sudo全线崩溃。第二独立配置文件权限必须是0440否则sudo会拒绝加载这是个非常经典的坑。2.3 文本处理与正则看懂输出才能排错RHCSA不是文本处理的专项考试但文本处理能力直接影响你考试效率。原因很简单考试环境里没有图形界面你排错全靠命令行里的输出信息而输出信息往往动辄几十行上百行不会过滤信息你会被淹没。grep必须练到熟练。最基本的是按行匹配关键字grep -i error /var/log/messages grep -v ^# /etc/ssh/sshd_config grep -E denied|failed /var/log/secure-i忽略大小写-v反选匹配-E用扩展正则-r递归目录。我建议第一次作业里强制自己用grep替代肉眼找结果养成习惯后效率翻倍。sed和awk是很多新手的心理阴影但第一次作业只需要掌握最核心的两三招就够了。sed做替换sed -i s/old/new/g /etc/xxx.confawk取列awk {print $1, $3} /etc/passwd考试中常见的“把某文件中的某字符串替换成另一字符串”“把日志里第一列提取出来排序”这类任务用sed、awk、sort、uniq、head、tail组合就能完成。比如journalctl -n 20 | awk {print $1, $2, $3} /tmp/logs.txt这些都是基本功不需要背复杂脚本但基本语法一定要能当场写出来。3. 一套完整的第一次作业实操记录可直接照做3.1 假设一个典型作业场景我当年做的第一次作业题目风格和RHCSA考试很接近这里我整理成一套可以在自己虚拟机里复现的版本包含7个任务难度梯度刚好覆盖基础命令、用户、权限、文本处理四个模块创建用户devops指定UID为2000附加到组wheel家目录为/home/devops为devops设置初始密码并强制首次登录修改密码创建组project并把devops加为该组的次要成员创建目录/data/project属组设为project权限750给devops配置sudo权限允许其无密码执行systemctl命令将系统最近的10条日志写入/tmp/logs.txt找出系统中所有大于100M的普通文件结果保存到/tmp/bigfiles.txt这套作业做完你的RHCSA用户管理和基础命令部分基本就算入门了。下面按步骤拆解实操过程。3.2 分步操作与验证第1步创建用户useradd -u 2000 -G wheel -m -d /home/devops -s /bin/bash devops这里-G wheel是把devops加到wheel组wheel组在红帽系里默认有sudo权限取决于sudoers配置后面第5步会用到。执行后验证id devops getent passwd devops输出里确认uid2000、家目录/home/devops、附加组包含wheel。这里有个新手常犯的错想看用户属于哪些组时用cat /etc/passwd看组这是不对的/etc/passwd只记录主组ID附加组在/etc/group里正确验证命令就是id username。第2步设置密码并强制改密echo devops:Init12345 | chpasswd chage -d 0 devops验证密码策略生效chage -l devops输出中会出现“密码必须修改密码过期日期从不之前的一天”之类的提示。注意这里我用的是Init12345这种带特殊字符的初始密码而不是简单密码因为现代Linux默认都有密码复杂度要求作业环境里weak密码很可能会被PAM策略拦下。有同学在这个坑上卡了很久以为chpasswd语法错了其实是密码强度不够。第3步创建组并加入用户groupadd project usermod -aG project devops这个-aG里的aappend是必须的。如果不加a直接用-G project会把用户从之前的附加组里踢掉devops就会被移出wheel组。这是个非常经典的坑考试里也爱挖。验证groups devops id devops应该能看到devops同时属于devops、wheel、project三个组。第4步创建目录并设置权限mkdir -p /data/project chown :project /data/project chmod 750 /data/project注意chown时我只改了属组没改属主命令写法是:project这表示只设置group。权限750的含义是属主目前是root有全部权限属组project有读和执行权限其他人无权限。验证ls -ld /data/project输出应该是drwxr-x---注意group的权限不是rwx而是r-x。这里的r-x对目录来说代表“可以列出内容、可以进入目录但没有创建和删除文件的权限”这个语义和普通文件的权限完全不同理解这个等于跨过了权限题的第一道坎。第5步配置sudovisudo -f /etc/sudoers.d/devops文件内容devops ALL(ALL) NOPASSWD: /usr/bin/systemctl保存退出后权限必须改回0440chmod 0440 /etc/sudoers.d/devops验证sudo配置时有个很实用的命令sudo -l -U devops这句会列出devops被允许执行的命令。注意如果你直接su - devops后再执行sudo systemctl status sshd由于NOPASSWD设置不会要求输密码这个体验就是配置成功的最好证明。如果没生效多半是文件权限0440的问题或者路径不对systemctl的真实路径可以用which systemctl查。第6步提取系统日志RHEL 9系统默认日志走journald/var/log/messages是否真实存在要看是否有rsyslog服务。第一次作业阶段我建议用journalctl来完成journalctl -n 10 /tmp/logs.txt如果你想指定某个服务的日志可以加-u参数比如journalctl -u sshd -n 10。验证用cat /tmp/logs.txt看是否有10行内容。这个任务很多人在找“系统日志到底在哪”上花了大量时间其实RHEL 9的日志体系已经变了旧记忆里的/var/log/messages可能在你的环境里根本不存在学会journalctl是更省事的路。第7步查找大文件find / -type f -size 100M 2/dev/null /tmp/bigfiles.txt这里的2/dev/null必须有否则你会看到满屏的错误输出而且真正的文件列表会被淹没在错误信息里。2/dev/null丢掉的只是报错信息不影响真正结果输出到目标文件。验证wc -l /tmp/bigfiles.txt如果文件内容太多可以先cat /tmp/bigfiles.txt看前几行确认格式。这套作业做完我强烈建议你把所有结果清空重来一遍第二遍能明显感到手顺很多这就是肌肉记忆在建立。3.3 作业自检清单做完不等于做对前面我反复强调“验证”这里直接给一份第一次作业自检清单照着核就行检查项验证命令期望结果用户信息id devopsuid2000组包含wheel、project密码策略chage -l devops最近一次密码修改日期显示“必须修改”目录权限ls -ld /data/projectdrwxr-x---属组为projectsudo生效sudo -l -U devops能列出systemctl的授权日志文件cat /tmp/logs.txt有10行内容大文件列表cat /tmp/bigfiles.txt有内容格式为文件路径我见过很多人在自习时一口气做完7项任务但从不验证结果第二天一看日志文件是空的、用户根本没加入project组、sudo配置把系统搞崩了。这些教训一条条验证就能避免。4. 实操中那些坑我帮你提前踩平4.1 高频问题与处理速查表第一次作业阶段大家遇到的坑高度趋同我整理成速查表问题现象根本原因解决办法useradd后登录提示密码错误没设置密码或密码强度不够用chpasswd重设密码含大小写数字特殊字符usermod后用户原来的附加组没了少了-a参数usermod -aG 新组 用户重加sudo配置后sudo -l不生效/etc/sudoers.d/文件权限不是0440chmod 0440 配置文件find跑出来一堆Permission denied权限不足且未重定向错误输出加2/dev/nulljournalctl提示No entries没有对应服务日志或语法不对尝试journalctl -xe、journalctl -u 服务名/var/log/messages不存在RHEL 9默认日志在journald改用journalctl或先安装rsyslogchmod 750后目录被拒绝访问当前用户不是owner也不是组成员确认用户是否在project组或属主是哪个用户用root还是显示权限问题某些目录或文件受SELinux限制getenforce看SELinux状态临时可用setenforce 0验证考试不要关SELinux这个表里我特别想提的是SELinuxRHCSA考试是明确要求SELinux保持Enforcing状态的考试中不许也不应该关闭它。第一次作业如果遇到奇怪的权限问题在确认普通权限没问题后要考虑SELinux的因素。基础阶段你只需要知道getenforce、setenforce、restorecon、chcon这几个命令存在后面深入学的时候再用semanage解决具体问题。4.2 建立自己的排错习惯第一次作业最有价值的副产品是逼你建立一套排错流程。我的习惯是四步。第一步看报错本身。终端输出里那一行红色的错误信息90%的答案都写在里面问题是很多人扫一眼就慌根本不去读。比如Permission denied和No such file or directory和command not found三个错误指向完全不同的问题先分清再说。第二步查日志。Linux系统里几乎所有问题都会留下线索。服务类问题看journalctl -xe登录类问题看/var/log/secure内核问题看dmesg。第一次作业里如果你配置的东西不生效去日志里找原因通常都有收获。第三步man手册。man useradd、man 5 passwd、man sshd_config参数记不清、默认值不确定man是最权威的答案。有人嫌man全英文不直观但考试环境里你只有man养成查man的习惯会让你在考场上从容很多。第四步验证。哪怕一个命令成功执行了也得用对应的检查命令确认结果。建用户用id查改网络用ip addr查装服务用systemctl status查。这个习惯一旦建立后面学LVM、NFS、容器都会省力很多。4.3 我在第一次作业里踩过的一个典型坑说个我印象最深的教训。当年做用户管理作业时我用usermod -G project devops把用户加入了project组然后验证id devops发现pw项目组确实出现了心想稳了。结果后面测试文件写入时发现devops依然没有权限。我排查了半天最后才发现因为没有用-a参数这次操作把devops从wheel组踢了出去而wheel组里有sudo权限的配置连带导致后面sudo测试也挂了。这个坑能说明两件事。第一-aG和-G的区别不是小细节是决定权限链路是否完整的核心差异。第二RHCSA的题目往往环环相扣前一个任务的疏漏会在后一个任务里爆炸所以每完成一步就立刻验证不要让错误积累下去。5. 做完第一次作业之后下一步该怎么走5.1 建议的学习节奏第一次作业做完并全部验证通过后你的RHCSA备考算是真正起步了。我建议的节奏是每1到2周集中攻克一个模块依次是基础命令与用户权限、存储与文件系统含LVM、网络配置、系统服务与安全含SELinux、日志与进程管理、容器基础podman。每个模块结束都自己给自己出5道题左右模拟考试环境限时完成。这里的关键是“限时”。平时练习如果从来不卡时间考试时2.5小时做完所有题目会很吃力。我后来复盘时算过一笔账45道左右的任务要在150分钟内完成平均每道只有3分钟左右这还没算反复检查的时间。所以平时练习时从第一次作业做完开始就该记录耗时逐步提速。5.2 几个值得养成的习惯第一所有操作都在虚拟机里动手做不要只是在文章里看命令。云服务器、物理机都可以但最好有一个可以随便折腾的环境随时可以快照回滚。第二把每次作业遇到的报错和解决方案记下来不要只在脑子里过。这个笔记用到考试前一周的价值非常高因为那会儿你复习的正是这些真实问题而不是泛泛的命令列表。第三做题时强迫自己不看任何提示只靠man和记忆。关于题库和模拟题我不反对用但前提是基础操作已经扎实。RHCSA没有官方公开题库市面上的模拟题只能帮你熟悉题型和知识点分布真正让你通过考试的是你的手感和排错能力这两个东西只能从一次次实操作业里生长出来。最后再分享一个我这些年带人时反复说的小技巧第一次作业阶段不要追求“多”要追求“稳”。我见过有人一周内刷完几十道模拟题结果连useradd的核心参数都说不清。反过来像我上面讲的那7道题你能不看任何资料、一次通过全部验证比我见过的大多数首刷者都要扎实了。把这个基础打牢后面的路会顺很多。