记红帽RHCSA&RHCE(V8)认证考试

本文含有学习记录、文档提供、考试可以着重注意的事项。


2022.04.25 我参加了红帽系统管理员和工程师的认证考试,成绩如下。

RHCSA Results
RHCE Results

分别以271分、295分通过考试(满分均为300分)。


全局注意事项:

  • 不要更改所有题目指定的密码及关闭22(SSH)端口,考试程序通过此连接进行判分。
  • 考试时除root外,每个人的用户名和密码均不一样,每个人的IP地址也不一样。
  • 练习时可能通过密码进行登录,考试时通过密钥认证登录。
  • 能复制尽量复制,不要手动敲,手动敲多敲错一个字母那一题都没分。
  • 考试没有预装vim,只有vi,需要自己vi下配置好yum源repo后安装vim。
  • 红帽8自带了命令补全,一些记不太清楚的命令或者不知道要在后面敲什么的都可以tab键尝试。
  • 也可以多用用 command –help去查看命令后面的参数,有些模板不熟悉的,可以用man command 去查看。
  • 考试时可以携带自己的键盘鼠标,但不可以是无线键鼠,无线键鼠会被识别成存储设备导致判定作弊。
  • 考完试不要急着交卷,重启所有虚拟机检查,如果机子起不来是判不到分的,考试时间很充裕,慢慢来,不用心急。
  • 随机附加题分数算在总分300内,且可能不是一道独立的题目,可能附加依赖于其他题目一起做。

RHCSA题目及可以着重注意的事项和题目。

配置信息:

RHCSA System Information

注意事项:在我使用的练习环境中,node1虚拟系统的root密码为flectrag;正式考试时会在考试需要的配置信息页面找到你的虚拟系统的相关信息和密码。

其他信息:

RHCSA Others Information

注意事项:考试时存储库地址和注册服务器地址为考试服务器,会在考试需要的配置信息页面找到相关信息。

第一部分:在node1虚拟系统上完成以下任务:

第一题:完成网络配置:

RHCSA node1 1
# 设置主机名
> hostnamectl set-hostname node1.domain250.example.com
# 查看网络接口信息
> nmcli connection show
# 配置IP、开机自动激活
> nmcli connection modify "Wired connection 1" ipv4.addresses 172.25.250.100/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.254
ipv4.method manual connection.autoconnect yes
# 激活配置
> nmcli connection up "Wired connection 1"
# 检查网卡是否配置成功
> ifconfig
> ip addr
# 检查主机名是否配置成功
> hostname

注意事项:因为做此题前没有配置网络,因此此题直接在终端中做,后续题目才通过SSH做;同时需要注意网卡名称是否包含空格和其他特殊符号,如有,需要使用引号将网卡名引起来。

第二题:配置系统使用默认存储库(配置yum源):

RHCSA node1 2
# 配置BaseOS存储库
> vi /etc/yum.repo.d/foundation0.ilt.example.com_dvd_BaseOS.repo
> <a>
  [foundation0.ilt.example.com_dvd_BaseOS]
  name=http://foundation0.ilt.example.com_dvd_BaseOS
  baseurl=http://foundation0.ilt.example.com/dvd/BaseOS
  enable=1
  gpgcheck=0
> <esc>
> :wq
> <enter>
# 配置AppStream存储库
> vi /etc/yum.repo.d/foundation0.ilt.example.com_dvd_AppStream.repo
> <a>
  [foundation0.ilt.example.com_dvd_AppStream]
  name=http://foundation0.ilt.example.com_dvd_AppStream
  baseurl=http://foundation0.ilt.example.com/dvd/AppStream
  enable=1
  gpgcheck=0
> <esc>
> :wq
> <enter>
# 清空yum源缓存
> yum clean all
# 初始化并列出所有可用yum源
> yum repolist
# 检查yum源是否可用并安装vim
> yum install vim -y

注意事项:考试不会给你yum-config-manager这条命令,全部使用vi手动配置;yum源库的名字可以自定义,除非考试另有要求;baseurl尽量复制粘贴,不要手打,以免出错。

