RHCE之2026年全套考点详解

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. 系统登录、本地用户与组管理

知识点清单

  1. 创建/删除用户、附属组、主组
  2. 修改用户属性:uid、gid、家目录、shell、注释信息
  3. 设置密码、密码有效期、锁定/解锁账号
  4. 用户资源限制 /etc/security/limits.conf
  5. 组管理、附加组增减

完整命令

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    # 查看密码策略

🚨易踩坑点

  1. usermod -G 不加 -a 会覆盖所有附加组!直接丢分 ,必须写 -aG
  2. userdel 不加 -r 不会删除家目录和邮件池,题目要求清理必须带参数
  3. /sbin/nologin/bin/false 不能混用,考题严格指定shell
  4. 密码复杂度:RHEL默认策略,弱密码需要强制确认,考场尽量使用大小写+数字符号
  5. 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

🚨易踩坑点

  1. ACL 需要文件系统开启acl支持;xfs默认支持,ext需要挂载参数
  2. 默认ACL(-d)只对后续新建文件生效,已有文件不会自动更新,必须搭配-R
  3. 复制目录时acl不会跟随,cp加-p保留权限,cp -rp
  4. 粘滞位作用:目录内文件仅所有者可删除,常见考题 /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

🚨易踩坑点

  1. xfs 文件系统不能缩小!考题出现缩小lv,如果是xfs直接换方案,ext4支持缩容
  2. fstab写错导致服务器启动失败!写完必须执行 mount -a 校验
  3. 使用UUID,不要写 /dev/sdX,磁盘顺序变化会启动故障
  4. lvresize扩容后:xfs使用xfs_growfs /挂载点;ext4使用resize2fs /dev/lv路径
bash 复制代码
# xfs扩容命令重点!必考
xfs_growfs /data
# ext4扩容
resize2fs /dev/vgdata/lvdata
  1. 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文件后必须重载

🚨易踩坑点

  1. enable 只设置开机启动,不会立刻启动;想要同时启动必须 enable --now
  2. 修改service文件后忘记 daemon-reload,配置永久不生效
  3. journal日志默认存在内存,重启丢失;持久化修改 /etc/systemd/journald.conf Storage=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 永久生效!

🚨易踩坑点

  1. chcon 修改临时生效,重启/重新挂载丢失;永久必须用 semanage fcontext + restorecon
  2. setsebool 不加 -P 临时生效,重启失效,大量考生丢分
  3. 很多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

