跳转至

32. RHCE 考点总结

本章节总结 RHEL 9(主机名 LinuxDC)上 RHCE(Red Hat Certified Engineer)考试核心领域,指导使用 SecureCRT 配置关键任务,配合 SecureFX 传输配置文件。内容涵盖用户管理、SELinux、Systemd、LVM/RAID、防火墙、网络、SSH、Podman、Ansible,提供考试提示和验证方法,全面实用,适合备考 RHCE 的初学者和运维人员。所有操作在 LinuxDC 环境中测试,确保实验一致性。


32.1 前提条件

  • RHEL 9 已安装(参考第 1 章),主机名设置为 LinuxDC
  • 使用 SecureCRT 登录(SSH2 协议,端口 2222,参考第 9 章)。
  • 使用 SecureFX 传输文件(SFTP 协议)。
  • 具有 root 或 sudo 权限。
  • 系统已订阅并启用 RHEL 和 EPEL 仓库(参考第 2 和第 5 章)。
  • 防火墙和 SELinux 启用(参考第 12 章)。
  • 网络连接正常,时间同步配置完成(参考第 4 章)。

💡 提示:RHCE 考试强调实际操作能力,重点考察配置正确性、命令准确性与问题排查能力。在 RHEL 10 中,考试可能进一步融入 Podman 容器化、systemd 容器单元和增强的网络命名空间等新特性。


32.2 核心考点与配置速查

32.2.1 用户与权限管理

  • 创建用户并加入 wheel 组(sudo 权限):

    useradd -m -G wheel testuser
    passwd testuser
    

  • 配置 sudo 无密码(生产慎用):

    visudo
    # 添加:
    testuser ALL=(ALL) NOPASSWD: ALL
    

  • 设置密码过期策略:

    chage -M 90 testuser  # 90 天过期
    

32.2.2 SELinux 配置

  • 查看状态与模式:

    sestatus
    getenforce
    

  • 允许 Apache 网络连接:

    setsebool -P httpd_can_network_connect 1
    

  • 为自定义 SSH 端口添加上下文:

    semanage port -a -t ssh_port_t -p tcp 2222
    

  • 修复文件上下文:

    restorecon -Rv /var/www/html
    

  • 查看拒绝日志并生成修复策略:

    ausearch -m avc -ts recent | audit2allow -M mypolicy
    semodule -i mypolicy.pp
    

32.2.3 Systemd 服务管理

  • 创建自定义服务:

    vim /etc/systemd/system/myservice.service
    # 示例:
    [Unit]
    Description=My Service
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/my-script.sh
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

  • 启用并启动:

    systemctl daemon-reload
    systemctl enable --now myservice
    

  • 查看运行目标:

    systemctl get-default
    systemctl set-default multi-user.target
    

32.2.4 LVM 与存储管理

  • 创建 LVM 逻辑卷(10GB 示例):

    pvcreate /dev/sdb1
    vgcreate vg_data /dev/sdb1
    lvcreate -L 10G -n lv_data vg_data
    mkfs.xfs /dev/vg_data/lv_data
    mkdir /mnt/lvmdata
    mount /dev/vg_data/lv_data /mnt/lvmdata
    

  • 验证:

    lvs
    vgs
    pvs
    df -h /mnt/lvmdata
    

32.2.5 防火墙配置

  • 开放自定义 SSH 端口:

    firewall-cmd --permanent --add-port=2222/tcp
    firewall-cmd --reload
    

  • 开放服务:

    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload
    

  • 查看规则:

    firewall-cmd --list-all
    

32.2.6 SSH 配置

  • 快速配置 SSH 服务:
    dnf install -y openssh-server
    vim /etc/ssh/sshd_config
    # 修改:
    Port 2222
    PermitRootLogin no
    PasswordAuthentication no
    systemctl restart sshd
    

32.2.7 Podman 容器管理

  • 运行 httpd 容器:
    podman run -d --name myhttpd -p 8080:8080 registry.access.redhat.com/ubi9/httpd-24
    podman ps -a
    curl localhost:8080
    

32.2.8 Ansible 自动化

  • 编写 Playbook 部署 Apache:
    vim /root/deploy-httpd.yml
    # 示例:
    ---
    - name: Deploy Apache
      hosts: webservers
      become: yes
      tasks:
        - name: Install httpd
          dnf:
            name: httpd
            state: latest
        - name: Start and enable httpd
          service:
            name: httpd
            state: started
            enabled: yes
    ansible-playbook /root/deploy-httpd.yml
    

32.3 考试提示与验证方法

  • 时间管理:考试时间有限,优先完成熟悉任务。
  • 验证命令:每项配置后立即验证(如 systemctl statuslvsfirewall-cmd --list-all)。
  • 日志排查:熟练使用 journalctl -u <service> -xeausearch -m avc
  • 备份习惯:操作前备份配置文件(如 cp /etc/ssh/sshd_config{,.bak})。
  • 常见陷阱:SELinux 上下文、防火墙规则、权限(755/644)、服务启用(--now)。

32.4 实践任务(模拟考试场景)

  1. 创建用户 testuser,加入 wheel 组,设置 90 天密码过期。
  2. 将 SSH 端口改为 2222,禁用 root 登录,启用密钥认证。
  3. 创建 10GB LVM 逻辑卷并挂载到 /mnt/data
  4. 配置防火墙开放 HTTP/HTTPS 服务。
  5. 使用 Ansible Playbook 在远程主机(192.168.1.101)部署 Apache。

检查点:所有配置验证通过,无 SELinux 拒绝,服务正常运行。


32.5 自测问题

  • 问题 1:如何快速配置 SSH 服务?
    答案dnf install -y openssh-server; vim /etc/ssh/sshd_config; systemctl enable --now sshd

  • 问题 2:如何验证 LVM 逻辑卷?
    答案lvs

  • 问题 3:如何配置 Ansible Playbook 部署 HTTP 服务?
    答案:创建 /root/playbook.yml 定义 dnfservice 任务,运行 ansible-playbook playbook.yml


🧾 总结
本章系统总结了 RHEL 9 环境下 RHCE 考试的核心考点与实用配置方法。通过反复练习这些任务,可有效提升实际操作能力与考试通过率。建议结合 Red Hat 官方 RHCE 考试目标(EX294)进行针对性训练。