rhcsa

RHCSA8

重要配置信息 在考试期间,除了您就坐位置的台式机之外,还将使用多个虚拟系统。您不具有台式机系统 的根访问权,但具有对虚拟系统的完全根访问权。

系统信息

练习环境使用 node1.domain8.rhce.cc node2.domain8.rhce.cc 您使用的系统属于 DNS 域 domain8.rhce.cc。

该域中的所有系统都位于 172.25.250.0/255.255.255.0 子网中,该子网中的所有系统都位 于 domain8.rhce.cc 中。

针对这些系统列出的 IP 地址是应该分配给系统的地址。您可能需要为一个或两个系统配置 网络,以便能够通过上述地址访问您的地址。

帐户信息

root 的根密码已经设置为 redhat 。 除非另有指定,否则这将是用于访问其他系统和服务的密码。此外,除非另有指定,否则应 将该密码用于您创建的什么问题帐户或者需要设置密码的任意服务。

其他信息

您可以通过 SSH 或控制台访问考试系统(参见下文所述)。请注意,SSH 访问权可能取决 于您解答其他考试项目的情况。 如果您需要在系统上安装其他软件,可以使用位于以下地址的存储库:

ftp://host.domain8.rhce.cc/dvd/BaseOS

ftp://host.domain8.rhce.cc/dvd/AppStream

注册表访问

该考试中的某些项目可能需要注册表中的容器镜像,注册表可以在以下位置找到

host.domain8.rhce.cc要访问此注册表,您需要注册表用户bosai身份使用密码redhat登录。

重要评测信息 您的系统会在重新引导后进行评测,因此务必确保您实施的的所有配置和服务在重新引导后 仍然保留。服务必须在没有人工干预的情况下启动。 同样,本次考试使用的所有虚拟实例都必须 能够重新引导至适当的多用户目标,而无需任 何人工辅助。在无法引导或无法进行无人干预引导的系统上完成的所有操作都将为零分。


RHCSA8 的的实验环境共需要在两台虚拟机上完成:
node1.domain8.rhce.cc 172.25.250.10/24
node2.domain8.rhce.cc 172.25.250.11/24

在 node1.domain8.rhce.cc 上完成如下实验:

  • 按要求配置网络

  • 给系统配置默认的存储库

  • 配置 SELinux 创建用户

  • 配置 crontab

  • 按要求创建目录 配置 NTP

  • 配置 autofs

  • 配置/var/tmp/fstab 权限

  • 配置用户账户

  • 查找文件

  • 查找字符串

  • 创建归档

  • 创建容器

  • 创建持久化存储容器

  • 配置应用

  • 配置提权

在 node2.domain8.rhce.cc 上完成如下实验:

  • 重置 root 密码

  • 配置系统使用默认的存储库

  • 调整逻辑卷的大小

  • 创建交换分区

  • 创建逻辑卷

  • 创建 VDO 卷

  • 配置系统调优

EX200

在 node1.domain8.rhce.cc 上完成以下实验:

1. 配置网络设置

在 node1 上配置网络,要求如下:
主机名:node1.domain8.rhce.cc
IP地址: 172.25.250.10/24 ##注意掩码
网关: 172.25.250.250
DNS: 172.25.250.250 ##名称服务器

2. 配置 yum/dnf 置您的系统以使用默认存储库

给系统配置默认存储库,要求如下:
YUM 的 两 个 存 储 库 的 地 址 分 别 是 :

ftp://host.domain8.rhce.cc/dvd/BaseOS
ftp://host.domain8.rhce.cc/dvd/AppStream
可配置于同一文件,文件名无所谓,后缀必须是.repo

vim  /etc/yum.repos.d/aaaaaaa.repo
[aaaa]
name=aa
baseurl=ftp://host.domain8.rhce.cc/dvd/BaseOS
gpgcheck=0
[bbbb]
name=bb
baseurl=ftp://host.domain8.rhce.cc/dvd/AppStream
gpgcheck=0

3. 调试 SELinux

