ARTICLE DETAIL

资讯详情

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

RHCSA第一次作业全解析:从环境准备到用户权限与网络配置

RHCSA第一次作业全解析:从环境准备到用户权限与网络配置 RHCSA课程第一次作业往往是很多人从听说过Linux到真正开始敲命令的分水岭。我当年带过不少学员也看过太多人在第一份作业上栽跟头——不是知识点有多难而是环境没搭好、命令记混了、权限概念绕不过来。这篇就把RHCSA第一次作业的完整拆解写出来从环境准备到用户管理、权限配置、网络设置每一步都讲清楚为什么这么做顺手把我踩过的坑也一并交代了。1. 作业前的环境准备先把实验台搭稳1.1 虚拟机与镜像选型第一次作业的核心目标首先是让你拥有一台可以随时折腾、坏了也不心疼的Linux机器。绝大多数RHCSA课程的第一份作业会要求你基于红帽系的发行版完成基础配置。这里我用的是Rocky Linux 9.x它和RHEL 9保持高度一致对考证的人来说是最经济实惠的选择——毕竟Red Hat官方的订阅不是每个人都方便申请。镜像我建议下DVD版而非Minimal版。Minimal虽然安装快但连man手册、常用的排查工具都要手动补对新手不友好。DVD版大概4到5个G安装完自带完整的软件仓库第一次作业里要用的工具基本都齐了。虚拟机平台我推荐VirtualBox或者VMware Workstation Player两个都免费。我个人更习惯VMware Player磁盘性能比VirtualBox略稳快照功能也好用。如果你用的是Mac那Parallels或者UTM也行但记住一点虚拟机网络模式统一选NAT不要选桥接。原因后面细说。装系统时有两个参数要刻意记下来root密码这是你之后所有管理操作的钥匙第一次作业里大量命令都需要root权限磁盘分区建议直接让安装器自动分区新手不要在第一次作业就折腾LVM手工分区那是后面章节的事安装完成后第一件事是执行dnf update更新系统。这一步很重要——很多第一次作业里出现的命令不存在问题根源就是软件包版本太老或者仓库元数据过期。dnf update -y更新完顺手装一组基础工具dnf install -y vim bash-completion net-tools tar \ lrzsz lsof tree bind-utilsbash-completion这个包特别值得装它让Tab补全支持命令参数能明显减少敲错命令的概率。net-tools提供ifconfig等传统命令虽然系统自带ip命令但作业里有些检查步骤用ifconfig更直观。提示安装完成后先做一个干净快照。后续操作一旦把系统搞崩直接回滚快照不用重装。这是我认为新手最该养成的第一个习惯。1.2 主机名与基础配置文件RHCSA第一次作业通常有修改主机名这一项别小看它。主机名影响的是shell提示符、日志标识、以及后续服务配置改好它既能让作业环境清晰也能避免多台虚拟机之间搞混。hostnamectl set-hostname rhcsa-lab01改完执行exec bash刷新当前终端提示符立刻变成[rootrhcsa-lab01 ~]#这种即时反馈对建立信心很有帮助。配套要检查的是/etc/hosts文件。默认内容只有本机映射但很多同学在后续作业里配DNS、配服务时各种奇怪的解析问题都出在这个文件上。第一次作业阶段至少确认本机名能解析到127.0.0.1cat /etc/hosts一个常见误解是改了主机名就要改hosts。其实在纯内网环境下不是必须的但如果你用SSH连接这台机器且开启DNS反查hosts里没有对应条目会拖慢登录速度。所以我建议养成习惯每次改完主机名顺手在hosts里加一行。2. 第一次作业里的核心用户与组管理2.1 用户创建的三要素RHCSA考纲里用户和组管理是必考内容第一次作业通常围绕useradd的几个关键参数展开。我见过太多人只记住了useradd username结果作业要求里的指定UID、指定家目录、指定shell全都没做。一个合规的用户创建命令长这样useradd -u 3001 -g devgrp -G wheel -d /home/tom -s /bin/bash -m tom每个参数的背后都有讲究-u 3001指定UID。为什么要手动指定因为作业要求后面可能会用id tom验证而默认UID是从1000开始递增的不指定就不好核对-g devgrp指定主组。注意这里的主组必须是已存在的组否则命令直接报错-G wheel附加组。把用户加进wheel组意味着它获得sudo提权能力-d和-m必须成对出现-d定义家目录路径-m确保这个目录被立即创建。只写-d不写-m目录不会自动建后续用户登录会直接落到根目录——这是一个非常经典的坑创建完用户后立即验证能登录是负责任的做法passwd tom su - tom whoamisu - tom和su tom的差别很多人没搞明白。带横杠的su -会加载目标用户的完整环境变量PATH、HOME等而不带横杠的su只切换身份环境还是原来那个。第一次作业阶段练习时建议始终用su -这能避免明明切换了用户却找不到命令的疑团。2.2 组的创建与成员管理组管理比用户管理简单但也有容易忽略的细节。groupadd本身不复杂groupadd devgrp麻烦的是把已有用户加进组的操作。管理员最常用的命令是usermod -aG这里的-aappend尤其关键——如果漏了-ausermod会用你指定的组替换掉用户原有的附加组列表结果可能把用户从wheel等关键组里踢出去。usermod -aG devgrp tom验证组关系用两个命令id tom # 查看UID、GID、所属组列表 groups tom # 简要显示组成员身份这里有个坑值得单独说用户已经登录的情况下修改它的组新组不会立即生效。用户在登录时就已经把组信息缓存了必须重新登录或执行newgrp devgrp才能拿到新组权限。第一次作业的验证环节经常出现我明明加了组却进不了目录的困惑十有八九是忘了重新登录。2.3 批量创建用户的脚本思路部分老师布置的第一次作业要求创建多个用户。一个个敲命令当然能完成但更推荐写一个简单shell脚本既能练脚本思维也能在作业报告里展示你的工程化意识。#!/bin/bash # 批量创建用户脚本 for user in alice bob carol; do useradd -m -s /bin/bash $user echo $user:123456 | chpasswd echo User $user created doneecho $user:123456 | chpasswd这个写法比passwd命令更适合脚本因为它不需要交互式输入密码从标准输入读取。当然密码直接写在脚本里有安全风险但这只是第一次作业的练习环境无所谓。生产环境里应该用更安全的密钥或密码管理方案。3. 文件权限与属主作业里最容易扣分的部分3.1 权限位的二进制本质RHCSA第一次作业必然涉及权限配置比如让tom对某个目录有读写权限但其他人只能读。很多新手死记硬背chmod 755、chmod 777却不知道这些数字是怎么来的。权限的本质是三组二进制位第一组属主权限user第二组属组权限group第三组其他人权限other每组权限由r读4、w写2、x执行1三个值相加而成。所以755的意思是属主7rwx、属组5r-x、其他人5r-x。但这个相加逻辑有一个盲区它只能表达全部权限或没有权限的组合。比如你想给属主读写但又不想给执行权限用数字就是6如果只想给写执行不给读那就是3。这些组合在数字模式下都能表达但如果需求是属主可读可写、组内可读、其他人不可读那就要用符号模式来看反而更清晰chmod urw,gr,o file.txt第一次作业里我强烈建议两种方式都练习因为考试时题目描述通常是用符号表达的而实际答题时很多人更喜欢用数字。两种表达能自由切换才算真正理解了权限。3.2 目录权限的特殊性文件和目录的权限含义完全不同。目录的r权限决定你能不能列出目录内容w权限决定你能不能在里面新建/删除文件x权限决定你能不能进入目录。这就带来一个经典问题为什么新建的目录明明是755别人还是不能进去读写——因为x权限没给进都进不去谈什么读写。还有一个更隐蔽的坑是粘滞位sticky bit。RHCSA第一次作业中通常会要求你创建一个共享目录让同组用户可以互相读写文件但不能随意删除别人的文件。这就要用到粘滞位chmod 1777 /shared/tmp目录就是典型的1777。没有粘滞位的话同组用户之间可以互相删除文件这在多人协作环境下是不可接受的。第一次作业里如果题目说大家可以往共享目录里丢文件但不能删别人的文件答案一定是粘滞位而不是chmod 777。3.3 属主与属组的修改chown命令负责改属主chgrp负责改属组。但一个细节是同时修改两者可以用一条命令搞定chown tom:devgrp /project/docstom:devgrp的顺序是用户:组不能写反。很多人在第一次作业里写成了chown :devgrp tom报错后一脸茫然。另外如果只想改组用chgrp单独操作更直观不用纠结冒号语法。递归修改是另一个高频需求。chown -R tom:devgrp /project/docs里的-R表示递归把目录下所有子文件和子目录的属主都改了。这里要特别提示递归改属主在生产环境是高风险操作有可能把系统文件的属主改乱。但第一次作业的练习环境里你可以在自己的家目录和作业指定目录内随便用。注意chown需要有root权限。普通用户只能改自己拥有的文件的组而且只能改成自己所属的组。这个限制很多人到考试前才意识到平时练习应该多留意。4. 网络基础配置与连通性验证4.1 用nmcli完成静态IP配置RHCSA考试对网络配置的考点集中在nmcli工具上。第一次作业通常要求你把虚拟机设置成固定IP或至少验证网络连通性。NAT模式下的虚拟机默认DHCP获取IP但作业有时候要求你改成静态配置。查看当前网络状态nmcli device status这个命令会列出所有网卡设备及其状态。然后查看连接配置nmcli connection show注意设备和连接是两个概念。设备是物理网卡如ens160连接是网络配置方案如Wired Connection。一个网卡上可以存在多个连接配置但同一时间只能激活一个。这个抽象概念很多初学者要绕一会儿。修改为静态IP的完整流程nmcli connection modify ens160 \ ipv4.method manual \ ipv4.addresses 192.168.50.10/24 \ ipv4.gateway 192.168.50.2 \ ipv4.dns 192.168.50.2 nmcli connection up ens160ipv4.method manual是必须写的否则上面配的IP不会被应用。/24是子网掩码的简写代表255.255.255.0。网关地址要看你虚拟机的NAT网段不同虚拟化平台的网关不一样需要先用ip route查一下当前的默认网关再填。4.2 连通性排查三板斧作业里常常让你验证所有目标机器之间的连通性这个验证过程本身就是考点。排查命令按优先级排列ip addr show # 先看IP是否配置正确 ip route show # 再看路由是否正常 ping -c 3 目标IP # 然后测连通性ping命令要加-c 3指定发包数量否则它会一直ping下去CtrlC才能停。这个细节在考试环境里很致命——你不知道考官什么时候不耐烦。如果ping不通先别慌按顺序排查目标机器防火墙是否开启systemctl status firewalld目标机器的IP地址是否写错ip addr自己机器的网关是否正确ip route是否在同一网段确认掩码第一次作业阶段的网络问题90%出在IP配错了或者网卡没重启。改了配置后务必执行nmcli connection up或者systemctl restart NetworkManager让配置生效。4.3 防火墙的基础操作RHEL系默认开启firewalld第一次作业如果涉及跨机器访问那无法连接的头号原因就是防火墙。理解firewalld只需要抓住两个概念zone区域和service服务。查看当前区域firewall-cmd --get-default-zone firewall-cmd --list-all如果你要开放SSH服务默认已开放不需要动。如果你要允许HTTP访问firewall-cmd --permanent --add-servicehttp firewall-cmd --reload--permanent表示持久化不加的话重启后就没了。--reload让配置立即生效。这个临时生效vs永久生效的双轨机制是新手常踩的坑作业里很容易出现我当时明明开了端口重启机器又没了的情况。5. 作业验收如何自查与写报告5.1 自查清单的建立第一次作业交之前一定要按清单逐一验证。这是我从业以来带人的固定套路提前列一张自查表比出问题后再翻书高效十倍检查项目验证命令预期结果主机名设置hostnamectl status显示rhcsa-lab01用户存在id tomUID为3001组为devgrp家目录存在ls -ld /home/tom目录存在且属主为tom组关系正确groups tom包含devgrp、wheel权限设置ls -ld /project/docs权限为770属主tom:devgrp粘滞位ls -ld /shared权限为1777网络连通ping -c 3 网关0%丢包防火墙状态firewall-cmd --list-all服务清单符合预期每一条命令的执行结果截图保存这是写作业报告最重要的素材。很多老师批作业不光看结果还看你的验证过程是否严谨。截图里应该包含命令和输出不要只截输出不截命令那样说服力大打折扣。5.2 作业报告的撰写技巧第一次作业的报告不用写太长但结构要有。我的建议是四个部分环境说明虚拟机平台、镜像版本、配置参数操作过程用命令输出的形式记录关键步骤附一句为什么这么做验证结果上面自查清单里的表格直接搬进去问题记录把作业过程中你踩的坑写进去包括报错信息、排查思路、最终解决方式问题记录这一部分尤其加分。老师最怕看到一次通过的报告因为那是假的——真实操作没有一次通过的。主动暴露问题并展示排查过程反而说明你在真正动手。5.3 提交前10分钟的最后检查交作业之前最后10分钟做这三件事用一个新开的终端重新登录虚拟机确认所有配置在重启后依然生效执行reboot再登录一次。有些配置比如临时加的防火墙规则重启后会消失这一步能暴露所有临时生效的问题检查/var/log/messages里有没有异常的报错信息重启验证是最容易被忽略的环节。我见过太多同学作业验收现场重启后丢配置当场懵掉。记住一句话系统重启后依然生效的配置才是真正的配置。6. 实操心得第一次作业踩过的坑汇总6.1 安装阶段的两个经典失误第一次作业里最浪费时间的事是虚拟机安装完了发现网卡没起来。这个问题的根源通常是安装时没开网络或者虚拟机的网络类型选错了。解决方法是安装时在网络与主机名配置界面把以太网开关打开确保它显示已连接。如果装完才发现网卡没配也可以用nmcli补救但终究多花时间。第二个经典失误是分区空间给太小。很多人默认20G装完系统加几个软件包就没空间了。第一次作业虽然不涉及大文件操作但后面课程要装数据库、容器之类的磁盘很容易爆。建议直接给40G以上快照也会更从容。6.2 命令记忆的误区命令记不住是初学者最大的焦虑但我的经验是不要死记选项要记逻辑。useradd、usermod、groupadd这些命令的选项高度一致——-u是UID-g是主组-G是附加组-m是创建家目录。一旦你发现同一个选项在多个命令里语义相同记忆负担就小很多了。还有一个技巧是善用man和--help。作业过程中遇到不会的命令第一反应该是查文档而不是问同学。man useradd能看到所有选项的详细说明这既是能力的锻炼也是RHCSA考试中实际会用到的重要技能。6.3 心态上的建议第一次作业本质上不是技术考核而是学习方法的检验。它要求你学会三件事怎么查文档、怎么排查问题、怎么验证结果。这三件事背后的能力才是RHCSA课程真正想训练的。我在指导学员时反复强调一点作业做不出来不要紧跳过、查资料、再试这些过程本身就在积累经验。最怕的是卡在一个报错上不动了既不思考也不搜索。学会遇到问题→拆解问题→搜索方案→验证修复这个循环你的Linux之路就走顺了。RHCSA第一次作业看起来内容多但拆开就是装环境、加用户、配权限、调网络这几件事。每一项都有明确的操作步骤和验证方法你只需要按照上面这些流程一步步来配以练习和排查完成它一点都不难。真正拉开差距的是你在踩坑之后能不能总结出属于自己的经验——这也是我写这篇东西的初衷。
返回列表