文章

rhcsa9认证题目

rhcsa9认证题目

RHCSA 考试题目整理

Node1 部分

1. 配置网络设置

将 node1 配置为具有以下网络配置:

  • 主机名:node1.domain250.example.com
  • IP 地址:172.25.250.100
  • 子网掩码:255.255.255.0
  • 网关:172.25.250.254
  • DNS服务器:172.25.250.254
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 查看网卡信息
nmcli con show

# 配置网络
nmcli con mod 'Wired connection 1' ipv4.method manual \
ipv4.addresses 172.25.250.100/24 \
ipv4.gateway 172.25.250.254 \
ipv4.dns 172.25.250.254 \
autoconnect yes

# 启用配置好的网卡
nmcli con up 'Wired connection 1'

# 设置主机名
hostnamectl set-hostname node1.domain250.example.com

2. 配置系统使用默认存储库

配置系统使用以下存储库:

  • http://content/rhel9.0/x86_64/dvd/BaseOS
  • http://content/rhel9.0/x86_64/dvd/AppStream
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 创建存储库配置文件
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

# 验证配置
yum repoinfo

3. 调试 SELinux

在非标准端口 82 上运行的 Web 服务器遇到问题,需要:

  • Web 服务器能够提供 /var/www/html 中所有现有的 HTML 文件
  • Web 服务器在端口 82 上提供内容
  • Web 服务器在系统启动时自动启动
  • 确保 SELinux 机制运行在 Enforcing 模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 安装必要的工具
yum -y install policycoreutils-python-utils

# 配置 SELinux
semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1
semanage port -a -t http_port_t -p tcp 82
restorecon -Rv /var/www/html

# 配置防火墙
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=82/tcp
firewall-cmd --reload

# 启动服务
systemctl restart httpd
systemctl enable --now httpd

# 验证
curl http://node1.domain250.example.com:82/file1
curl http://node1.domain250.example.com:82/file2
curl http://node1.domain250.example.com:82/file3

4. 创建用户账户

创建以下用户、组和组成员资格:

  • 名为 sysmgrs 的组
  • 用户 natasha,作为次要组从属于 sysmgrs
  • 用户 harry,作为次要组还从属于 sysmgrs
  • 用户 sarah,无权访问系统上的交互式 shell 且不是 sysmgrs 的成员
  • 所有用户密码都设置为 flectrag
1
2
3
4
5
6
7
8
9
10
# 创建组和用户
groupadd sysmgrs
useradd -G sysmgrs natasha
useradd -G sysmgrs harry
useradd -s /bin/false sarah

# 设置密码
echo flectrag | passwd --stdin natasha
echo flectrag | passwd --stdin harry
echo flectrag | passwd --stdin sarah

5. 配置 cron 作业

配置 cron 作业,以用户 harry 身份每天 14:23 分执行 /usr/bin/echo hello

1
2
3
4
5
6
7
8
9
10
11
# 确保 crond 服务运行
systemctl status crond
systemctl enable crond

# 配置 cron 作业
crontab -e -u harry
# 添加以下内容:
23 14 * * * /usr/bin/echo hello

# 验证
crontab -l -u harry

6. 创建协作目录

创建具有以下特征的协作目录 /home/managers:

  • /home/managers 的组所有权是 sysmgrs
  • 目录可被 sysmgrs 的成员读取、写入和访问,但其他用户不具这些权限
  • /home/managers 中创建的文件自动将组所有权设置到 sysmgrs 组
1
2
3
4
5
6
7
# 创建目录并设置权限
mkdir /home/managers
chgrp sysmgrs /home/managers
chmod 2770 /home/managers

# 验证
ll -Z /home

7. 配置 NTP

配置系统成为 materials.example.com 的 NTP 客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装和配置 chrony
yum -y install chrony
vim /etc/chrony.conf
# 添加:
server materials.example.com iburst

# 启动服务
systemctl restart chronyd
systemctl enable chronyd

# 验证
date -s "1982-1-1"
systemctl restart chronyd
date

8. 配置 autofs

配置 autofs 自动挂载远程用户的主目录:

  • materials.example.com (172.25.254.254) NFS 导出 /rhome
  • remoteuser1 的主目录是 materials.example.com:/rhome/remoteuser1
  • 主目录自动挂载到本地 /rhome 下的 /rhome/remoteuser1
  • 主目录必须可供其用户写入
  • remoteuser1 的密码是 flectrag
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 安装必要的包
yum -y install nfs-utils
yum -y install autofs

# 配置 autofs
vim /etc/auto.master
# 添加:
/rhome /etc/auto.rhome

vim /etc/auto.rhome
# 添加:
remoteuser1 -rw materials.example.com:/rhome/remoteuser1

# 启动服务
systemctl enable --now autofs

# 验证
ll /rhome/
ssh remoteuser1@localhost

9. 配置用户账户

配置用户 manalo,其用户 ID 为 3533,密码为 flectrag

1
2
useradd -u 3533 manalo
echo flectrag | passwd --stdin manalo

10. 查找文件

查找归 jacques 所有的所有文件并将其副本放入 /root/findfiles 目录