第三题:调试SELinux

RHCSA node1 3
# 检查semanage是否有安装
> semanage -h
# 如果没有需安装semanage
> yum install policycoreutils-python-utils -y
# 使用semanage放通Selinux安全策略端口
> semanage port -a -t http_port_t -p tcp 82
# 检查端口是否放通成功
> semanage port -l | grep 'http'
# 重启apache并查看是否启动成功
> systemctl restart httpd
> netstat -lnpt|grep httpd
# 使用restorecon来恢复SELinux文件属性即恢复文件的安全上下文
> restorecon -Rv /var/www/html/
# 为/var/www/html/下的三个文件设置SELinux安全上下文
> chcon -t httpd_sys_content_t file*

注意事项:SELinux考试全程必须开启,否则RHCSA直接全部0分。

第四题:创建用户账户

RHCSA node1 4
# 创建用户组
> groupadd sysmgrs
# 创建用户并给用户附加一个组
> useradd natasha -G sysmgrs
> useradd harry -G sysmgrs
# 创建用户并指定用户不能登录到终端
> useradd sarah -s /sbin/nologin
# 明文设置用户密码
> echo "flectrag" | passwd --stdin natasha
> echo "flectrag" | passwd --stdin harry
> echo "flectrag" | passwd --stdin sarah

注意事项:考试时要新建的用户组、用户名和密码都是随机的;其他没啥好注意的,尽量复制粘贴,别建错名了,别设错密码了;有手就行。

第五题:配置cron定时任务作业

RHCSA node1 5
# 查看服务是否为开机自启状态
> systemctl status crond
# 创建natasha的计划任务
> crontab -e -u natasha
> <a>
  */2 * * * * logger "EX200 in progress"
  23 14 * * * logger "EX200 in progress"
> <esc>
> :wq
> <enter>
# 检查
# crontab -u natasha -l

注意事项:尽量复制粘贴;考试中可能执行周期不一样,按要求写就行。

第六题:创建协作目录(设置目录权限)

RHCSA node1 6
# 创建managers文件夹
> mkdir /home/managers
# 改变文件夹的属组
> chown :sysmgrs /home/managers
# 修改用户对文件夹使用权限,2为赋予sgid隐藏权限
> chmod 2770 /home/managers
# 检查文件夹是设置否成功
> ll -d /home/managers

注意事项:没啥好注意的,我在这题没有踩过坑。

第七题:配置NTP客户端

RHCSA node1 7
# 检查chronyd服务运行情况
> systemctl status chronyd
# 编辑配置文件
> vim /etc/chrony.conf
> <a>
  ...
  server materials.example.com iburst
  ...
> <esc>
> :wq
> <enter>
# 重启chronyd服务
> systemctl restart chronyd

注意事项:考试时NTP服务器是考试服务器,会在考试需要的配置信息页面找到相关信息;尽量复制粘贴避免出错。

第八题:配置autofs

RHCSA node1 8
# 安装autofs挂载文件系统服务
> yum -y install autofs
# autofs主配置文件
> vim /etc/auto.master
> <a>
  ...
  /rhome /etc/auto.rhome
  ...
> <esc>
> :wq
> <enter>
# 配置子配置文件按照“挂载目录 挂载文件类型及权限 :设备名称”的格式进行填写,可以参考"/etc/auto.misc"的格式
# vim /etc/auto.rhome
> <a>
  ...
  remoteuser1 -rw,sync 172.25.254.254:/rhome/remoteuser1
  #另一种写法:
  remoteuser1 -rw,sync materials.example.com:/rhome/remoteuser1
  ...
> <esc>
> :wq
> <enter>
#重启服务并设置开机自启
> systemctl restart autofs
> systemctl enable autofs
# 检查是否部署完成
> su - remoteuser1
> pwd
> df -Th

注意事项:auto.rhome文件中rw前面不要忘了有个”-“(我曾经因为漏了这个横杠,排障20分钟);remoteuser1的密码可能在考试时不一样(会在考试需要的配置信息页面找到相关信息);其次尽量复制粘贴避免出错,做完要重启检查。