🚨易踩坑点

  1. 不加 --permanent 全部临时生效,重启丢失 ,修改永久规则后必须 firewall-cmd --reload
  2. reload不会断开现有连接;restart会断开连接,考试优先使用reload
  3. 区域(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

🚨易踩坑点

  1. 修改nmcli配置后必须执行 connection up 激活,否则不生效
  2. ipv4.method 一定要改为 manual(静态),默认auto dhcp
  3. 不要混用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 任务号

🚨易踩坑点

  1. cron环境变量有限,脚本尽量写绝对路径
  2. 用户cron和系统cron格式略有区别,系统cron需要填写用户名
  3. 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"

🚨易踩坑点

  1. repo文件必须以 .repo 结尾,放在 /etc/yum.repos.d/
  2. module流冲突,切换版本需要reset再enable
  3. 考试离线环境注意搭建本地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两大核心板块:

  1. Ansible自动化管理(重中之重,分值最高)
  2. 企业服务: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

进阶考点

  1. template jinja2模板 .j2
  2. 变量 vars / vars_files
  3. 条件判断 when
  4. 循环 loop
  5. handlers + notify(变更后触发重启服务)
  6. tags 标签执行指定任务
  7. ansible vault 加密敏感文件
  8. inventory 动态清单、分组嵌套
  9. 权限提升 become、become_user

🚨Ansible 超级高频踩坑

  1. YAML缩进错误,tab键直接报错
  2. copy模块远程路径不存在不会自动创建,优先使用file模块预先建目录
  3. lineinfile:匹配规则写错导致重复添加多行
  4. handlers只有任务changed状态才触发;不触发最常见丢分点
  5. ad-hoc command模块不支持管道与重定向,需要管道必须使用shell模块
  6. 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考试通用故障标准化排错流程【考场直接套用】

遇到服务无法访问/启动失败,严格按顺序排查,不要乱操作

标准排错模板(所有服务通用)

  1. 检查服务是否运行
bash 复制代码
systemctl status xxx
  • 未启动 → 尝试restart,观察报错
  1. 查看服务详细日志
bash 复制代码
journalctl -u xxx -f
  1. 检查配置文件语法
    • httpd:httpd -t
    • named:named-checkconf
    • samba:testparm
    • ansible-playbook:--syntax-check
  2. 网络连通层
bash 复制代码
ping 目标IP
ss -ntulnp | grep 端口    # 确认端口监听
  1. 防火墙检查
bash 复制代码
firewall-cmd --list-all
  1. SELinux拦截检查(80%web/共享服务访问失败根源)
bash 复制代码
ausearch -m avc -ts recent
getenforce
  1. 文件系统权限、属主、安全上下文
bash 复制代码
ls -lZ 目录路径
  1. 验证客户端配置(dns、挂载地址、yum源地址等)

网络不通专项排错

  1. ip地址、网关 ip a ; ip route
  2. DNS解析 nslookup / dig
  3. 路由可达、端口连通 telnet / nc
  4. 防火墙两端策略

开机无法启动故障

  1. fstab错误:启动界面进入emergency模式,注释错误条目
  2. selinux标签损坏
  3. 磁盘lvm无法识别

第四部分 RHCE 2026 考场全局避坑总则

  1. 所有配置题目必须实现永久生效!只敲临时命令一律不给分
    setenforce、firewall-cmd不带permanent、mount临时挂载,全部高危失分点
  2. ✅ 修改配置文件后,重载/重启对应服务
  3. ✅ 修改systemd unit文件:必须执行 systemctl daemon-reload
  4. ✅ fstab写完强制执行 mount -a,防止系统无法启动
  5. ✅ 善用 man、-h、--help,考试允许查帮助文档
  6. ✅ Ansible剧本写完优先语法检查 --syntax-check,再 -C 模拟运行
  7. ✅ 操作完成尽量重启虚拟机验证所有配置持久生效(有时间前提下)
  8. ✅ 注意题目约束:源IP限制、权限严格要求、禁止关闭SELinux/防火墙(大量考题不允许直接关闭)
  9. ✅ 区分 XFS 不能缩容;swapfile与swap分区两种题型
  10. ✅ 主机名、/etc/hosts解析问题经常导致ansible、web虚拟主机、dns题目隐性故障

相关推荐
love530love1 小时前
彻底清理 Windows 右键“打开方式“中的重复/失效程序项(PyCharm 多版本残留实战 + 自动化脚本)
运维·人工智能·windows·pycharm·jetbrains·toolbox
腾科IT教育1 小时前
网络安全与网络空间安全:概念、产业与防护建议
网络·安全·web安全·网络安全·网络空间安全
0Kilobyte1 小时前
自建拨号服务器上网
网络
Fluxart.ai1 小时前
Etsy手工制品换背景,用什么AI能保留手作质感?
前端·javascript·人工智能
zhexunnb1 小时前
SAP赋能芯片封装行业,打造封测企业全链路数字化底座
运维
蓝速科技1 小时前
蓝速科技会议预约屏深度评测:为何安卓系统是智慧办公长期最优解
运维·人工智能·科技
2401_834636991 小时前
保姆级 K8s 运维:RBAC 认证 + Dashboard+Local/NFS 动态卷实战
运维·容器·kubernetes
小玮看世界1 小时前
[Python] str() 和 join() 的区别与实战避坑指南
前端·javascript·python
hyf3266331 小时前
低成本站群泛程序部署:单服务器托管百站稳定运行教程
运维·服务器·前端·搜索引擎·蜘蛛池