RHCSA 考试笔记
考试速查笔记
第 1 题:配置网络地址
题目
虚拟机 servera 的 root 密码为 redhat,请为此虚拟机配置以下网络参数:
- 主机名:
servera.lab.example.com - IP地址:
172.25.250.10 - 子网掩码:
255.255.255.0 - 默认网关:
172.25.250.254 - DNS服务器:
172.25.250.254
笔记 nmtui
使用
nmtui
第 2 题:配置软件仓库
题目
请配置 servera 的软件仓库地址如下:
- http://content.example.com/rhel9.0/x86_64/dvd/BaseOS
- http://content.example.com/rhel9.0/x86_64/dvd/AppStream
笔记 /etc/yum.repos.d/*.repo
/etc/yum.repos.d/dvd.repo示例
1 | [BaseOS] |
1 | # 清空原有的仓库缓存: |
第 3 题:调试 SELINUX
题目
web 服务器在非常规端口 82 上运行时失败,请解决 web 服务器遇到的故障, 并使其满足以下条件:
- web 服务器可以访问
/var/www/html中已经存在的网页文件
(注意:不要删除或者其他方式改动现有的文件内容) - Web 服务器通过 82 端口访问
- Web 服务器在系统启动时应自动启动
- 确保SELinux保护机制运行在
Enforcing模式
笔记 semanage
1 | # 确认 httpd 端口 |
如果忘了上下文类型怎么写:
1
2
3
4
5 # 查询 http 端口的上下文类型
semanage port -l | grep http
# 查询 /var/www 下所有文件的上下文类型
semanage fcontext -l | grep /var/www
第 4 题:创建用户账户
题目
根据下列要求创建用户及组账号:
- 名为
admins的组 - 用户
harry,其附属组为admins - 用户
natasha,其附属组还属于admins - 用户
alice,没有可交互的登录 Shell,且不属于admins组 harry、natasha、alice的密码都应该是redhat
笔记 groupadd useradd
1 | # 创建admins组 |
第 5 题:配置周期性计划任务
题目
以用户 natasha 的身份每周三的下午15:30运行 logger "This is a rhcsa exam"
笔记 crontab -e
1 | # 配置计划任务,-u 指定用户 |
第 6 题:创建共享目录
题目
创建具有以下特点的共用目录:
/home/tools的所有组是admins- 此目录能被
admins组的成员读取、写入和访问,除root外其他用户没有这些权限 - 在此目录下创建的文件,其组的所有权自动设置为
admins组
笔记 chmod
1 | # 创建目录: |
第 7 题:配置网络时间同步
题目
为 servera 配置 NTP 服务(网络时间源),向 classroom.example.com 同步时间
笔记 /etc/chrony.conf
/etc/chrony.conf示例
1 | server classroom.example.com iburst |
1 | # 重启chronyd服务 |
- ^* 表示同步成功,如果考试时出现的不是 * 号,多同步几次;如果一直不是 * 号,只要保证出来的地址是所配置的地址即可,原因为时间服务器在考官机器上,同步周期不一致或者服务未响应;不会影响考试正常评分,考生只需要看到地址出来即可,看到*号是最好的。
- 域名可能会被解析成 IP,是正常现象
第 8 题:配置文件系统自动挂载
题目
按照以下要求,在 servera 上配置 autofs 自动挂载:
serverb通过 NFS 共享目录/rhome到你的系统,此文件系统中包含为用户remoteuser0预配置的家目录- 预设用户 remoteuser0 的家目录应自动挂载到本地的
/rhome/remoteuser0目录 - 预设用户
remoteuser0的家目录是serverb.lab.example.com:/rhome/remoteuser0 - 挂载后的家目录必须可读写
笔记 autofs
1 | # 安装 autofs |
第 9 题:配置用户账户
题目
配置用户账户 john,用户的 ID 为 2023,此用户的密码应当为 redhat
笔记 useradd
1 | useradd -u 2023 john |
第 10 题:查找文件
题目
查找属于 john 用户所属的文件,并拷贝到 /root/findfiles 目录
笔记 find
1 | # 创建文件存储目录 |
如果不记得的话也可以分两步命令分别
find和cp。cp要带-a归档模式,保持文件归属不变。
第 11 题:查找字符串
题目
找出文件 /etc/man_db.conf 中包含字符串 sbin 的所有行,将其按原始顺序导入到文件 /root/out.txt 中,文件 /root/out.txt 中不得包含空行
笔记 grep
1 | grep sbin /etc/man_db.conf > /root/out.txt |
第 12 题:创建归档
题目
创建一个名为 /root/backup-YYYY-MM-DD.tar.bz2 格式的 tar 包,用来压缩 /usr/local 目录进行备份
笔记 tar
1 | # -c:创建归档,-j:bzip2格式,-f:指定生成的文件名 |
bzip2可能要自行安装
第 13 题:创建容器镜像
题目
使用 http://content.example.com/Containerfile 按照以下要求创建容器
- 面向用户
sashat,创建一个名为modify_file:latest的容器镜像 - 不要对
Containerfile进行任何更改
笔记 podman build
1 | # 使用 ssh 切换用户,不要使用 su - |
podman相关操作时,不要使用su -切换用户!!
第 14 题:配置容器开机自启
题目
在 servera 上创建一个 rootless 容器,并配置为 systemd 服务自动启动,要求如下:
- 容器名为
txt2pdf - 容器使用在其他项目中创建的
modify_file容器镜像 - 该服务面向
sashat以systemd服务运行 - 服务名称为
container-txt2pdf - 系统重启后,容器无需干预自动运行
- 将本地目录
/opt/txt附加到容器的/opt/txt目录 - 将本地目录/opt/pdf附加到容器的
/opt/pdf目录 - 容器在运行情况下,
/opt/txt下的任何纯文本文件将自动转换为 pdf 文件,并使用相同文件名并加上后缀 pdf 存放到/opt/pdf下 (考试的时候后缀可能不会转换,通过file命令查看类型即可)
笔记 podman generate systemd
1 | # 创建文件夹并修改拥有人拥有组 |
- 如果忘了用户服务单元目录在哪,使用
man systemd.unit查询。- 注意用户服务要加
--user,否则会去找全局服务!!- 容器运行记得加
-d- 正式考试中容器镜像地址以考前须知里的仓库地址为准,建议在考试中使用
podman search关键字进行搜索。
第 15 题:配置 sudo 提权
题目
允许 admins 组的成员可以以 root 的身份执行任何命令,并且不需要密码
笔记
1 | visudo |
visudo自带语法检查且文件内已有示例
第 16 题:设置默认密码策略
题目
为新创建的用户设置密码策略,要求创建用户时,密码默认 20 天后过期
笔记 /etc/login.defs
1 | vim /etc/login.defs |
记住文件
/etc/login.defs!!
第 17 题:创建系统用于系统监控的脚本
题目
- 创建一个名为
exam_sysinfo的脚本 - 该脚本放置在
/usr/local/bin下 - 该脚本用于获取当前系统进程的信息,要求按照顺序输出进程的所有者,进程的 PID,进程消耗的虚拟内存,实际内存,以及 CPU 的百分比,并其中以 CPU 的百分比进行排序,消耗 CPU 最多的进程在最后显示
笔记
1 | # 编辑脚本 |
exam_sysinfo脚本内容
1 |
|
- 如果不记得输出列怎么写,用
ps -aux确认- 自定义列信息不能大写!
第 18 题:运行一个容器
题目
- 在
http://content.example.com中提供一个rsyslog.tar的镜像文件 - 将镜像存放在
https://registry.lab.example.com/library仓库中 - 使用
https://registry.lab.example.com/library/rsyslog镜像运行名为logserver的容器 - 将生成的日志存放在
/home/sashat/syslog/目录下,并使用logger命令发送 “This is a rhcsa exam“ 日志信息并在/home/sashat/syslog/message的文件中找到
笔记 podman load -i
1 | # ssh 切换到 sashat 用户! |
- 注意
ssh切换用户- 容器运行记得加
-d- 注意
-v路径最后要带:z否则会被 SELinux 拦截!
第 19 题:重置 root 密码
题目
将 serverb.lab.example.com 主机的 root 密码设置成 Young
笔记 rd.break
- 在 GRUB 开机菜单界面,按键盘 e 键进入编辑模式。
- 找到以
linux或linux16开头的行,删掉ro之后的内容,追加空格及rd.break参数。 - 按 Ctrl + x 组合键引导系统进入紧急救援模式 Shell。
- 重新挂载
/sysroot为读写模式:mount -o remount,rw /sysroot - 切换根目录到硬盘系统:
chroot /sysroot - 重置 root 用户密码:
passwd
(按提示两次输入新的 root 密码) - 创建 SELinux 重新打标标记文件(必须执行):
touch /.autorelabel - 连续输入两次
exit命令退出并重启系统:exitexit
记住
touch /.autorelabel重新打标!
第 20 题:配置软件仓库
第 21 题:调整逻辑卷大小
题目
将名为 rhel 的逻辑卷的大小调整到 512M,确保文件系统的内容保持不变。调整后的逻辑卷的大小范围在 498M 到 511M 的范围内都是可以接受的。
笔记 lvextend -r
1 | # 查看逻辑卷位置 |
正式考试中一定要检查逻辑卷是否在
fstab中设置开机自动挂载。
第 22 题:配置 swap 交换分区
题目
- 向
serverb.lab.example.com添加一个额外的交换分区 512MiB。 - 交换分区应在系统启动时自动挂载。
- 不要删除或以任何方式改动系统上的任何现有交换分区。
笔记 fdisk
1 | # 先用 lsblk 看看哪个盘有空间 |
第 23 题:创建逻辑卷
题目
根据以下要求,创建新的逻辑卷:
- 逻辑卷的名字为
mylv,属于myvg卷组,大小为 50 个 pe - 卷组
myvg中的逻辑卷的 pe 大小应当为 16MiB - 使用
ext3文件系统将逻辑卷mylv格式化 - 此逻辑卷应当在系统启动时自动挂载到
/mnt/mydata目录下
笔记 vgcreate lvcreate
1 | # 查看哪个盘有空间 |
- 如果忘记
pe选项怎么写,命令加上--help | grep extentvgcreate不需要-n,lvcreate需要-n- 格式化 swap 分区命令为
mkswap,格式化 ext3 或其他格式分区命令为mkfs.xxx
第 24 题:配置系统调优
题目
将系统的调优配置文件设置为 tuned 推荐的配置文件
笔记 tuned-adm
1 | # 考试机器可能没有安装,需要手动安装 |
tuned的管理命令为tuned-adm。
变化题:配置 umask 值
题目
设置 natasha 用户创建的目录权限默认为 733,文件权限为 622,要求永久生效。
笔记 .bashrc
1 | # 切换用户 |
umask 代表的是:“你明确想要剥夺/屏蔽掉哪些权限”。
不记得source .bashrc可以重新登录使其生效。
文件默认不带x权限,所以以目录权限为准,umask的值为 777 - 733 = 044
变化题:编写应用程序
题目
编写 ex200 程序,natasha 用户执行则输出 “This is RHCSA Exam“
笔记 which
1 | #查找文件路径 |
变化题:创建用户定位文件的脚本
题目
- 创建名为
/usr/local/bin/mysearch的脚本 - 查找
/usr下面所有大于 30K,小于 50K, 并有设置suid权限的文件 - 将查找到的文件列表保存到
/root/myfile中
笔记 find
1 | # 编辑脚本 |
脚本内容:
1 |
|
1 | # 添加执行权限 |
在
find -perm [-|/]数字权限命令中,数字权限前的-表示包含,/表示任意匹配,无符号表示精确匹配
分清楚题目是要求【拷贝文件】还是【输出文件列表】!