第九题:配置/var/tmp/fstab权限(文件权限和ACL访问控制)

RHCSA node1 9
# 拷贝fstab文件
> cp /etc/fstab /var/tmp
# 查看文件是否拷贝成功
> ls -lh /var/tmp/fstab
# 查看acl基本权限
> getfacl /var/tmp/fstab6/21
# 设置acl基本权限
> setfacl -m u:natasha:rw /var/tmp/fstab
> setfacl -m u:harry:- /var/tmp/fstab
# 查看acl基本权限
> getfacl /var/tmp/fstab

注意事项:没啥好注意的,我在这题没有踩过坑。

第十题:配置用户账户

RHCSA node1 10
# 创建manalo用户并设置uid为3533
> useradd manalo -u 3533
> echo "flectrag" | passwd --stdin manalo

注意事项:要求的用户名和密码可能在考试时不一样,会在考试需要的配置信息页面找到相关信息,其他没啥注意的。

第十一题:查找文件

RHCSA node1 11
# 先创建一个存放jacques用户所有文件的文件夹
> mkdir /root/findfiles
# 使用find文件搜索命令查找用户文件并拷贝到刚创建的文件夹中
> find / -user jacques -exec cp -a {} /root/findfiles \;

注意事项:使用命令,该命令的格式必须要有”{}”和”\;”;记不住命令的查找完自己一个一个cp也可以;其他没啥好注意的。

第十二题:查找字符串(查找文件内内容)

RHCSA node1 12
# 使用grep命令限制需要查找的内容,如果内容没有特殊符号可以不用加引号
> grep "ng" /usr/share/xml/iso-codes/iso_639_3.xml > /root/list

注意事项:考试时要求查找的字符串和文件路径可能和练习环境不一样,会在考试题目中找到相关信息;其他没啥好注意的。

第十三题:创建存档(创建压缩文件)

RHCSA node1 13
# tar打包并压缩文件(要求tar.gz归档)
> tar -czvf /root/backup.tar.gz /usr/local
# tar打包并压缩文件(要求tar.bz2归档)
> tar -cjvf /root/backup.tar.bz2 /usr/local
# 检查是否打包压缩成功(要求tar.gz归档)
> file /root/backup.tar.gz
# 检查是否打包压缩成功(要求tar.bz2归档)
> file /root/backup.tar.bz2

注意事项:两种归档格式方法都要会,考试随机考一个,其他没啥好注意的。

(随机附加题,随机考不考):添加sudo免密码操作

RHCSA node1 sudo
# 编辑/etc/sudoers配置文件,进入第110行
> vim /etc/sudoers +110
> <y><y>
> <p>
> <a>
  ...
  # %wheel ALL=(ALL) NOPASSWD: ALL
  %sysmgrs ALL=(ALL) NOPASSWD: ALL
  ...
# 组名改成sysmgrs ↑
> <esc>
> :wq
> <enter>

注意事项:附加题这题很简单,没啥好注意的。

(随机附加题,随机考不考):配置创建新用户的密码策略(密码过期时间)

RHCSA node1 Password
编辑/etc/login.defs新建用户策略文件,进入第25行
> vim /etc/login.defs +25
> <a>
  ...
  PASS_MAX_DAYS 20
  ...
> <esc>
> :wq
> <enter>

注意事项:附加题很简单,没啥好注意的。

(随机附加题,随机考不考):欢迎语

登录到用户后提示一句欢迎语’hello word !’,或在用户在登陆前显示欢迎语提示

# 登陆后欢迎语:重定向欢迎语写入到/etc/motd
> echo 'hello word !' >> /etc/motd
# 登录前欢迎语:重定向欢迎语写入到/etc/issue
> echo 'hello word !' >> /etc/issue

注意事项:登录到系统检查,附加题很简单,没啥好注意的。

(随机附加题,随机考不考):设置用户默认创建文件umask

用户natasha默认创建文件权限为r–r–r–默认创建的目录为r-xr-xr-x

