ARTICLE DETAIL

资讯详情

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

RHCSA结课作业攻略:Linux系统管理从LVM到SELinux实战

RHCSA结课作业攻略:Linux系统管理从LVM到SELinux实战 1. 结课作业到底是什么以及它为什么值得认真对待1.1 一门课程的收尾一个实战的起点RHCSA红帽认证系统管理员的结课作业说实话跟大学里那种写篇报告、做个PPT的结课作业完全是两回事。它更像是一场针对真实生产场景的模拟考核给你一台或者几台已经装好系统的虚拟机规定时间内完成一系列系统管理任务从用户创建、权限调整、存储配置到服务部署、SELinux排错、防火墙放行每一步都要在命令行里真正敲出来、跑通、验证通过。我当时听到这门课要交结课作业时心里其实有点没底。原因很简单RHCSA的知识点覆盖面很广从Linux基础命令到LVM逻辑卷管理从systemd服务管理到网络配置从Podman容器到KVM虚拟化每个模块单独拎出来都能讲上好几个课时。而结课作业不会像平时的实验手册那样一步一步告诉你怎么做它只给你最终需求比如给服务器配置一个静态IP确保重启后依然生效——至于用nmtui还是nmcli用配置文件还是命令全靠你自己判断。这门课对自己最大的价值在于它把零散的知识点串成了一条完整的运维链条。平时上课做实验每节课都是独立的这节课学useradd下节课学lvcreate再下节课学firewall-cmd。但真实工作里没有人会告诉你现在只允许你操作用户管理这一块。结课作业就是逼你把用户、权限、存储、网络、服务、安全这些模块在同一个环境里协同运作起来就像组装一台机器缺了哪个螺丝都转不起来。1.2 RHCSA到底考什么如果你准备过RHCSA对应考试编号EX200应该知道它的考试范围并不是Linux高级运维而是一个系统管理员最基础、最日常的工作。红帽官方考试目标大致包括理解并使用基本工具文件管理、shell环境、文本处理、归档压缩创建和管理用户与组用户属性、密码策略、sudo授权管理文件权限常规权限、特殊权限SUID/SGID/Sticky、ACL访问控制列表配置和管理存储分区、格式化、挂载、LVM逻辑卷、Swap交换空间管理系统服务systemd单元管理、开机自启、服务状态排查配置网络静态IP、主机名解析、网络接口管理nmcli管理软件包dnf安装、更新、卸载、仓库配置配置安全firewalld防火墙、SELinux上下文与布尔值编写脚本与自动化简单shell脚本、cron计划任务容器管理新版考试使用Podman运行、管理、自启动容器虚拟化旧版考试范围视考试版本而定KVM虚拟机创建与管理注意这里没有任何花哨的东西。不会考你内核编译不会考你集群架构更不会考你Kubernetes编排。RHCSA的核心定位是确保你有能力管理一台独立的Red Hat系服务器。但恰恰是这个基础让它变得难——因为基础意味着没有任何容错空间一个小配置写错整个服务就起不来而考试环境下你几乎没有重新开始的余地。1.3 作业与考试的关系别把它当成走过场很多同学对结课作业的态度是应付一下觉得反正最终目标是考证作业交不交无所谓。我劝你千万别这么想。以我的经验来看结课作业跟真实考试之间的差距可能只隔着一张试卷。我那次作业里的题目有大约七成跟后来实际考试中的考点重叠同样的用户创建带UID和组要求同样的LVM扩容后自动挂载同样的httpd服务配好SELinux上下文才能访问网页。练作业就是在练考试这不是套话而是实打实的规律。更关键的是结课作业通常有明确的验收标准比如重启后服务依然正常挂载信息写入fstab防火墙规则永久生效。这些要求其实就是在模拟考试的判分逻辑。RHCSA考试本身有一个特点不看过程只看结果。你命令敲得再漂亮如果重启后服务挂了那一题就是零分。结课作业如果能养出每次操作完都主动重启验证的习惯你离通过考试就近了一大半。2. 学习路径与实验环境搭建思路2.1 我的四周学习路线图准备RHCSA不需要拉长战线但也不能临时抱佛脚。我当时给自己定的计划是四周前提是每天能保证三小时左右的实操时间。第一周回归基础把文件操作、权限、用户管理这些肌肉记忆型知识点练到不用看笔记也能顺手敲出来第二周集中突破存储和systemd这俩是考试中的大头而且概念偏抽象光靠背不行必须动手做第三周主攻SELinux、防火墙、网络配置这些安全三件套第四周做整合模拟训练每天完整过一遍结课作业的模拟题卡时间练手速找漏洞。学习节奏上我特别想强调一个体会RHCSA不适合用看视频记笔记的方式学。你可以用视频快速建立整体认知但真正让你通过考试的是手指的记忆。一个典型的例子是LVM扩容步骤看起来很简单——pvcreate、vgcreate、lvcreate、mkfs、mount、写fstab——但每一步的参数、顺序、检查点如果你不在真机上反复敲上五六遍上了考场一紧张就全乱了。2.2 实验环境怎么搭搭建实验环境本身也是一项技术活强制要求你没法用Windows的WSL或者虚拟机模拟完整版RHEL体验因为RHCSA考试的判分环境就是一台标准RHEL服务器任何发行版上的差异都有可能造成操作习惯的偏差。我在结课阶段用的是VMware Workstation装了一台RHEL 9虚拟机分配4GB内存、3个CPU核心、80GB磁盘。为什么是80GB因为RHCSA涉及LVM、Swap、分区挂载这些存储实验磁盘给小了会处处掣肘。网络模式一定要选仅主机模式或者NAT模式并保证能正常连上外网因为安装软件包比如httpd、podman离不开dnf仓库。如果你有条件建议直接多开两台虚拟机一台当服务器一台当客户端专门用来测SSH登录、NFS共享、Web访问这些跨主机的服务。考试环境里经常是两三个系统之间互相访问提前适应多机协同操作对考试帮助很大。2.3 模拟练习的关键选择模拟题的选择上我踩过一些弯路。最初我在网上找了一大堆RHCSA模拟题有的版本太老还在用system-config-network有的难度偏离真实考试加了很多根本没用的高级知识点。后来我的经验是不要贪多选一到两套口碑比较好的模拟题反复做每套题至少完整做三遍做到平均每道题能在五分钟内完成且重启后依然生效。另外一个很关键的选择是善用快照Snapshot。每完成一个阶段的配置比如配好了网络或者搞定了一个LVM卷就给虚拟机打个快照。这样后面做实验搞坏了系统可以秒级回滚不用重装。RHCSA的学习过程本质上就是不断搞破坏—修复—再搞破坏的过程快照是你最好的安全网。3. 核心知识点拆解与实操要点3.1 用户、权限与ACL最容易被扣分的部分用户管理是RHCSA的入门题但恰恰是很多人的丢分区。别笑用户创建听起来太简单了——useradd加上一个用户名回车搞定。可考试很少这么温柔它通常会这样出题创建用户harry设置UID为1300所属组为sysadmin并保证该用户的登录Shell为/bin/bash在系统30天后强制要求他修改密码。这道题考察的知识点其实很集中useradd的-U选项、-g选项、-s选项以及chage命令。你需要知道useradd的默认UID范围1000开始不满足题目要求时必须显式指定UID你需要知道创建用户时如果不指定组系统会创建一个同名私有组而题目要求的是加入已有组这时候必须用-g而不是-G。ACL访问控制列表也是一个经典考点。场景通常是某个文件属于root:root权限是750现在要求让特定用户tom拥有读写权限但不能改变文件属主也不能把权限改成777让所有人可读。这时唯一正确的答案就是setfacl -m u:tom:rwx。这里有个非常容易踩的坑ACL设置完成后ls -l看到的权限位后面会多出一个加号如-rwxr-x---有的同学会以为这是异常状态其实这正是ACL生效的标志。别忘了用getfacl验证。经验价值比较大的一个点几乎所有权限题做完之后都要用另一个普通用户去实际访问一次验证权限符合题目要求而不是只看ls的输出。这个习惯能帮你抓住大量看似正确、实际无效的错误配置。3.2 存储与LVM从分区到逻辑卷的完整链路存储管理是RHCSA的重头戏而且是最能拉开分数差距的部分。考试不只是考你会不会用fdisk它更想确认你有没有完整的逻辑思维能力。比如LVM扩容题常见场景是这样系统里有一块新加的10GB磁盘要求把它做成一个逻辑卷挂载到/data目录文件系统类型为ext4要求重启后依然挂载。完整步骤链是fdisk分区或者直接用整块磁盘做PV→ pvcreate → vgcreate → lvcreate -L指定大小或者-l100%FREE → mkfs.ext4格式化 → mkdir建挂载点 → mount挂载 → 写入/etc/fstab。这里每一步都有考点如果用fdisk分区需要按t修改分区类型为8eLinux LVM涻命令p打印分区表检查结果pvcreate后要用pvs或pvdisplay确认PV创建成功lvcreate时要确认卷组里有足够的空闲空间用vgs或vgdisplay查看Free空间mkfs指定文件系统类型时ext4和xfs的命令参数不一样别搞混/etc/fstab的写法有套路推荐使用UUID而不是设备名因为设备名在重启后可能变化Swap交换空间的创建也是RHCSA的保留题目。它相对简单但有一个频繁出现的坑用swapon -a激活交换分区后还需要写入/etc/fstab类型是swap才能保证永久生效。有些同学会用mkswap格式化完就结束结果reboot以后swap直接消失白白丢分。3.3 systemd与网络重启不变性才是王道systemd服务管理和网络配置看起来是两件事但在RHCSA的语境里它们有一个共同的灵魂——持久化。考试题目如果让你配置httpd服务开机自启最终判分验证很可能就是重启机器后确认服务状态为running。同样网络题配置静态IP重启后不丢配置考察的就是你有没有把配置固化到/etc/NetworkManager/system-connections里而不是只执行一个ip addr add临时生效。systemd这块需要掌握的核心命令其实不超过十个systemctl status/start/stop/restart/reload/enable/disable/is-enabled以及systemctl list-unit-files --typeservice查看所有单元的开机启动状态。网络配置我的经验是尽量用nmcli搞定一切别去手工编辑ifcfg文件。nmcli的语法确实有点绕比如配置静态IP的完整命令是nmcli con mod ens160 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1 ipv4.method manual nmcli con up ens160不要从ens160那一行直接修改那样很容易把NetworkManager弄糊涂。3.4 SELinux与防火墙安全配置的守门员SELinux和firewalld是RHCSA的安全双雄也是最容易让初学者心态崩溃的两个模块。但如果掌握了背后的逻辑它们其实比存储和网络简单得多——因为它们讲究的是规则不是灵活性。SELinux有一个非常经典的核心观念任何进程访问任何文件都要经过三大检查——类型type、布尔值boolean、文件上下文file context。RHCSA考试最常见的SELinux题型是某服务无法访问文件请你诊断并修复要求保持SELinux的enforcing模式。这种题的常规解法是# 查看SELinux状态 getenforce # 查看文件上下文 ls -Z /var/www/html/index.html # 恢复正确的上下文 restorecon -Rv /var/www/html/还有一种题型是改变SELinux布尔值。比如让Apache能够访问用户家目录httpd_enable_home_dirs或者让vsftpd能写入上传目录ftp_home_dir、allow_ftpd_full_access。用setsebool -P httpd_enable_home_dirs on设置并持久化然后getsebool验证。firewalld的考点集中在service、port、permanent这三个概念上。考试经常会出放行HTTP服务让外部能访问Web对应命令是firewall-cmd --permanent --add-servicehttp然后firewall-cmd --reload。注意如果不加--permanent规则只对当前运行时生效重启就没了同样加完永久规则后必须reload光有规则文件没加载等于没放行。验证用firewall-cmd --list-all一眼就能看出当前活动的区域里有没有放行相应服务。4. 结课作业的完整实现过程4.1 作业要求还原我这份结课作业模拟了一套综合实战环境一共八道题限时90分钟要求在server1.example.com这台服务器上完成。我把题目整理成了下表你看一眼就知道它覆盖面有多广题号任务要求考察重点1创建用户alice和bobalice UID1500bob加入developers组密码有效期为30天用户管理、chage2新建逻辑卷lvdata大小8G挂载到/data格式为xfs开机自动挂载LVM、fstab3配置ens160静态IP 192.168.100.50/24网关192.168.100.1重启不丢失nmcli、NetworkManager4安装并启动httpd创建首页/var/www/html/index.html内容为RHCSA Lab防火墙放行HTTP访问dnf、systemd、firewalld5修复Web服务无法访问文件的问题保持SELinux enforcing模式SELinux上下文6创建计划任务每天凌晨2点执行/bin/backup.shcrontab7用tar归档/etc目录并压缩为gzip格式到/backups/etc-backup.tar.gztar、gzip8使用podman运行容器设置宿主机开机自启podman、systemd这些题目单看每一道都不算难但合在一起需要你在90分钟内连续跳转于用户管理、磁盘操作、网络配置、服务管理、安全模块之间非常考验熟练度和脑子的清醒程度。4.2 第一题用户创建与密码策略创建用户alice并指定UID是纯命令操作几乎不用思考useradd -u 1500 alice但紧接着的密码有效期30天需要两步走。第一步用passwd alice给用户设置一个符合要求的初始密码第二步用chage来设置有效期chage -M 30 alice这里有个容易遗漏的细节检查是否生效要root用户执行chage -l alice它会显示密码过期时间/上次更改密码日期等信息。如果你只是设置了密码但没设chage系统默认的策略通常是99999天不会因为你的自觉而改变这是一类典型的我以为配好了其实没配好的题。创建bob并加入developers组时必须确认developers组已经存在。如果组不存在要先groupadd developers否则useradd -G developers会报错。然后useradd -G developers bob passwd bob然后用id bob确认用户所属组已经包含developers。有些同学习惯用usermod -aG developers bob来追加组这在bob还没创建时是无意义的先后顺序要理清楚。4.3 第二题LVM逻辑卷创建与自动挂载这道题是整个作业里耗时最长、步骤最多的。我给自己定的策略是先用lsblk查看新磁盘的名称和大小确认设备路径是/dev/sdb再开始操作# 创建PV pvcreate /dev/sdb # 创建VG vgcreate vgdata /dev/sdb # 创建LV lvcreate -L 8G -n lvdata vgdata # 格式化 mkfs.xfs /dev/vgdata/lvdata # 创建挂载点并临时挂载 mkdir /data mount /dev/vgdata/lvdata /data # 写入fstab实现永久挂载 echo /dev/vgdata/lvdata /data xfs defaults 0 0 /etc/fstab我特意没有用-l 100%FREE来创建LV而是指定了-L 8G因为题目指定了大小。如果你手滑把8G写成了10G而卷组总容量只有10Gmkfs是能过但后续创建快照或者扩展别的卷就麻烦了。写入fstab后的验证动作必不可少。一种经验是先用mount -a测试fstab语法是否正确然后reboot一次确认自动挂载真实生效。考试时很多人不敢重启害怕起不来但如果不重启验证fstab里哪怕写错一个UUID也会在判分时暴露。fstab的判断标准其实也很简单系统能正常启动到登录界面/data目录里有内容df -hT显示/dev/vgdata/lvdata名为xfs且挂载点正确。4.4 第四题Web服务配置与防火墙放行httpd的安装配置本身不复杂dnf install -y httpd systemctl enable --now httpd echo RHCSA Lab /var/www/html/index.html这里有个前后顺序的讲究如果先写HTML再启动服务完全没有问题但如果先启动服务再去写/var/www/html/index.html有可能因为SELinux上下文不对导致访问时403。不过别慌这正是第五题要解决的问题。防火墙放行HTTP服务firewall-cmd --permanent --add-servicehttp firewall-cmd --reload验证是否放行成功用firewall-cmd --list-all确认services列表里包含http。很多人会在这一步漏掉--permanent或者忘记reload这样一来当前shell里服务确实通了但重启后防火墙规则全部还原http访问直接超时这种错误最可惜。4.5 第五题SELinux问题排查与修复这道题的经典陷阱在于你或者系统先把index.html放到了/var/www/html里但它的SELinux上下文可能还是普通文件的默认值没被正确标记为httpd_sys_content_t。Apache访问它时SELinux就会拒绝读取浏览器端表现就是403 Forbidden。我的排查思路是# 查看文件上下文 ls -Z /var/www/html/index.html # 如果类型是admin_home_t之类就执行 restorecon -Rv /var/www/html/ # 再用ls -Z检查是否变成httpd_sys_content_t如果restorecon没有效果就需要用semanage fcontext来修改默认规则semanage fcontext -a -t httpd_sys_content_t /var/www/html(/.*)? restorecon -Rv /var/www/html/最终验证要落地到实际访问上用curl http://localhost/看到页面输出RHCSA Lab才算彻底解决。常见的误区是搞定了SELinux上下文但忘了firewalld还没放行导致服务依然无法访问。每次修完安全模块的问题记得把SELinux状态、防火墙规则、服务状态三个维度都检查一遍。4.6 作业验收与自我检查清单做完八道题不代表作业就交成功了。我给自己列了一个验收清单每一道题都按照能不能重新启动后仍然正常工作的标准来复查用户alice和bob能正常登录吗chage -l显示30天有效期吗/data目录挂载了吗df -hT输出正常吗重启后还在吗ip addr show显示静态IP是192.168.100.50吗curl http://localhost有响应吗服务是enabled状态吗getenforce显示Enforcing吗curl测试真的通吗crontab -l显示定时任务吗/bin/backup.sh有执行权限吗/backups/etc-backup.tar.gz存在吗tar -tzf能列出完整文件列表吗podman ps显示容器运行吗systemctl status container-name显示enabled吗整套检查做下来大概需要十到十五分钟但这十五分钟的价值远高于多做一套模拟题。考试判分看的就是这些重启后依然成立的结果养成这种检查习惯你会发现考试时心里踏实很多。5. 常见问题与排查技巧实录5.1 我踩过的那些坑第一个让我印象特别深的坑是fstab写错UUID导致系统起不来。那次我临时挂载LVM卷用mount命令成功了就顺手把设备路径/dev/vgdata/lvdata写进了fstab结果重启后系统掉进了救援模式。原因在于我的内核参数或设备枚举顺序变化导致LV设备节点还没准备好挂载就失败了。后来我学乖了一律用blkid /dev/vgdata/lvdata查UUID把UUID写进fstab。UUID的好处是稳定设备路径可能变UUID不会变。第二个坑是SELinux布尔值修改后没持久化。我执行setsebool httpd_enable_home_dirs on给Web服务放行家目录访问当时能用但重启后失效。复查才发现我少加了-P参数。setsebool不带-P只改运行时值加了-P才能把改动写入/etc/selinux/targeted/booleans.local。这类当时能用、重启失效的问题在RHCSA的学习里特别典型因为考试判分一定会考持久性。第三个坑是网络配置时用了ip命令而非nmcli。有次实验我图省事直接ip addr add 192.168.100.50/24 dev ens160IP立刻生效但NetworkManager毫不知情重启后配置全部丢失。从那以后我养成了一个习惯所有网络配置一律通过nmcli或者编辑/etc/NetworkManager/system-connections/下的配置文件绝不用ip命令做宿命式配置。5.2 考试环境的几个隐蔽规则基于我实际参与考试的经验这里补充几个RHCSA考场里非常容易踩的隐藏规则。第一root密码不是考试给你的而是你在考场里自己设置的。进入系统前你会拿到一个root密码的提示登录后第一件事是修改密码并妥善记住。有些同学考场上慌了改完密码以后忘了自己改成了什么后面题目要用root操作时直接锁死这属于非技术性翻车太可惜。第二考试评分系统并不看你敲过的命令它只在你交卷后检查系统的最终状态。这意味着我执行过我试过这类口头证明毫无意义系统只认结果。所以做完任何题目都请站在一个陌生管理员的角度去检查这台机器它重启后是什么状态服务还活着吗文件还有效吗第三网络服务和防火墙题要特别注意测试时用的源地址。考试环境里判分机可能从不同于你本地测试的IP段访问你的服务firewalld如果只放行了固定IP判分机就会访问超时。正确做法是permanent放行整个服务或端口而不是用--add-rich-rule放行单个源地址。5.3 几件容易被忽略的小事再分享几个从日常实验中总结出来的小技巧它们单独拿出来都不起眼但关键时刻能救你一命。第一安装软件包前先dnf makecache。考试如果要求你安装httpd、vsftpd或者podman这些包往往不在默认安装列表里。dnf仓库如果没有良好的缓存安装过程可能要等很久考场里时间就是分数。提前把常用包的依赖关系搞清楚或者至少熟练使用dnf install -y不要让确认依赖是Y还是n这种事浪费你的注意力。第二做LVM实验前先用lsblk和blkid看一遍现有磁盘状态。很多事故都是因为新磁盘上残留旧分区表或者旧文件系统导致的。如果发现磁盘上已经有分区比如/dev/sdb1再去做pvcreate /dev/sdb会报错。正确做法是确认磁盘完全裸奔或者使用fdisk删除所有分区重新建立。第三养成写完配置就重启一次的习惯尤其是在课程的最后阶段。我第一次完整做完一套模拟题后不敢重启怕环境起不来。后来狠下心重启结果发现fstab写错、SELinux布尔值没持久化、防火墙规则没加载一次性暴露了三个问题。相反每次重启都能帮我提前暴露隐藏问题练到后期我反而期待重启了。这套重启验证法可以说是RHCSA学习中性价比最高的习惯。根据我个人操作中的体会RHCSA的结课作业真正考验的不是你记住了多少条命令而是你在混乱、限时、多服务协作的环境下能否保持清晰的思路能否用最少的操作实现重启不变的目标。每次做完作业把系统重启一遍看到所有服务都老老实实起来、所有数据都在那种踏实感其实比考试通过带来的快乐还实在。如果你也正在准备RHCSA把这个方法用起来你会在考场里感谢自己平时的这份较真。
返回列表