非标准端口 82 上运行的 WEB 服务器在提供内容时遇到问题。根据需要调试并解决问题, 并使其满足以下条件:
系统上的 web 服务器能够提供/var/www/html 中所有现在有的 html 文件(注意:不 要删除或者其他方式改动现有的文件内容)
Web 服务器通过 82 端口访问
Web 服务器在系统启动时自动启动

firewall-cmd --permanent --add-port=82/tcp 
firewall-cmd --reload
ls -ldZ /var/www/html
semanage port -a -t http_port_t -p tcp 82
semanage fcontext -a -t httpd_sys_content_t “/var/www/html(/.*)?”
restorecon -Rv /var/www/html/
##########以上两行可替换为chcon -Rt httpd_sys_content_t /var/www/html/
systemctl enable httpd
systemctl restart httpd

4. 创建用户账户

创建下列用户、用户祖,并按要求完成设置: 组名为 sysmgrs
natasha 用户的附属组是 sysmgrs
harry 用户的附属组是 sysmgrs
john 用户的 shell 是非交互式 shell,且不是 sysmgrs 组的成员
natasha、harry、john 的密码是 redhat

groupadd     sysmgrs
useradd -G sysmgrs natasha
useradd -G sysmgrs harry
useradd -s /sbin/nologin john
echo "redhat" | passwd --stdin natasha
echo "redhat" | passwd --stdin harry
echo "redhat" | passwd --stdin john

5. 配置 crontab 作业

配置 cron 作业,该作业每隔 3 分钟运行并执行以下命令:
logger “EX200 in progress”,以用户 natasha 身份运行

crontab   -u  natasha  -e
*/3 * * * * logger "EX200 in progress"

6. 创建协作目录

创建具有特殊权限的目录/home/managers,要求如下:
/home/managers 目录属于 sysmgrs 组
此目录可以被 sysmgrs 的组成员读取、写入和访问,但是其他任何用户不具备这些权限。
(不包括 root 用户)
在/home/managers 目录中创建的文件的所属组自动变成 sysmgrs 组。

mkdir /home/managers
chown :sysmgrs /home/managers
chmod 2770 /home/managers

7. 配置 NTP

配置 node1作为NTP的客户端,跟时间服务器 host.domain8.rhce.cc 同步时间。

yum  install   chrony   -y
systemctl enable chronyd
vim /etc/chrony.conf
server host.domain8.rhce.cc iburst
systemctl restart chronyd

8. 配置 autofs

配置 autofs,按照以下要求自动挂载远程用户的家目录,要求如下:
host.domain8.rhce.cc ( 172.25.250.250 ) NFS 导出 /rhome 到您的系统。此文件系统包含 为用户 remoteuser1 预配置的主目录
remoteuser1 的主目录是 host.domain8.rhce.cc:/rhome/remoteuser1

remoteuser1 的主目录应自动挂载到本地 /rhome 下的 /rhome/remoteuser1

主目录必须可供其用户写入
remoteuser1 的密码是 redhat

yum  install  autofs -y
systemctl enable autofs
vim /etc/auto.master
/rhome /etc/auto.misc ##添加这个
vim /etc/auto.misc
remoteuser1 -rw host.domain8.rhce.cc:/rhome/remoteuser1
systemctl restart autofs
echo "redhat" | passwd --stdin remoteuser1

9. 配置/var/tmp/fstab 权限

配置文件权限,将文件/etc/fstab 复制到/var/tmp/fstab。配置/var/tmp/fstab 的权限以满足 如下条件:
/var/tmp/fstab 属于 root 用户和 root 组
/var/tmp/fstab 不能被任何人执行
用户 natasha 有读写权限
用户 harry 没有读写权限 所有其他用户(当前或者未来)能够读取/var/tmp/fstab

cp /etc/fstab /var/tmp/fstab
chmod a-x,o+r /var/tmp/fstab
setfacl -m u:natasha:rw /var/tmp/fstab
setfacl -m u:harry:- /var/tmp/fstab