> su - natasha
# 把umask写进用户家目录下的bashrc
> echo 'umask 222'>>.bashrc

注意事项:考试时要求的用户和权限可能不一样,会在考试题目中找到相关要求信息,附加题和简单,没什么特别注意的。

(随机附加题,随机考不考):为一个用户新建一条命令

为testtest用户(记不清了,随便写一个)新建一条ex200命令,运行此命令输出”This is RHCSA!”。

> su - testtest
> echo 'alias ex200="echo This is RHCSA!"'>>~/.bash

注意事项:我考试时遇到的附加题就是这题,并且在这题卡了20分钟才做出来,这题目比较坑人,按理说大家新建一条命令都是新建一个shell脚本文件去/usr/local/bin/下面,但这个目录下面已经有一个”ex200″,运行后输出的内容不是题目要求的,但这个文件不能去动(无权限),所以只好去要求的用户的~/.bash里面写一个alias单独为这个用户定义一条命令,这也刚好符合题目要求(为这个用户单独定义一条命令)。

node1 podman 容器题

RHCSA node1 podman
# 考试前先检查node1有没有临时日志信息
> ssh root@node1
> ll -d /run/log/journal
  drwxr-sr-x. 3 root systemd-journal 60 Mar 24 17:56 /run/log/journal
# 没有就创建
> mkdir /var/log/journal
> chown root:systemd-journal /var/log/journal
> chmod 2755 /var/log/journal
> systemctl restart systemd-journald
> cp /var/log/journal/*/system.journal /home/walhalla/container_logfile/
> chown -R wallah ~wallah
> ll -Z /home/wallah/container_logfile/
# 设置用户密码,知道密码可以不用
> echo redhat|passwd --stdin wallah
# 设置容器永久化
> vim /etc/systemd/journald.conf
  ...
  Storage=auto
  ..
# 改为
  ...
  Storage=persistent
  ...
> ssh wallah@node1
# 登录到仓库
> podman login registry.lab.example.com
> admin
> redhat321
# 搜索镜像
> podman search registry.domain250.example.com/
  INDEX NAME DESCRIPTION STARS
  OFFICIAL AUTOMATED
  ...
  example.com registry.domain250.example.com/rhel8/rsyslog 0
  ...
> podman run -d --name logserver -v /home/wallah/container_logfile:/var/log/journal:Z registry.domain250.example.com/rhel8/rsyslog
# 停掉容器
> podman stop logserver
> /.config/systemd/user
# 检查systemd的状态
> loginctl enable-linger
> loginctl show-user wallah
# 创建存放进程目录
> mkdir -p ~/.config/systemd/user/
> cd ~/.config/systemd/user/
# 生成一个进程
> podman generate systemd -n logserver -f
> systemctl --user enable --now container-logserver
> systemctl --user status container-logserver
# 执行容器语句
> podman exec logserver ls /var/log/journal
  system.journal
  user-1004.journal
> podman exec logserver logger -p authpriv.info suibian

第二部分:在node2虚拟系统上完成以下任务:

第一题:设置root密码(救援模式强制更改root密码)

RHCSA node2 1
# 重启系统,并在引导界面操作
> <↑>+<e>
  ...
  linux...<space>rd.break console=tty0
  ...
> <ctrl>+<x>
# 等待
# 重新挂载/目录
> mount -o rw,remount /sysroot
# 进入/目录
> chroot /sysroot
# 设置root密码
> echo "flectrag"|passwd --stdin root
# 在根目录下创建重新刷新SELinux 安全上下文标记的文件
> touch /.autorelabel
# 退出重启系统
> exit
> reboot

注意事项:touch / 是先写 / 记住了! touch /.autorelabel | 重启之后会卡一阵,不要慌,等5分钟。

第二题:配置系统使用默认存储库(配置yum源):

RHCSA node2 2
# 直接把repo文件从node1复制过来
> scp root@node1:/etc/yum.repos.d/*.repo /etc/yum.repos.d/

注意事项:能复制就复制,别手动敲,其他没啥好注意的。

第三题:调整逻辑卷大小

RHCSA node2 3
# 查看需要调整的逻辑卷所挂载的路径和现有的大小、名字
> lvscan
# 查看卷组的容量有多大
> vgs
# 使用lvm逻辑卷扩容
> lvextend -L 230M /dev/myvol/vo
# 检查lvm大小是否符合
> lvscan
# 重新扩容过的文件系统(ext4文件系统)
> resize2fs /dev/myvol/vo
# 重新扩容过的文件系统(xfs文件系统)
> xfs_growfs /dev/myvol/vo

注意事项:df -Th 查看你需要调整的是什么文件系统,然后再用什么命令,注意xfs文件系统调整命令 后面不能跟块设备,跟文件系统路径,两种文件系统的命令都要会。

第四题:添加交换分区(swap)

RHCSA node2 4
# lsblk
# fdisk /dev/vdb
  ...
  Command (m for help): <n>
  ...
  Select (default p): <enter>
  ...
  Partition number (3,4, default 3): <enter>
  First sector (2095106-8388607, default 2097152): <enter>
  Last sector, +sectors or +size{K,M,G,T,P} (2097152-8388607, default 8388607): +756M
  ...
  Command (m for help): <w>
  ...
> mkswap /dev/vdb3
> vim /etc/fstab
  ...
  /dev/vdb3 swap swap defaults 0 0
  ...
> swapon -a
> swapon

注意事项:fstab里面写swap文件的绝对路径。挂载swap分区时,先使用free -h看swap分区大小。

第五题:创建逻辑卷

RHCSA node2 5
> fdisk /dev/vdb
  ...
  Command (m for help): <n>
  ...
  Select (default e): <p>
  Selected partition 4
  First sector (2095106-8388607, default 3645440): <enter>
  Last sector, +sectors or +size{K,M,G,T,P} (3645440-8388607, default 8388607): <enter>
  ...
  Command (m for help): `w`
  ...
> pvcreate /dev/vdb4
> vgcreate -s 16M qagroup /dev/vdb4
> lvcreate -l 60 -n qa qagroup
> mkfs.ext3 /dev/qagroup/qa
> mkdir /mnt/qa
> vim /etc/fstab
  ...
  /dev/qagroup/qa /mnt/qa ext3 defaults 0 0
> mount -a

注意事项:考试时,只有一个未使用,未分区的全新磁盘vdc,这全新的磁盘只能在做vdo的时候使用,所以,创建逻辑卷,必须在vdb上进行分区。

第六题:创建vdo卷

RHCSA node2 6
> man vdo | grep vdo.*create
> vdo create --name=vdough --device=/dev/vdc --vdoLogicalSize=50G
  ...
  VDO instance 0 volume is ready at `/dev/mapper/vdough`
> mkfs.xfs /dev/mapper/vdough
> udevadm settle
> mkdir /vbread
> vim /etc/fstab
  ...
  /dev/mapper/vdough /vbread xfs _netdev 0 0
> mount -a

注意事项:用全新的磁盘 ,lsblk查看磁盘,x-systemd.requires=vdo.service 一定要加,并且重启检查,vdo做错会导致机器无法启动0分,假如真的发生了无法启动的情况,用第一题破解密码的方式进入救援模式,编辑fstab,看看哪里写错。

第七题:配置系统调优

RHCSA node2 7
# 安装工具
> yum -y install tuned
# 重启并设置开机自启
> systemctl restart tuned --now
# 查看可使用的配置文件
> tuned-adm list
# 设置profile为推荐值
> tuned-adm profile virtual-guest
# 设置确认
> tuned-adm active

注意事项:profile改了之后,注意要active,这题很简单,没啥好注意的。


RHCE题目及可以着重注意的事项和题目。

待更新(懒,但国庆假期前肯定更完)

2022Oct07凌晨更新:这篇考试笔记鸽了,但尽量尽快更新。阿巴阿巴。(一下子新建了6篇文章草稿,开坑写别的文章去了)

发表评论