RHCSA 9版本考试要求
01.配置网络设置
将node1配置为具有以下网络配置:
解题方法:
# 通过控制台连接 servera 进行IP修改,然后使用ip addr命令进行检查,
# 没问题之后,ssh到 servera 进行主机名修改,这样的话可以复制主机名,避免打错
[root@clear ~] nmcli con show
[root@clear ~] nmcli con mod '?卡配置名' ipv4.method manual ipv4.addresses 172.25.0.25/24 ipv4.gateway 172.25.0.254 ipv4.dns 172.25.0.254 autoconnect yes
[root@clear ~] nmcli con up '?卡配置名'
[root@clear ~] ip a
[root@clear ~] ssh root@172.25.250.100
[root@clear ~] hostnamectl set-hostname red.lab0.example.com
# 检查
[root@node1 ~] ip a //查看IP是否正确
[root@node1 ~] hostname //查看主机名是否正确
02.配置您的系统以使用默认存储库
配置您的系统以使用默认存储库
解题方法:
[root@node1 ~]# vim /etc/yum.repos.d/rhcsa.repo
[Base]
name=Base
baseurl=http://content/rhel9.0/x86_64/dvd/BaseOS
enabled=1
gpgcheck=no
[App]
name=App
baseurl=http://content/rhel9.0/x86_64/dvd/AppStream
enabled=1
gpgcheck=no
# 检查
[root@node1 ~]# yum repoinfo
[root@node1 ~]# yum -y install vsftpd
03.调试 SELinux
调试 SELinux
非标准端口82上运行的 Web 服务器在提供内容时遇到问题。根据需要调试并解决问题,使其满足以下条件:
解题方法:
# 查看哪一个安装包提供了semanage命令
[root@node1 ~]# yum provides "*/semanage"
# 安装semanage命令
[root@node1 ~]# yum -y install policycoreutils-python-utils
[root@node1 ~]# semanage port -l |grep http
[root@node1 ~]# semanage port -a -t http_port_t -p tcp 82
# 也可以使用man semanage port,然后/EXAMPLE。
[root@node1 ~]# systemctl restart httpd
[root@node1 ~]# systemctl enable httpd
# 验证,出现源码即正确(必做操作)
[root@node1 ~]# curl http://node1.domain250.example.com:82
04.创建用户帐户
创建用户帐户
创建下列用户,并确保启用复选框:
解题方法:
[root@node1 ~]# groupadd sysmgrs
[root@node1 ~]# useradd -G sysmgrs natasha
[root@node1 ~]# useradd -G sysmgrs harry
[root@node1 ~]# useradd -s /bin/false sarah
[root@node1 ~]# echo tianyun |passwd --stdin natasha
[root@node1 ~]# echo tianyun |passwd --stdin harry
[root@node1 ~]# echo tianyun |passwd --stdin sarah
05.配置 cron 作业
配置 cron 作业
配置 cron 作业,以用户名 harry 自动每天 14:23 执行 /usr/bin/echo hello
解题方法:
[root@node1 ~]# systemctl status crond
[root@node1 ~]# systemctl enable crond
[root@node1 ~]# crontab -e -u harry
23 14 * * * /usr/bin/echo hello
# 检查
[root@node1 ~]# crontab -l -u harry
06.创建协作目录
创建具有以下特征的共享目录 /home/managers :
解题方法:
[root@node1 ~]# mkdir /home/managers
[root@node1 ~]# chgrp sysmgrs /home/managers
[root@node1 ~]# chmod 2770 /home/managers
# 检查
[root@node1 ~]# ll -d /home/managers
07.配置NTP
配置NTP
配置你的系统,使其同步 materials.example.com 的 NTP 服务器。(注:materials.example.com 是classroom.example.com 的 DNS 别名)
解题方法:
# 安装chrony服务,用来配置ntp服务器
[root@node1 ~]# yum -y install chrony
[root@node1 ~]# vim /etc/chrony.conf
server materials.example.com iburst
[root@node1 ~]# systemctl restart chronyd
[root@node1 ~]# systemctl enable chronyd
# 检查
# 随便设置一个时间
[root@node1 ~]# date -s "1982-1-1"
Fri Jan 1 12:00:00 AM EST 1982
# 重启ntp服务器
[root@node1 ~]# systemctl restart chronyd
# 查看时间是否同步。
# 隔3-5秒执行,太快了时间不会同步
[root@node1 ~]# date
Tue Dec 12 11:40:19 PM EST 2023
# 使用chronyc命令查看同步状态。
[root@node1 ~]# chronyc sources -v
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* classroom.lab.example.com 8 6 17 42 -14us[ -11us] +/- 463us
08.配置autofs
配置autofs
配置 autofs,以按照如下所述自动挂载远程用户的主目录:
解题方法:
# 前期准备(考试不需要操作)
# 返回到foundation0中,远程classroom,创建remoteuser1用户和创建目录。
# 不然后面测试autofs挂载情况有问题。
[kiosk@foundation0 ~]$ ssh root@classroom 'useradd -u 1010 remoteuser1 && mkdir -p /rhome/remoteuser1 && chown remoteuser1: /rhome/remoteuser1'
# 安装nfs和autofs
[root@node1 ~]# yum -y install nfs-utils autofs
[root@node1 ~]# vim /etc/auto.master
/rhome /etc/auto.rhome
[root@node1 ~]# vim /etc/auto.rhome
remoteuser1 -rw materials.example.com:/rhome/remoteuser1
[root@node1 ~]# systemctl enable --now autofs
# 检查
[root@node1 ~]# ll /rhome/
[root@node1 ~]# ssh remoteuser1@localhost
remoteuser1@localhost\'s password: `flectrag`
$ pwd
/rhome/remoteuser1
$ touch my.file
$ mount | grep rhome
...
materials.example.com:/rhome/remoteuser1 on /rhome/remoteuser1 type nfs4 (`rw`,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.25.250.100,local_lock=none,addr=172.25.254.254)
09.配置用户帐号
配置用户帐号
配置用户 manalo,其用户 ID 为 3533。此用户的密码应为 flectrag。
解题方法:
[root@node1 ~]# useradd -u 3533 manalo
[root@node1 ~]# echo flectrag | passwd --stdin manalo
10.查找文件
查找文件
查找到 jacques 所有的所有文件并移到根目录下的 /root/findfiles 目录
解题方法:
[root@node1 ~]# mkdir /root/findfiles
[root@node1 ~]# find / -user jacques
[root@node1 ~]# find / -user jacques -exec cp -a {} /root/findfiles \;
# 检查
[root@node1 ~]# ll /root/findfiles/
11.查找字符串
查找字符串
解题方法:
[root@node1 ~]# grep ng /usr/share/xml/iso-codes/iso_639_3.xml
[root@node1 ~]# grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list
# 检查
[root@node1 ~]# cat /root/list
12.创建存档
创建一个名为 /root/backup.tar.bz2 的 tar 存档,其应包含 /usr/local 的 tar 存档,其应包含/usr/local 的内容。该 tar 存档必须使用bzip2进行压缩。
解题方法:
[root@node1 ~]# yum -y install bzip2
[root@node1 ~]# tar -jcvPf /root/backup.tar.bz2 /usr/local
# 验证
[root@node1 ~]# file /root/backup.tar.bz
13.创建一个容器镜像
创建一个容器镜像
解题方法:
# 安装容器管理工具
[root@node1 ~]# dnf -y install container-tools
# 使用wallah用户执行操作
[root@node1 ~]# ssh wallah@localhost
# 下载容器构建文件
[wallah@node1 ~]# wget http://classroom/Containerfile
# 登录镜像仓库
[wallah@node1 ~]# podman login -u admin -p redhat321 registry.lab.example.com
# 使用当前目录的 Containerfile 构建容器镜像,镜像名称为 pdf
[wallah@node1 ~]# podman build -t pdf .
# 查看镜像
[wallah@node1 ~]$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/pdf latest 1d6e7ea71460 31 seconds ago 300 MB
registry.lab.example.com/ubi9-beta/ubi latest 28b0a4b69d9b 2 years ago 229 MB
14.将容器配置为服务
将容器配置为服务
解题方法:
# 注意,下面操作必须通过wallah用户ssh远程登录到本机操作
[root@node1 ~]# ssh wallah@localhost
# 准备相关的映射目录
[wallah@node1 ~]$ sudo mkdir /opt/{file,progress}
[wallah@node1 ~]$ sudo chown wallah:wallah /opt/{file,progress}
# 启动容器并映射目录
# 映射目录的 :Z 表示更改目录的SELINUX安全上下文,能让容器访问。
[wallah@node1 ~]$ podman run -d --name ascii2pdf -v /opt/file:/dir1:Z -v /opt/progress:/dir2:Z pdf
[wallah@node1 ~]$ podman ps -a
# 创建systemd服务?件
[wallah@node1 ~]$ mkdir -p ~/.config/systemd/user
[wallah@node1 ~]$ cd ~/.config/systemd/user/
[wallah@node1 ~]$ podman generate systemd -n ascii2pdf -f --new
[wallah@node1 user]$ ll
total 4
-rw-r--r--. 1 wallah wallah 770 Dec 13 01:07 container-ascii2pdf.service
# 暂停 并 删除现有的 ascii2pdf 容器
[wallah@node1 ~]$ podman stop ascii2pdf
[wallah@node1 ~]$ podman rm ascii2pdf
[wallah@node1 ~]$ podman ps -a
# 启用并启动container-ascii2pdf服务
[wallah@node1 ~]$ systemctl --user daemon-reload
[wallah@node1 ~]$ systemctl --user enable --now container-ascii2pdf
# 查看容器状态
[wallah@node1 ~]$ systemctl --user status container-ascii2pdf
[wallah@node1 ~]$ podman ps
# node1节点,切换到root用户执行下面操作
# 确保 wallah 用户的服务在系统启动时启动
[root@node1 ~]# loginctl enable-linger
[root@node1 ~]# loginctl show-user wallah
# 检查,测试容器是否开机自启(必做操作)
[root@node1 ~]# reboot
[root@node1 ~]# ssh wallah@node1
[wallah@node1 ~]# podman ps
15.添加sudo权限配置
添加sudo权限配置
解题方法:
[root@node1 ~]# visudo
...
%wheel ALL=(ALL) NOPASSWD: ALL
%sysmgrs ALL=(ALL) NOPASSWD: ALL
# 检查(必做操作)
[root@node1 ~]# su - natasha
[natasha@node1 ~]# sudo cat /etc/shadow
16、设置 root 密码
将 node2 的 root 密码设置为 redhat。你需要获得系统访问权限才能进行此操作。
解题方法:
***重启 node2 机器,等待如图1所示页面,按e进?图2页面,原配置如图所示。修改原配置为红色框选部分,如图?所示,然后按ctrl+x,执行以下命令
# chroot /sysroot
# echo redhat |passwd --stdin root
# touch /.autorelabel
# sync
# exit
# reboot
17.配置您的系统以使用默认存储库
配置您的系统以使用默认存储库
解题方法:
方法一:
# 将node1的yum配置文件复制过来。
[root@node2 ~]# scp root@node1:/etc/yum.repos.d/rhcsa.repo /etc/yum.repos.d/
方法二:
[root@node2 ~]# vim /etc/yum.repos.d/rhcsa.repo
[Base]
name=Base
baseurl=http://content/rhel9.0/x86_64/dvd/BaseOS
enabled=1
gpgcheck=no
[App]
name=App
baseurl=http://content/rhel9.0/x86_64/dvd/AppStream
enabled=1
gpgcheck=no
# 检查
[root@node2 ~]# yum repoinfo
[root@node2 ~]# yum -y install ftp
18.调整逻辑卷大小
ext4 使用 resize2fs 立即生效;
xfs 使用 xfs_growfs 立即生效
解题方法:
# 扫描逻辑卷
[root@node2 ~]# lvscan
# 扩展逻辑卷。-rL 扩展卷之后,会立刻将文件系统空间调整。
[root@node2 ~]# lvextend -rL 300M /dev/myvol/vo
[root@node2 ~]# lsblk
[root@node2 ~]# lvs
# 检查
[root@node2 ~]# df -h
19.添加交换分区
向您的系统添加一个额外的交换分区512MiB。交换分区应在系统启动时自动挂载。不要删除或以任何方式改动系统上的任何现有交换分区。
解题方法:
[root@node2 ~]# lsblk
[root@node2 ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
Command (m for help): n
Partition number (3-128, default 3):
First sector (1476608-10485726, default 1476608):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1476608-10485726, default 10485726): +512M
Created a new partition 3 of type 'Linux filesystem' and of size 512 MiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
[root@node2 ~]# mkswap /dev/vdb3
[root@node2 ~]# vim /etc/fstab
/dev/vdb3 swap swap defaults 0 0
[root@node2 ~]# swapon -a
[root@node2 ~]# swapon
NAME TYPE SIZE USED PRIO
/dev/vdb2 partition 243M 0B -2
/dev/vdb3 partition 512M 0B -3
20.创建逻辑卷
根据如下要求,创建新的逻辑卷:
解题方法:
[root@node2 ~]# lsblk
[root@node2 ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n //添加新分区
Partition type
p primary (1 primary, 0 extended, 3 free) //主分区
e extended (container for logical partitions) //扩展分区
Select (default p): p
Partition number (2-4, default 2): 回车
First sector (1026048-20971519, default 1026048): 回车
***此处,分区大小,必须大于总大小,不可以刚好等于,建议多200M
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-20971519, default 20971519): +1200M //分区大小
Created a new partition 2 of type 'Linux' and of size 512 MiB.
Command (m for help): w //保存退出
The partition table has been altered.
Syncing disks.
[root@node2 ~]# vgcreate -s 16M myvg /dev/vdb4
[root@node2 ~]# lvcreate -l 50 -n mylv myvg
# 安装vfat
[root@node2 ~]# yum provides */mkfs.vfat
[root@node2 ~]# yum -y install dosfstools
[root@node2 ~]# mkfs.vfat /dev/myvg/mylv
[root@node2 ~]# mkdir /mnt/mydata
[root@node2 ~]# vim /etc/fstab
/dev/myvg/mylv /mnt/mydata vfat defaults 0 0
[root@node2 ~]# mount -a
21.配置系统调优
为您的系统选择建议的tuned配置集并将它设为默认设置。
解题方法:
# 安装并启用tuned
[root@node2 ~]# yum -y install tuned
[root@node2 ~]# systemctl enable tuned
[root@node2 ~]# systemctl restart tuned
# 查看系统建议的配置方案
[root@node2 ~]# tuned-adm recommend
virtual-guest
# 切换到指定的配置方案
[root@node2 ~]# tuned-adm profile virtual-guest
# 查看当前的配置方案
[root@node2 ~]# tuned-adm active
Current active profile: virtual-guest