
1. 第一次作业到底在练什么先看RHCSA的整体框架1.1 RHCSA认证是什么第一次作业在备考中的位置RHCSARed Hat Certified System Administrator是红帽认证体系里最基础、也最硬核的一环。说它硬核是因为考试不是背选择题而是给你一台上机环境要求你在规定时间内完成一整套真实的管理任务创建用户、配置网络、设置权限、管理服务、处理存储甚至还要让系统在重启后依然保持你所配置的状态。RHCSA认证之所以被认为含金量高正是因为它考的不是死记硬背而是“你面对一台陌生Linux机器时能不能立刻上手干活”。第一次作业就是这套体系里你第一次动手接触真实管理任务的入口。它的意义不在任务本身有多复杂而在于帮你建立三个习惯命令敲得准、操作有逻辑、上下条任务之间不互相破坏。我见过太多人在这份作业上翻车不是不会敲命令而是把前面配好的网络改挂了或者把用户主组设错导致后面权限全乱这些都是基本功不扎实的表现。可以说第一次作业做得怎么样基本上就能看出你后面RHCSA备考能不能走顺。1.2 第一次作业的三个核心目标第一个目标学会“先读后做”。作业里往往埋着描述性文字比如“将user2的登录shell改为/sbin/nologin”你如果上来就useradd后面再改不但麻烦还容易把已有用户弄坏。做题第一件事是把每个任务的关键词圈出来谁、对谁、做什么、目标路径是什么。第二个目标学会验证。RHCSA的评分机制不会因为你“看起来做了”就给分而是实际检查系统状态所以作业里我要求自己做“做完必检”用户有没有创建成功用id验证权限改对没有用ls -l和getfacl查服务保活了没有用systemctl status看一眼。这个习惯带到考场上几乎能白捡十几分钟。第三个目标学会恢复现场。第一次作业往往会让你在同一个系统里连续做多个小任务前一个任务对后一个任务的影响很大。比如你先创建了用户后来又改了他的主目录路径但忘了把旧主目录里的文件搬过去用户登录就直接进到一个空壳目录。这类问题作业里经常埋着目的就是逼你把管理操作当成“系统状态一致性维护”来理解而不是零散地敲命令。2. 用户与文件权限第一次作业最稳的得分点2.1 用户创建的“标准操作流”与参数记忆法用户管理是RHCSA出场率最高的考点之一第一次作业里也几乎必出。先背住这套创建流程useradd创建骨架passwd设密码usermod调整属性userdel删除。一个新手容易犯的错是把useradd和passwd混着用创建完用户之后忘了设置密码然后验收时系统提示无法登录。正确顺序永远是先建用户再设密码再确认“该进哪个组、shell是什么、主目录在哪”。参数这块更值得记。用户创建时最常用的几个参数-c注释、-d主目录、-G附加组、-g主组、-s shell、-M不建主目录、-m强建主目录。我教你一个省脑子的记法主目录相关用-d和-m组相关用-g和-G别的直接查man useradd。实际作业里经常出现的是“创建用户harry附加组sysadmin主组users登录shell为/bin/bash”。对应的命令就是useradd -g users -G sysadmin -s /bin/bash harry passwd harry然后检查id harry tail -n 5 /etc/passwd这里有个细节很多新手会忽略-G后面跟的附加组如果不存在命令会报错必须先建组。作业里如果题目写了“把用户加入develop组”你就得先groupadd develop再useradd。我遇到很多人在这里卡了五分钟其实顺序理顺了就是一行事。如果题目要求的是修改已有用户比如把用户从某个组里提出来或者改注释信息就用usermodusermod -aG sysadmin harry usermod -g users -c Harry Porter harry注意-aG和-G的区别-aG是追加附加组-G不写-a的时候会覆盖掉用户原来的附加组列表这个坑一踩就是用户突然被踢出所有组。作业里只要出现“在保留原有附加组的基础上加入新组”就一定要带-a。2.2 权限修改数值法、符号法、还有umask这个坑文件权限这一节第一次作业通常从“修改某个文件/目录的属主和权限”开始。属主用chown属组用chgrp两件事可以连写chown user:group /path。权限用chmod两种改法数值法和符号法。数值法把rwx对应成4/2/1比如chmod 750 /tmp/test意思是user读写执行group读执行other什么都没有。符号法适合小改动比如chmod ux script.sh、chmod o-w /etc/motd语义直白不容易算错。真正让人栽跟头的是umask。它的作用是新文件默认权限的“屏蔽值”。默认情况下Linux里umask是022所以新建普通文件是644新建目录是755。考试和作业里不要求你背这套推导过程反而常考“给某个目录设置指定默认权限”的场景。比如作业要求“将目录/opt/data的默认权限设置为770使新创建的文件属组都有rwx”。这时你要改目录的ACL默认值而不是只改目录本身的权限。基础做法是先chmod 770再加ACL默认chmod 770 /opt/data setfacl -m d:u::rwx,d:g::rwx,d:o::--- /opt/data然后测试在目录里新建一个文件看权限是不是你预期的。你不需要背全ACL语法但要记住检查命令getfacl /opt/data因为这个东西作业里出现了就是你拿分的关键。ACL和普通权限混在一起时用ls -l看到的是drwxrwx---那个加号就是在提示这里有ACL条目这时候必须用getfacl看全量信息。还有一种常考场景是“只给某个组指定看某文件的权限其他人一律禁止”。最直接的是chmod 640加chgrp配合。但如果这个组不是属组或者用户属于多个组最好用setfacl指定单个用户或单个组setfacl -m u:harry:r-- /data/project.txt setfacl -m g:sysadmin:rw- /data/project.txt做完这些一定要记住修改ACL之后如果题目要求“去掉其他用户的所有权限”可以再补一条setfacl -m o::---确保other也清干净。3. 网络与基础服务配置第一次作业里的硬骨头3.1 用nmcli完成静态IP配置RHCSA考试的网络配置部分基本是围绕NetworkManager展开的所以第一次作业里就让你用nmcli配IP我见过太多人在这一步摔跟头。先说原则不要一上来就去改/etc/sysconfig/network-scripts/ifcfg-*在RHEL9以上系统NetworkManager接管了网络你手动改文件但没让nmcli重新加载系统是不买账的。正确姿势是nmcli connection add con-name eth0 ifname eth0 type ethernet \ ipv4.method manual ipv4.addresses 192.168.10.100/24 \ ipv4.gateway 192.168.10.1 ipv4.dns 8.8.8.8 nmcli connection up eth0这个命令里con-name是连接名ifname是实际网卡名。RHEL9里网卡名可能是ens160、eno1之类的先nmcli device status确认。ipv4.method manual表示用手动地址地址后面别漏了子网掩码长度/24漏了地址根本配不上。配完别急着走先ip addr show eth0看地址再ping -c 4 192.168.10.1验证网关通不通。这一步你自己验证过后面作业验收的时候心里才有底。有些作业还会要求你有两个IP或配置临时IP比如加一个额外地址nmcli connection modify eth0 ipv4.addresses 10.0.0.100/24注意是加号不是直接改直接改会覆盖原来的。这个细节我第一次做作业就吃过亏以为modify就是改结果一个IP被覆盖了。操作完之后再看一遍nmcli connection show eth0确认所有ipv4.addresses都在。网络配置里还有一个容易踩的坑是DNS和主机名的联动。如果作业要求设置静态DNS但没有让你改主机名保持默认即可。但如果你改了主机名hostnamectl最好同步检查/etc/hosts里有没有对应条目不然很多依赖主机名解析的服务会出问题。我第一次作业就被这个坑过主机名改完后sudo一直警告无法解析主机名排查了半天才发现是/etc/hosts没写映射。3.2 服务起不来用systemd三板斧定位第一次作业里还经常出现“启动httpd服务并设为开机自启”这类任务。它考的不是你记不记得systemctl命令而是你会不会排查问题。标准答案为systemctl start httpd systemctl enable httpd systemctl status httpd但如果服务启动失败了呢我建议你按“三板斧”来第一斧看状态systemctl status httpd会告诉你进程是active还是failed第二斧看日志journalctl -u httpd -n 50或者journalctl -xe第三斧看配置检查httpd配置文件语法httpd -t检查配置。这个排查顺序看着简单但它能解决作业里80%的服务问题。尤其是“端口被占用”“配错了DocumentRoot路径”“SELinux拦截”这三大类日志里一查一个准。这里单独说下SELinux这是新手最容易忽略、却最影响最终结果的。服务启动失败日志里出现AVC denied基本就是SELinux在拦。可以先getenforce看当前状态如果作业允许可以临时setenforce 0测试但如果作业明确要求“SELinux为enforcing”的状态下服务也要能用你就得用semanage fcontext -a -t httpd_sys_content_t /var/www/html和restorecon -Rv /var/www/html把上下文改对。第一次作业不会考得很深但你至少得能做到“看日志知道是SELinux的问题”而不会对着failed状态发呆。除了httpd第一次作业还常出现“启用某个服务”的题比如启动chronyd做时间同步。命令本身不复杂systemctl enable --now chronyd然后验证timedatectl status里NTP synchronized显示yes。但这里有个隐藏点时间同步失败往往是你前面网络配错了或者DNS无法解析时间服务器地址。所以做服务题之前先确认网络是通的这是很朴素的逻辑但新手经常顺序颠倒网络没配好就去启动服务然后失败。4. 一份完整作业的实操复盘从零到全部通过4.1 用实际练习题完整走一遍下面我拿一套很典型的第一次作业题完整走一遍思路。题目是四件套创建用户、配置权限、设置静态网络、启动httpd并放一个页面。第一题创建用户bill主组users附加组develop密码设为redhat123。命令是groupadd -f develop useradd -g users -G develop -m bill echo redhat123 | passwd --stdin bill id bill注意--stdin在日常练习中可以偷懒但正式环境用了小心日志记录我还是建议用passwd bill交互式设置更稳妥。第二题将/etc/hosts复制到/var/tmp/hosts_backup属主改为bill属组develop权限660cp /etc/hosts /var/tmp/hosts_backup chown bill:develop /var/tmp/hosts_backup chmod 660 /var/tmp/hosts_backup ls -l /var/tmp/hosts_backup第三题配置网卡ens160为静态IP 192.168.100.50/24网关192.168.100.1DNS 1.1.1.1已经写在上文了这里说个验证技巧配完以后重启一次NetworkManager然后ip addr和nmcli con show确认再ping -c 1 网关。第四题安装httpd并启动写入网页内容dnf install -y httpd systemctl enable --now httpd echo hello from my first homework /var/www/html/index.html curl http://localhost先看curl是不是返回了你写的内容再看开机自启状态。这个完整案例看着简单但如果前面用户、权限、网络里任何一个环节出错第四题都会跟着遭殃。比如你配错网关curl虽然不依赖网关但后面验收的人如果登录不进来你整组作业都会被打回。这也是我把“前后任务互相影响”单拎出来讲的原因。4.2 交作业前的最后检查清单作业做完不是终点交之前必须花十分钟做一遍系统级检查。我给自己定了一个固定清单先systemctl list-units --typeservice --staterunning看该跑的服务都在不在再id检查关键用户是否都在正确组然后ls -l复查关键文件权限最后reboot一次让系统冷启动确认你配置的开机自启和网络都在重启后保持住了。这最后一条特别重要很多作业和考试里都包含“系统重启后验证”这个隐藏条件你在当前会话里配置的东西如果没写好自启或持久化重启之后全白干。reboot之前记得先把正在改的文件保存好有必要的话提前把配置步骤写在纸上重启后照着清单逐项核查。我在第一次做作业时就是因为没重启验证结果配置的静态IP在开机后被DHCP覆盖整个系统断网作业直接被判不合格。后来我把“重启验证”当成铁律考RHCSA的时候也救了我一回。5. 常见问题与避坑实录第一次作业必看5.1 五个最常见的踩坑第一个坑是密码策略。作业里让你设密码很多人直接passwd输一个弱密码系统里如果有密码复杂度要求可能被拒绝表现为“BAD PASSWORD”。如果你确定是练习环境可以用root身份强行设置短密码考试里一般不限制但你得知道失败不是因为命令错而是策略拦截。第二个坑是权限路径写错。作业经常给相对路径或带空格目录比如cp /etc/hosts /tmp/test file.txt这种看起来好像只是个文件名其实空格是分隔符。稳妥做法是路径加上引号或者先cd到目标目录再操作。作业里出现“目标目录不存在”的提示时第一反应应该是ls确认路径而不是重新敲一遍同样可能的错误命令。第三个坑是忘了看系统时区或时间同步。某些作业会要求“系统时间要与NTP同步”命令是timedatectl set-ntp true然后timedatectl status看NTP service是否active。这个知识点不大但作业里出现一次丢分就亏。常在题目里埋“你的服务器时间不对请修复”这种场景你需要会调整时区timedatectl set-timezone Asia/Shanghai再配合chrony做同步。第四个坑是yum源配置错误。练习环境里很可能要用本地ISO搭dnf源很多人挂载完ISO却忘了写repo文件或者写错baseurl路径导致dnf install一直报找不到包。正确做法是mount /dev/cdrom /mnt然后写/etc/yum.repos.d/local.repo里面name、baseurl、gpgcheck0三行就够了再dnf repolist确认仓库识别成功。baseurl路径最常见错误是把file:///mnt/AppStream写成file:///mnt/appstream大小写或路径少一层都会导致仓库为空。如果你用的是Red Hat官方ISO不要漏掉挂载点下的AppStream和BaseOS两个目录repos要写两条。第五个坑是root密码和主机名的坑。RHCSA考试里经常会有重置root密码的题第一次作业虽然不一定考但建议你先练熟开机进GRUB编辑加rd.break然后mount -o remount,rw /sysrootchroot /sysrootpasswd root再touch /.autorelabel最后重启。这个流程不练三遍以上考场上手忙脚乱一定会出错。主机名方面部分作业要求你把主机名改成指定值比如hostnamectl set-hostname station01.example.com改完记得确认/etc/hosts里也有对应条目不然sudo或者很多依赖主机名的操作会报错。5.2 给新手的几个建议第一次作业的核心目标不是做对及格而是通过这份作业把“每敲一条命令都要知道会发生什么”的肌肉记忆练出来。我的建议是每条命令执行前先在脑子里过一遍想想它会修改哪个文件、影响哪个用户、重启后是否保留。不想清楚就别敲这是比敲对命令更值钱的本事。另外建议你在练习机上装一个记录工具最简单的就是history配合script命令把整个会话录下来作业做完回放一遍看自己哪些步骤多余、哪些步骤漏了。我第一次用这个方法发现自己为用户管理多敲了三次验证命令而这些时间在考场上很宝贵。还有一点是关于查找帮助的RHCSA是允许man手册的第一次作业里也经常有人因为记不住参数而翻车。别慌man chmod、man useradd能查到全部用法考场里也一样。会查手册比会背命令更实用这是我一直跟学员强调的。最后说说心态。第一次作业遇到报错很正常报错信息是系统在告诉你哪一步没对上逐行读日志通常能找到答案。千万别一报错就怀疑是环境坏了我见过有人把好好的练习机重装了三遍最后发现只是服务的DocumentRoot路径少写了个e。认真读报错冷静分析这份作业就能帮你把RHCSA的底层能力打扎实。至于这套作业做完之后怎么继续我建议你立刻再找一套同级别的题限时一小时重做一遍。第一次做允许翻书、允许查man、允许看笔记重做的时候就当考试不翻任何资料命令敲不出来就跳过做完再补。你会发现第二次的错误明显比第一次少而且很多第一次留下的模糊概念在做第二遍的时候全都清晰了。这份“再做一遍”的功夫花不了多长时间但对考场的节奏感帮助极大。