1
2
mkdir /root/findfiles
find / -user jacques -exec cp -a {} /root/findfiles \;

11. 查找字符串

查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行,将结果保存到 /root/list

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

12. 创建存档

创建一个名为 /root/backup.tar.bz2 的 tar 存档,包含 /usr/local 的内容,使用 bzip2 压缩

1
2
yum -y install bzip2
tar -cvjf /root/backup.tar.bz2 /usr/local

13. 创建容器镜像

以 wallah 用户身份下载并构建容器镜像

1
2
3
4
5
6
7
8
9
10
# 安装容器工具
dnf -y install container-tools

# 登录并下载文件
ssh wallah@node1
podman login -u admin -p redhat321 registry.lab.example.com
wget http://classroom/Containerfile

# 构建镜像
podman build -t pdf .

14. 将容器配置为服务

配置 systemd 服务:

  • 容器名称为 ascii2pdf
  • 使用刚创建的镜像 pdf
  • 服务命名为 container-ascii2pdf
  • 系统重启时自动启动
  • 挂载 /opt/file 到 /dir1,/opt/progress 到 /dir2
1
2
3
4
5
6
7
8
9
10
11
12
13
# 准备目录
sudo mkdir /opt/{file,progress}
sudo chown wallah:wallah /opt/{file,progress}

# 创建服务
mkdir -p ~/.config/systemd/user
cd ~/.config/systemd/user/
podman generate systemd -n ascii2pdf -f --new

# 配置服务
systemctl --user daemon-reload
systemctl --user enable --now container-ascii2pdf
loginctl enable-linger

15. 添加 sudo 免密操作

允许 sysmgrs 组成员 sudo 时不需要密码

1
2
3
visudo
# 添加:
%sysmgrs ALL=(ALL) NOPASSWD: ALL

Node2 部分

19. 设置 root 密码

将 node2 的 root 密码设置为 flectrag

1
2
3
4
5
6
7
# 在启动时修改
chroot /sysroot
echo flectrag | passwd --stdin root
touch /.autorelabel
sync
exit
reboot

20. 配置系统使用默认存储库

配置系统使用以下存储库:

  • http://content/rhel9.0/x86_64/dvd/BaseOS
  • http://content/rhel9.0/x86_64/dvd/AppStream
1
2
3
4
5
6
# 方法一:从 node1 复制配置
scp root@node1:/etc/yum.repos.d/rhcsa.repo /etc/yum.repos.d/

# 方法二:手动创建配置
vim /etc/yum.repos.d/rhcsa.repo
# 添加与 node1 相同的配置

21. 调整逻辑卷大小

将逻辑卷 vo 及其文件系统的大小调整到 230 MiB

1
2
3
lvscan
lvextend -L 230M /dev/myvol/vo
resize2fs /dev/myvol/vo

22. 添加交换分区

添加一个 512MiB 的交换分区,并在系统启动时自动挂载

1
2
3
4
5
6
7
8
9
10
11
12
# 创建分区
fdisk /dev/vdb
# 创建新分区

# 格式化并配置
mkswap /dev/vdb3
vim /etc/fstab
# 添加:
/dev/vdb3 swap swap defaults 0 0

# 启用交换分区
swapon -a

23. 创建逻辑卷

创建新的逻辑卷:

  • 名称:qa
  • 卷组:qagroup
  • 大小:60 个扩展块
  • 扩展块大小:16 MiB
  • 使用 vfat 文件系统
  • 自动挂载到 /mnt/qa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建分区
fdisk /dev/vdb
# 创建新分区

# 创建卷组和逻辑卷
vgcreate -s 16M qagroup /dev/vdb4
lvcreate -l 60 -n qa qagroup

# 格式化并挂载
yum -y install dosfstools
mkfs.vfat /dev/qagroup/qa
mkdir /mnt/qa
vim /etc/fstab
# 添加:
/dev/qagroup/qa /mnt/qa vfat defaults 0 0
mount -a

24. 配置系统调优

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

1
2
3
4
5
6
7
8
9
# 安装和配置 tuned
yum -y install tuned
systemctl enable tuned
systemctl restart tuned

# 查看和设置配置
tuned-adm active
tuned-adm recommend
tuned-adm profile virtual-guest

附加题

16. 创建共享目录

创建具有以下特点的共用目录:

  • /home/test 的所有组是 admins
  • 目录能被 admins 组的成员读取、写入和访问
  • 在此目录下创建的文件自动将组所有权设置为 admins 组
1
2
3
4
5
# 创建组和目录
groupadd admins
mkdir /home/test
chgrp admins /home/test
chmod 2770 /home/test

17. 设置默认密码策略

为新创建的用户设置密码策略,要求密码默认 25 天后过期

1
2
3
vim /etc/login.defs
# 修改:
PASS_MAX_DAYS 25

18. 创建系统监控脚本

创建名为 systeminfo 的脚本,用于获取系统进程信息

1
2
3
4
5
vim /usr/local/bin/systeminfo
#!/bin/bash
ps -xao user,pid,vsz,rss,%cpu --sort=-pcpu

chmod +x /usr/local/bin/systeminfo
本文由作者按照 CC BY 4.0 进行授权