RHCE 2026(RHEL EX200 + EX342)全套考点详解|命令示例、踩坑点、故障排错
RHCE RHEL EX200 EX342 Linux运维 Ansible 红帽认证
简介:本文覆盖 RHCE 2026 新版双科考试 EX200(RHCSA)+ EX342(RHCE)全部官方目标,完整命令行演示、高频坑点、标准化排错流程,Markdown 原文可直接复制发布 CSDN。
阅读提示:考试环境为 RHEL 10 / RHEL 9(EX200+EX342 当前基准系统),所有命令均支持真机/虚拟机实操;区分临时生效与永久生效,是考试第一大忌。
markdown
# RHCE 2026 新版 EX200(RHCSA)+EX342(RHCE) 完整考点汇总|命令清单、易错点、故障排错流程
## 一、前言
RHCE 2026 当前认证架构:
- EX200:RHCSA --- 企业Linux系统基础管理(必考前置)
- EX342:RHCE --- Linux自动化与企业基础设施服务(通过EX200后,考过EX342获得RHCE证书)
⚠️ 考试全部实操,无选择题;阅卷只看**最终运行状态+永久配置**,临时命令重启失效一律不得分!
> 环境基线:RHEL 9 / RHEL 10,默认 firewalld、selinux 开启,chrony时间同步、systemd、dnf包管理器、ansible 2.15+
## 目录
1. EX200 RHCSA 全部知识点 + 完整命令 + 踩坑清单
2. EX342 RHCE 全部知识点 + Ansible + 基础设施服务命令
3. 通用故障标准化排错流程(考试万能排错模板)
4. RHCE考场通用避坑总则
第一部分 EX200 RHCSA 企业Linux系统管理
1. 系统登录、本地用户与组管理
知识点清单
- 创建/删除用户、附属组、主组
- 修改用户属性:uid、gid、家目录、shell、注释信息
- 设置密码、密码有效期、锁定/解锁账号
- 用户资源限制
/etc/security/limits.conf - 组管理、附加组增减
完整命令
bash
# 创建用户,指定UID、主组、附加组、家目录、禁止登录shell
useradd -u 1500 -g ops -G dev,test -d /home/user01 -s /bin/bash user01
# 修改用户信息
usermod -aG docker user01 # -a 追加附加组!考试最高频踩坑点
usermod -L user01 # 锁定账号
usermod -U user01 # 解锁账号
usermod -s /sbin/nologin user01
# 删除用户,连带家目录
userdel -r user01
# 组管理
groupadd -g 2000 ops
groupmod -n newops ops
groupdel ops
# 设置密码
passwd user01
# 非交互式脚本设置密码
echo "Passw0rd!" | passwd --stdin user01
# 密码策略有效期(单用户)
chage -M 90 -m 7 -W 14 user01
chage -l user01 # 查看密码策略
🚨易踩坑点
usermod -G不加 -a 会覆盖所有附加组!直接丢分 ,必须写-aGuserdel不加-r不会删除家目录和邮件池,题目要求清理必须带参数/sbin/nologin和/bin/false不能混用,考题严格指定shell- 密码复杂度:RHEL默认策略,弱密码需要强制确认,考场尽量使用大小写+数字符号
- chage只修改单个用户;全局密码策略
/etc/login.defs
2. 文件权限、ACL、特殊权限SUID/SGID/Sticky Bit
完整命令
bash
# 基础权限
chmod 755 /data
chown user01:ops /data
chown -R user01 /data # 递归修改属主
# SUID
chmod u+s /bin/file
# SGID(目录继承组)
chmod g+s /share
# 粘滞位 Sticky
chmod o+t /tmp/share
# ACL访问控制列表
setfacl -m u:user01:rwx /share
setfacl -m g:dev:rx /share
setfacl -R -m u:user01:rwx /share
setfacl -b /share # 删除所有acl
getfacl /share # 查看acl
# 默认ACL(新建文件自动继承权限,目录必备考点)
setfacl -d -m g:dev:rwx /share
🚨易踩坑点
- ACL 需要文件系统开启acl支持;xfs默认支持,ext需要挂载参数
- 默认ACL(-d)只对后续新建文件生效,已有文件不会自动更新,必须搭配-R
- 复制目录时acl不会跟随,cp加
-p保留权限,cp -rp - 粘滞位作用:目录内文件仅所有者可删除,常见考题
/public共享目录
3. 文件系统管理:分区、LVM、swap、挂载、fstab永久挂载
完整命令
bash
# 磁盘分区
fdisk /dev/sdb
gdisk /dev/sdb # GPT大磁盘
# 创建物理卷PV
pvcreate /dev/sdb1
pvdisplay
# 卷组VG
vgcreate vgdata /dev/sdb1
vgextend vgdata /dev/sdb2
vgreduce vgdata /dev/sdb2
# 逻辑卷LV
lvcreate -L 20G -n lvdata vgdata
lvresize -L +10G /dev/vgdata/lvdata
# 文件系统格式化
mkfs.xfs /dev/vgdata/lvdata
mkfs.ext4 /dev/vgdata/lvdata
# 临时挂载
mount /dev/vgdata/lvdata /data
# 查询UUID(写入fstab必须优先UUID,不能直接写设备名)
blkid /dev/vgdata/lvdata
# fstab 示例
UUID="xxxxxxx" /data xfs defaults 0 0
# 重载fstab,验证配置,不重启
mount -a
# SWAP分区管理
mkswap /dev/sdb3
swapon /dev/sdb3
swapoff /dev/sdb3
swapon -s # 查看swap
# fstab添加swap
UUID=xxx swap swap defaults 0 0
🚨易踩坑点
- xfs 文件系统不能缩小!考题出现缩小lv,如果是xfs直接换方案,ext4支持缩容
- fstab写错导致服务器启动失败!写完必须执行
mount -a校验 - 使用UUID,不要写
/dev/sdX,磁盘顺序变化会启动故障 - lvresize扩容后:xfs使用
xfs_growfs /挂载点;ext4使用resize2fs /dev/lv路径
bash
# xfs扩容命令重点!必考
xfs_growfs /data
# ext4扩容
resize2fs /dev/vgdata/lvdata
- swap文件方案:
dd创建swap文件,考题两种形式(swap分区 / swapfile)都要掌握
4. systemd 服务管理、开机自启、服务状态排错
bash
systemctl start chronyd
systemctl stop chronyd
systemctl restart chronyd
systemctl enable --now chronyd # 立即启动+开机自启
systemctl disable chronyd
systemctl status chronyd
systemctl list-unit-files | grep enabled
# 查看服务日志
journalctl -u chronyd
journalctl -u chronyd -f
journalctl --since "1 hour ago"
# 自定义service单元(进阶考点)
vi /etc/systemd/system/mydemo.service
systemctl daemon-reload # 修改unit文件后必须重载
🚨易踩坑点
enable只设置开机启动,不会立刻启动;想要同时启动必须enable --now- 修改service文件后忘记
daemon-reload,配置永久不生效 - journal日志默认存在内存,重启丢失;持久化修改
/etc/systemd/journald.confStorage=persistent
5. SELinux 安全上下文、布尔值、故障排查
bash
# 查看selinux状态
getenforce
setenforce 0 # 临时关闭
setenforce 1 # 临时开启
# 永久关闭(修改配置文件)
vi /etc/selinux/config
SELINUX=enforcing | permissive | disabled
# 修改文件安全上下文
chcon -t httpd_sys_content_t /web/index.html
# 永久恢复默认上下文(restorecon必考)
restorecon -Rv /web
# 设置默认上下文(永久,重新mount不失效)
semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
semanage fcontext -l | grep /web
# selinux布尔值查询修改
getsebool -a | grep http
setsebool -P httpd_enable_homedirs on # -P 永久生效!
🚨易踩坑点
chcon修改临时生效,重启/重新挂载丢失;永久必须用semanage fcontext + restorecon- setsebool 不加
-P临时生效,重启失效,大量考生丢分 - 很多web、samba、nfs访问故障根源就是SELinux,排错优先查看audit日志
bash
# 查看selinux拒绝日志
ausearch -m avc -ts recent
6. firewalld 防火墙管理
bash
# 启动开机自启
systemctl enable --now firewalld
# 查看默认区域
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
# 临时放行端口
firewall-cmd --add-port=80/tcp
# 永久放行端口(必须加--permanent)
firewall-cmd --add-port=80/tcp --permanent
# 重载防火墙规则
firewall-cmd --reload
# 放行服务
firewall-cmd --add-service=http --permanent
# 端口转发、富规则、源地址限制
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name=http accept' --permanent
🚨易踩坑点
- 不加 --permanent 全部临时生效,重启丢失 ,修改永久规则后必须
firewall-cmd --reload - reload不会断开现有连接;restart会断开连接,考试优先使用reload
- 区域(zone)概念:网卡绑定zone,很多考生直接全局放行,忽略源地址限制需求
7. 网络配置:nmcli、主机名、DNS、网关、静态IP
bash
# 查看网卡
nmcli device status
nmcli connection show
# 修改静态IP
nmcli connection modify ens160 \
ipv4.addresses 192.168.10.10/24 \
ipv4.gateway 192.168.10.1 \
ipv4.dns 223.5.5.5 \
ipv4.method manual \
connection.autoconnect yes
# 激活连接
nmcli connection up ens160
# 主机名
hostnamectl set-hostname server01.example.com
# 本地域名解析 /etc/hosts
vi /etc/hosts
# 查看路由
ip route
# 测试连通
ping
tracepath
ss -ntulnp # 替代netstat,RHEL默认无netstat
🚨易踩坑点
- 修改nmcli配置后必须执行
connection up激活,否则不生效 - ipv4.method 一定要改为 manual(静态),默认auto dhcp
- 不要混用nmcli和直接编辑ifcfg文件,容易冲突
8. 时间同步 chrony
bash
vi /etc/chrony.conf
# 添加NTP服务器
server ntp.aliyun.com iburst
systemctl enable --now chronyd
# 验证同步
chronyc sources
chronyc tracking
timedatectl
timedatectl set-timezone Asia/Shanghai
🚨易踩坑点
chronyd服务名称,不是chrony;防火墙需要放行ntp端口udp/123
9. 进程管理、定时任务 cron、at
bash
ps aux
top
htop
pstree
kill -15 PID
kill -9 PID
# cron定时任务
crontab -e -u user01
crontab -l -u user01
crontab -r -u user01
# 系统全局定时任务 /etc/crontab /etc/cron.d/
# at一次性任务
at 14:30
atq
atrm 任务号
🚨易踩坑点
- cron环境变量有限,脚本尽量写绝对路径
- 用户cron和系统cron格式略有区别,系统cron需要填写用户名
- RHEL默认anacron处理关机错过的定时任务
10. dnf 软件包管理、yum仓库、模块流module
bash
# dnf基础
dnf install httpd -y
dnf remove httpd
dnf list installed
dnf search nginx
dnf info httpd
# 配置本地/网络yum源
vi /etc/yum.repos.d/base.repo
# dnf module(RHEL9重点考点)
dnf module list php
dnf module enable php:8.1
dnf module install php:8.1
dnf module reset php
# 下载rpm包不安装
dnf download --resolve httpd
# 组包
dnf groupinstall "Development Tools"
🚨易踩坑点
- repo文件必须以
.repo结尾,放在/etc/yum.repos.d/ - module流冲突,切换版本需要reset再enable
- 考试离线环境注意搭建本地yum仓库
11. 日志管理 rsyslog、logrotate
bash
vi /etc/rsyslog.conf
systemctl restart rsyslog
# 日志轮转配置
vi /etc/logrotate.conf
vi /etc/logrotate.d/httpd
12. 内核参数调优 /etc/sysctl.conf
bash
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
# 生效
sysctl -p
# 临时查看修改
sysctl net.ipv4.ip_forward
ip转发是后续httpd反向代理、路由、防火墙转发必考基础
13. 磁盘配额 quota(XFS/EXT4)
bash
# xfs配额挂载参数 uquota,gquota
mount -o remount,uquota /data
# fstab 添加参数
# 查看配额
xfs_quota -x -c report /data
# 设置用户限额
xfs_quota -x -c 'limit bsoft=500m bhard=600m user01' /data
14. 救援模式、root密码重置(应急排错考点)
操作步骤:启动界面edit内核参数,rw init=/bin/bash,直接passwd修改密码,selinux重新打标签
第二部分 EX342 RHCE 自动化 + 企业基础设施服务
EX342两大核心板块:
- Ansible自动化管理(重中之重,分值最高)
- 企业服务:NFS、Samba、Apache httpd、Postfix邮件、DNS、防火墙高级规则、web虚拟主机、TLS加密、数据库基础、网络绑定team/bond
模块1:Ansible 自动化(EX342核心)
环境基础
控制节点 + 被管理节点,ssh密钥免密
bash
# 控制节点生成密钥
ssh-keygen
# 推送公钥
ssh-copy-id root@node01
Ansible 基础配置
bash
# 主配置文件
vi /etc/ansible/ansible.cfg
# 库存主机清单
vi /etc/ansible/hosts
hosts示例
ini
[webservers]
node01 ansible_host=192.168.10.11
node02 ansible_host=192.168.10.12
基础命令
bash
# 连通性测试
ansible all -m ping
# 临时命令(ad-hoc)
ansible webservers -m command -a "df -h"
ansible webservers -m shell -a "echo $HOME"
ansible webservers -m copy -a "src=/etc/hosts dest=/etc/hosts"
ansible webservers -m file -a "path=/data state=directory mode=0755"
ansible webservers -m service -a "name=httpd state=started enabled=yes"
ansible webservers -m dnf -a "name=httpd state=present"
ansible webservers -m user -a "name=user01 groups=ops append=yes"
Ansible Playbook YAML语法(必考)
yaml严格缩进,只能空格,禁止tab!
demo.yaml
yaml
---
- name: 部署httpd服务
hosts: webservers
become: true
tasks:
- name: 安装httpd
dnf:
name: httpd
state: present
- name: 启动开机自启
service:
name: httpd
state: started
enabled: yes
- name: 放行防火墙http
firewalld:
service: http
permanent: yes
immediate: yes
state: enabled
执行剧本
bash
ansible-playbook demo.yaml
# 语法检查
ansible-playbook --syntax-check demo.yaml
# 模拟运行
ansible-playbook -C demo.yaml
高频模块清单(考试全部掌握)
ping、command、shell、copy、fetch、file、dnf、service、user、group、lineinfile、blockinfile、template、hostname、sysctl、mount、selinux、firewalld
进阶考点
- template jinja2模板
.j2 - 变量 vars / vars_files
- 条件判断 when
- 循环 loop
- handlers + notify(变更后触发重启服务)
- tags 标签执行指定任务
- ansible vault 加密敏感文件
- inventory 动态清单、分组嵌套
- 权限提升 become、become_user
🚨Ansible 超级高频踩坑
- YAML缩进错误,tab键直接报错
copy模块远程路径不存在不会自动创建,优先使用file模块预先建目录- lineinfile:匹配规则写错导致重复添加多行
- handlers只有任务changed状态才触发;不触发最常见丢分点
- ad-hoc command模块不支持管道与重定向,需要管道必须使用shell模块
append=yes用户附加组,和usermod -a逻辑一致,忘记则覆盖组
模块2:Apache HTTPD Web服务(虚拟主机、TLS/HTTPS、虚拟目录、访问控制)
bash
dnf install httpd mod_ssl -y
# 站点根目录
mkdir -p /var/www/vhosts/site1
# 虚拟主机配置 /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName site1.example.com
DocumentRoot "/var/www/vhosts/site1"
<Directory "/var/www/vhosts/site1">
Require all granted
</Directory>
</VirtualHost>
# TLS HTTPS 配置,自签名证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/site.key -out /etc/pki/tls/certs/site.crt
<VirtualHost *:443>
ServerName site1.example.com
DocumentRoot "/var/www/vhosts/site1"
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/site.crt
SSLCertificateKeyFile /etc/pki/tls/private/site.key
</VirtualHost>
systemctl enable --now httpd
防火墙放行
bash
firewall-cmd --add-service=http --add-service=https --permanent
firewall-cmd --reload
SELinux上下文、目录权限老生常谈故障点
模块3:Samba 文件共享(Windows/Linux互通)
bash
dnf install samba samba-client -y
vi /etc/samba/smb.conf
# 创建samba独立用户(必须先创建系统用户)
useradd shareuser
smbpasswd -a shareuser
# 共享段落示例
[share]
path = /samba/share
browseable = yes
writable = yes
valid users = shareuser
验证配置语法
bash
testparm
systemctl enable --now smb nmb
firewall-cmd --add-service=samba --permanent
firewall-cmd --reload
🚨坑点
samba密码独立于系统密码;selinux布尔值 setsebool -P samba_export_all_rw on
模块4:NFS网络文件共享(Linux之间共享)
服务端
bash
dnf install nfs-utils
vi /etc/exports
/data 192.168.10.0/24(rw,sync,no_root_squash)
exportfs -r
systemctl enable --now nfs-server
firewall-cmd --add-service=nfs --permanent
客户端挂载
bash
mount server01:/data /mnt/nfs
# fstab永久挂载
server01:/data /mnt/nfs nfs defaults 0 0
模块5:DNS服务 bind(域名解析A记录、CNAME、反向解析)
bash
dnf install bind bind-chroot
vi /etc/named.conf
vi /var/named/example.zone
systemctl enable --now named
firewall-cmd --add-service=dns --permanent
named-checkconf # 校验主配置
named-checkzone example.com /var/named/example.zone
模块6:Postfix SMTP邮件基础
配置 /etc/postfix/main.cf,测试邮件发送 mail 命令
模块7:网络链路聚合 team / bond
bash
nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
nmcli connection add type ethernet con-name team0-port1 ifname ens160 master team0
模块8:MariaDB 数据库基础管理
bash
dnf install mariadb-server
systemctl enable --now mariadb
mariadb-secure-installation # 安全初始化
mariadb -u root -p
CREATE DATABASE testdb;
CREATE USER testuser@localhost IDENTIFIED BY 'Passw0rd!';
GRANT ALL ON testdb.* TO testuser@localhost;
FLUSH PRIVILEGES;
第三部分 RHCE考试通用故障标准化排错流程【考场直接套用】
遇到服务无法访问/启动失败,严格按顺序排查,不要乱操作
标准排错模板(所有服务通用)
- 检查服务是否运行
bash
systemctl status xxx
- 未启动 → 尝试restart,观察报错
- 查看服务详细日志
bash
journalctl -u xxx -f
- 检查配置文件语法
- httpd:
httpd -t - named:
named-checkconf - samba:
testparm - ansible-playbook:
--syntax-check
- httpd:
- 网络连通层
bash
ping 目标IP
ss -ntulnp | grep 端口 # 确认端口监听
- 防火墙检查
bash
firewall-cmd --list-all
- SELinux拦截检查(80%web/共享服务访问失败根源)
bash
ausearch -m avc -ts recent
getenforce
- 文件系统权限、属主、安全上下文
bash
ls -lZ 目录路径
- 验证客户端配置(dns、挂载地址、yum源地址等)
网络不通专项排错
- ip地址、网关
ip a ; ip route - DNS解析
nslookup / dig - 路由可达、端口连通
telnet / nc - 防火墙两端策略
开机无法启动故障
- fstab错误:启动界面进入emergency模式,注释错误条目
- selinux标签损坏
- 磁盘lvm无法识别
第四部分 RHCE 2026 考场全局避坑总则
- ✅ 所有配置题目必须实现永久生效!只敲临时命令一律不给分
setenforce、firewall-cmd不带permanent、mount临时挂载,全部高危失分点 - ✅ 修改配置文件后,重载/重启对应服务
- ✅ 修改systemd unit文件:必须执行
systemctl daemon-reload - ✅ fstab写完强制执行
mount -a,防止系统无法启动 - ✅ 善用 man、-h、--help,考试允许查帮助文档
- ✅ Ansible剧本写完优先语法检查
--syntax-check,再-C模拟运行 - ✅ 操作完成尽量重启虚拟机验证所有配置持久生效(有时间前提下)
- ✅ 注意题目约束:源IP限制、权限严格要求、禁止关闭SELinux/防火墙(大量考题不允许直接关闭)
- ✅ 区分 XFS 不能缩容;swapfile与swap分区两种题型
- ✅ 主机名、/etc/hosts解析问题经常导致ansible、web虚拟主机、dns题目隐性故障