10. 配置用户账户

配置用户 manalo ,其用户 ID 为 4777。此用户的密码应当为 redhat

useradd  -u   4777  manalo
echo "redhat" | passwd --stdin manalo

11. 查找文件

查找属于 jacques 用户所属的文件,并拷贝到/root/findfiles 目录

mkdir /root/findfiles
find / -type f -user jacques -exec cp {} /root/findfiles/ \;
#####可用find / -type f -user jacques先查找,然后再做复制

12. 查找字符串

查找文件/usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。并将所有这 些行的内容放到文件/root/list 中,/root/list 不得包含空行。

grep "ng" /usr/share/xml/iso-codes/iso_639_3.xml >/root/list

13. 创建归档

创建一个名为/root/backup.tar.gz 的 tar 包,用来压缩/usr/local 目录,使用gzip压缩。

tar  -czf /root/backup.tar.gz /usr/local

14. 配置容器以使其自动启动

配置容器
利用注册表服务器上的rsyslog-custom-cert镜像,创建一个名为 logserver 的容器。
将其配置为以systemd服务的形式运行,且仅面向现有用户william。
该服务应命名为 container-logserver ,并应在系统重新引导后自动启动,而无需任何手动干预。

ssh  william@127.0.0.1
podman login -u bosai host.domain8.rhce.cc
podman search rsyslog-custom-cert
podman pull host.domain8.rhce.cc/rhel8/rsyslog-custom-cert
podman images
podman create -d --name logserver rsyslog-custom-cert
容器名称 镜像名称
podman ps -a
查看容器名称
mkdir -p .config/systemd/user/
创建服务目录
cd .config/systemd/user/
到服务目录中
podman generate systemd --name logserver --files
生成服务文件
vim container-logserver.service ###############查看文件中最后一行的末尾是否有default.target
如没有,需要添加到multiuser.target的后边,注意空格。形成如下结构
[Install]
WantedBy=multi-user.target default.target


systemctl --user daemon-reload
重载服务
systemctl --user enable --now container-logserver.service
开机自启并设置
loginctl enable-linger william
exit 退出到root用户,回到root用户############此时还是在node1
验证方式,等待十秒后输入ps -u william ####前提时前边的--now选项已输入,
如果未输入,重启虚拟机后再输入ps -u william查看是否存在服务rsyslogd

15. 容器配置持久存储

容器配置持久存储
将在上一项任务中创建的容器服务配置为使用持久存储,如下所示:
在主机/home/william下创建名为container_journal的目录
容器服务应将/home/william/container_journal挂载到容器 /var/log/journal上面
启动容器服务时,应自动挂载持久存储
在容器上运行命令logger -p local5.info “This is an RHCSA exam”时,容器上的/var/log/journal/rhcsa.log 和主机上的/home/william/container_journal/rhcsa.log将显示内容”This is an RHCSA exam”

ssh william@127.0.0.1
systemctl --user stop container-logserver.service
podman rm logserver若容器存在,则需删除
mkdir /home/william/container_journal
podman create -d --name logserver -v /home/william/container_journal:/var/log/journal/:Z rsyslog-custom-cert
cd .config/systemd/user/
到服务目录中
rm -rf ./* 清除原有服务文件
podman generate systemd --name logserver --files
生成服务文件
vim container-logserver.service ###############查看文件中最后一行的末尾是否有default.target
如没有,需要添加到multiuser.target的后边,注意空格。形成如下结构
[Install]
WantedBy=multi-user.target default.target

systemctl --user daemon-reload
重载服务
systemctl --user enable --now container-logserver.service
开机自启并设置
loginctl enable-linger william
用户控制器保持william用户登录状态
podman exec -it logserver bash
进入容器,执行命令
logger -p local5.info "This is an RHCSA exam"
ls /var/log/journal 查看是否生成文件
退出容器
exit
退到root
exitexit退出,回到root用户############此时还是在node1
验证方式,等待十秒后输入ps -u william ####前提时前边的--now选项已输入,
如果未输入,重启虚拟机后再输入ps -u william查看是否存在服务rsyslogd

16. 配置应用

配置servera上的应用ex200,要求如下:当以用户pandora运行ex200时,它将显示
borough lively excursion nephew scarce

which  ex200                 先查位置
echo "echo borough lively excursion nephew scarce" > /usr/local/bin/ex200
chmod a+x /usr/local/bin/ex200

17. 配置权限提升

配置sysmgrs组可以使用系统内所有命令,且无需密码。

echo "%sysmgrs ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

在 node2.domain8.rhce.cc 上完成以下实验:

1. 重置 root 密码

将 node2主机的密码设置成 redhat。你需要获得系统访问权限才能进行此操作。 答案:

rd.break                  ##grub引导前按下e进入编辑,在倒数第二行末尾加入,ctrl+x提交
mount -o remount,rw /sysroot #####一定不能输错
chroot /sysroot
echo redhat | passwd --stdin root
touch /.autorelabel
exit
exit

2. 配置 yum 源

给系统配置默认存储库,要求如下:
YUM 的 两 个 存 储 库 的 地 址 分 别 是 :
http://host.domain8.rhce.cc/dvd/BaseOS
http://host.domian8.rhce.cc/dvd/AppStream
可配置于同一文件,文件名无所谓,后缀必须是.repo

vim  /etc/yum.repos.d/aaaaaaa.repo
[aaaa]
name=aa
baseurl=http://host.domain8.rhce.cc/dvd/BaseOS
gpgcheck=0
[bbbb]
name=bb
baseurl=http://host.domian8.rhce.cc/dvd/AppStream
gpgcheck=0

3. 调整逻辑卷的大小

将名字为 vo 的逻辑卷的大小调整到 500MiB,确保文件系统的内容保持不变。 调整后的逻辑卷的大小范围在 480MiB 到 520MiB 的范围内都是可以接受的。

lvresize  -L  500M   -r  /dev/vg0/vo
lsblk

4. 创建交换分区

向 serverb 添加一个额外的交换分区 756MiB。交换分区应在系统启动时自动挂载。不要删除或以任何方式改动系统上的任何现有交换分区。

fdisk    /dev/vdb
n
2
回车
+756M ####考试时看题
W
mkswap /dev/vdb2
vim /ect/fstab
/dev/vdb2 swap swap defaults 0 0
swapon -a
swapon -s

5. 创建逻辑卷

根据如下要求,创建新的逻辑卷:
逻辑卷的名字要 database, 卷组是 datastorage, 大小是 60 个 PE size datastorage 的 PE size 是 16MiB
格式化成 ext4 文件系统。并在系统启动时自动挂载到/mnt/data。

fdisk    /dev/vdb
n
3
回车
回车
w
pvcreate /dev/vdb3
vgcreate -s 16M datastorage /dev/vdb3
lvcreate -l 60 -n database datastorage
mkfs -t ext4 /dev/datastorage/database
mkdir /mnt/data
vim /etc/fstab
/dev/datastorage/database /mnt/data ext4 defaults 0 0
mount -a
df -hT /mnt/data

6. 创建 VDO 卷

根据如下要求,创建新的 VDO 卷: 使用未分区的磁盘 该卷的名称为 vdotest 该卷的逻辑大小是 50G 该卷使用 xfs 文件系统格式化
该卷在系统启动时挂载到/mnt/vdotest 下

yum install vdo kmod-kvdo -y
vdo create --name=vdotest --device=/dev/vdc --vdoLogicalSize=50G
mkfs.xfs -K /dev/mapper/vdotest
mkdir /mnt/vdotest
vim /etc/fstab
/dev/mapper/vdotest /mnt/vdotest xfs _netdev 0 0
mount -a
df -hT /mnt/vdotest

7. 配置系统调优

为你的系统选择建议的tuned配置集并将它设置为默认设置

tuned-adm  recommend
tuned-adm profile virtual-guest

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1096485692@qq.com