【RHCSA-Linux考试题目笔记(自用)】servera的题目

一、开始

1、启动rhcsa环境

2、点击题目,看题

3、通过控制器来启动所有虚拟机

控制器

打开后点start,然后ok

之后进入一个有classroom、servera、serverb(考试不一定叫这些名,但大差不差)什么之类的界面,点击all全选,都启动

二、做题

1、servera(考试的虚拟机不一定叫这个名)的题1

1.配置网络,要求如下:

主机名:    servera.lab.example.com

IP地址:    172.25.250.10/24

网关:      172.25.250.254

dns:      172.25.250.220

配置网络相关参数:

(1)启动servera虚拟机

既然做servera的题,那自然启动servera的虚拟机

打开控制器

点view,ok

之后选择servera,然后再ok,就进入登录servera的登录指令页面

输入用户和密码,用户为root、密码一般为redhat

(2)ip a查看虚拟机的网卡名

这里开始正式做第一题

输入ip a

这边网卡显示是eth0,记住名字

(3)查看是否有网络连接(有)

nmcli connection show查看

有的话,就直接在这个上面修改,没有的话则自己创建

这里有,则直接修改这个网络连接的参数

(3')查看是否有网络连接(无)

先记着ip a的网卡名,这里是eth0

然后输入指令

nmcli connection add con-name (自己起名,如果考试有要求名字叫啥就写这,一般建议直接和网卡名相同,即eth0)type ethernet ifname eth0(这里必须写自己的网卡名!!!tab补齐!) ipv4.method manual ipv4.addresses (ip地址) ipv4.gateway (网关地址) ipv4.dns (dns地址)

(4)配置网络(nmtui图形配置)

nmtui图形配置(推荐)

上下键选择,enter选中点击

这里选择Edit a connection

选已有的唯一网络连接,点击edit

这里的device一定要是刚刚ip a查看的网卡

选择ipv4旁边的Auto....,点进去选择manual手动,再选择旁边的show

编辑填写题目要求的ip地址、网关、dns,然后点击下面的ok

之后点击back回到主界面,再点击quit即可


(4')配置网络(命令配置)

nmcli connection modify 网络连接名(tab补齐) ipv4.method manual ipv4.addresses (ip地址) ipv4.gateway (网关地址) ipv4.dns (dns地址)

(5)重启

nmcli connection reload

nmcli connection up 网络连接名字(tab补齐)

(6)检查测试

ip a来看ip地址

route -n来看网关

cat /etc/resolv.conf来看dns

额外步骤——搞好ssh,方便从终端配置指令

进入ssh的配置文件

vim /etc/ssh/sshd_config

找到Permit开头的root用户登录项,先复制(yy复制),然后粘贴(p粘贴)

复制粘贴后,去掉井号#,后面改成yes

wq退出保存后,重启sshd

!!!注意!!! 

考完试做完题后把这个改回去!!!就是把复制的那一行直接全部删掉!考试没让你开sshd!所以怕扣不必要的分!

搞完后回桌面终端试一下

ssh -l root 172.25.250.10

 登录成功

配置主机名:

(1)hostnamectl

都复制粘贴,别自己手打,怕打错扣不必要的分!

hostnamectl hostname servera.lab.example.com

改完后ctrl+d,然后再登录一次ssh

ctrl+d

再登录一次ssh

名字就变了

PS:

如果此条命令报错,那就把hostname改成set-hostname,再试

hostnamectl set-hostname servera.lab.example.com

2、servera的题2

2.配置系统的软件仓库

YUM 的两个存储库的地址分别是: 

http://content.example.com/rhel9.0/x86_64/dvd/BaseOS

http://content.example.com/rhel9.0/x86_64/dvd/AppStream

(1)先试试能不能访问仓库

不然的话就得和监考老师沟通了

复制考题的软件仓库地址,去虚拟机的浏览器搜

都能访问则没问题

(2)进入并创建所需的库

进入

cd /etc/yum.repos.d/

这里边就算有东西也不要删


创建

vim rhel.repo


创建后配置

PS

要是有说仓库名字要求,那就修改中括号 [ ] 里边的内容

要是有说要检测gpg,那就把gpgcheck = 0的0修改成1,即gpgcheck = 1,并且后面还有加多一行gpgkey = 题目给的gpg链接地址


(3)测试

直接安装autofs(因为后面题目也要用)来测试 

成功 

3、servera的题3

3.配置 SELinux

非标准端口 82 上运行的 WEB 服务器在提供内容时遇到问题。根据需要调试

并解决问题, 并使其满足以下条件: 

web 服务器能够提供 /var/www/html 中所有现有的 html 文件(注意:不要删除或改动现有的文件内容)

Web 服务器通过 82 端口访问

访问:

    http://servera:82/test0.html 时可以显示web内容为: 

    172.25.250.10 servera.lab.example.com 

Web 服务器在系统启动时自动启动

(1)先检查虚拟机装没装web(httpd)

1)通过安装命令检查
dnf install httpd -y

显示已安装过就可以下一步了

 2)通过端口检查
netstat -antlupe | grep 80

(2)修改端口

vim /etc/httpd/conf/httpd.conf

找到Listen行,将后面的80改成82即可

wq保存退出

(3)放通http新端口的SELinux

修改完后重启时,http会被SELinux拦截,所以需要放通http

通过semanage port -l | grep http查看可以发现,http的82端口并没有被放通

所以,我们要放通,就要添加82的端口

semanage port -a -t http_port_t -p tcp 82

这时再查看(semanage port -l | grep http) 

就能发现82已被添加,已经放通了

(4)设置开机自启动,并启动httpd

 设置开机自启动

systemctl enable --now httpd

 再启动httpd

systemctl start httpd

(5)检查测试

查看82端口

netstat -antlupe | grep 82

已有,成功 

(6)设置访问内容

echo "172.25.250.10 servera.lab.example.com" > /var/www/html/test0.html

(7)更改 

不更改访问不了

chcon -t httpd_sys_content_t /var/www/html/ -R

(8)访问测试 

使用curl来访问

curl http://servera:82/test0.html

出现指定内容,代表访问成功 

4、servera的题4

4.创建用户

创建下列用户、用户组,并按要求完成设置:

组名为 sysmgrs

natasha 用户的附属组是 sysmgrs

harry 用户的附属组是 sysmgrs

john 用户的 shell 是非交互式 shell,且不是 sysmgrs 组的成员

natasha、harry、john 的密码是 redhat

(1)建立组

没有指定id,则直接建立;有指定id,则-g

这里题目没有指定,则直接创建

groupadd sysmgrs

(2)将natasha、harry归类成附属组

-g(小g)是主组,-G(大G)是附属组

题目要求natasha、harry用户都是sysmgrs的附属组,所以:

useradd -G sysmgrs natasha
useradd -G sysmgrs harry

(3)处理john的非交互式与不是 sysmgrs 组的成员

useradd -s /sbin/nologin john

(4)设置三个用户密码

natasha、harry、john 的密码是 redhat

echo redhat | passwd --stdin 用户名

(5)测试检查 

切换到john,切不了则成功

切换到natasha,并看其组

 harry,输入密码看是否是对的,并看其组

再切回natasha,输入密码看密码正不正确(因为是从harry这登的)

ok,这样测试就完毕,都成功,接下来逐一退出(exit)回到root

5、servera的题5

5.配置 cron 计划任务

该作业每隔两分钟执行以下命令:

logger “hello rhcsa”, 以用户 natasha 身份运行

(1)打开cron 

不然用不了

systemctl enable --now crond

(2)查看logger的绝对路径  

重开一个终端窗口, 用which来查看

which logger

复制绝对路径

(3) 创建natasha的cron任务

crontab -u natasha -e

进入后编辑,把刚刚的绝对路径粘贴上去

wq退出保存

(4)确认检查

cat /var/spool/cron/natasha

natasha打的时候能补全就代表成功 

6、servera的题6

6.按要求创建目录

/home/managers 目录属于 sysmgrs 组

此目录可以被 sysmgrs 的组成员读取、写入和访问

但是其他任何用户不具备这些权限。(不包括 root 用户)

在/home/managers 目录中创建的文件的所属组自动变成sysmgrs组

(1)建立目录

建立题目要的目录/home/managers

mkdir -p /home/managers

 (2)将此目录归属组

chgrp sysmgrs /home/managers/

(3) 编写权限

chmod 2770 /home/managers/

7、 servera的题7

7.配置 NTP

配置 servera 作为 NTP 的客户端,跟时间服务器 172.25.250.254 同步时间

(1)编辑chrony.conf 

进入/etc/chrony.conf

vim /etc/chrony.conf

进入后编辑

(2)开机自启动chrony、重启chrony

chrony后面有个d,记住

(3)检查

chronyc来检查同步时间

8、 servera的题8 

8.配置 autofs

配置 autofs,按照以下要求自动挂载远程用户的家目录,要求如下: 

NFS 服务器 172.25.250.254 的共享目录是/rhome,此文件系统包含为用户

testuser 预配置的家目录

testuser 的家目录是 172.25.250.254:/rhome/testuser 

testuser 的家目录应该自动挂载到/rhome 下的/rhome/testuser 家目录允许用户写入

testuser 的密码是 redhat

(1)安装autofs

这步已经在测试软件仓库时做过了

(2)编辑auto.master

进入后,在这个位置编辑

(3) 编辑auto.rhome

退出保存后,再进入刚刚写的那个子文件,即/etc/auto.rhome

 

编辑题目要的东西

(4)开机自启动,重启autofs

systemctl enable --now autofs

重启

(5)检查

切换到testuser用户

切换后,df -h查看有没有自动挂载

有则成功

 9、 servera的题9 

9.配置用户账户

配置用户账户 alex,用户的 ID 为 1234,此用户的密码应当为 redhat.

简单,直接做了,记得先把用户切回来root

 10、 servera的题10 

10.查找文件

查找属与 harry 用户的所有文件,并拷贝到/root/findfiles 目录

(1)先创建目录

(2)查找harry的文件,并汇总到/root/findfiles

用find查找,-user按照用户来找、-exec将权限都复制过去、cp复制

(3)查看

ls查看

 11、 servera的题11  

11.查找字符串

查找文件/usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。

并将所有这些行的内容放到文件/root/list 中,/root/list 不得包含空行

(1)grep来查找,并放入进/root/list

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

(2)查看

 12、 servera的题12  

12.创建归档

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

(1)看清楚要求是什么格式的

要求归档格式:

gz —— zcf

bz2 —— jcf

xz —— Jcf

(2)对应格式来下载安装对应的软件包

就怕考试的虚拟机没装

都可以通过dnf search来查找,找到后复制包名再dnf install安装即可

gz —— gzip包(dnf search gzip)

bz2 —— bzip2包(dnf search bzip2)

xz —— xz包(dnf search xz)


题目要求是gz,则我们安装gzip的包

 

(3)压缩归档

tar zcf /root/backup.tar.gz /usr/local

 (4)查看

通过file来查看

 13、 servera的题13(难)

13.创建容器镜像

在servera上以用户身份contsvc:

使用题目提供的 Containerfile,构建名为 watcher 的容器镜像

Containerfile的位置为:

    http://servera:82/Containerfile

请勿更改 Containerfile 中的内容


 有镜像才能运行容器

(1)安装podman镜像


安装完后,可以用podman images来查看有多少个镜像,镜像相当于一个虚拟机

(2)ssh登录servera上的用户contsvc

(3)登录仓库地址

podman login utility.lab.example.com

(4)wget下载题目的地址

题目说:

Containerfile的位置为:

    http://servera:82/Containerfile

我们下载这个地址

下载完成


下完后,ls查看一下是否有

(5) build刚刚下载的东西

最后面的点. 代表当前路径位置

记住!!! 

刚刚下载的东西在哪,那就在哪build!

(6)查看 

看一下是否有我们刚刚创建的东西 

podman images查看

有则成功 

(7)总结

总的来说就是先登录,登录后下载,下载后去build它即可

 14、 servera的题14(难)

14.将容器配置为服务

在 servera 创建一个无根容器以作为 systemd 服务自动启动,要求如下:

容器名称为 rh134

容器使用上题创建的 watcher 镜像

容器仅为现有用户 contsvc 作为 systemd 服务运行

服务名为 container-rh134

系统重新启动后,容器会自动启动

本地目录 /opt/rh124 附加到容器 /opt/level1 目录

本地目录 /opt/rh134 附加到容器 /opt/level2 目录

如果服务工作正常,则放入本地 /opt/rh124 或 /opt/rh134 目录的文件都将置入

容器的 /opt/level1 和 /opt/level2 目录

(1)先建立所需文件

题目要求:

本地目录 /opt/rh124 附加到容器 /opt/level1 目录

本地目录 /opt/rh134 附加到容器 /opt/level2 目 录

那就建立 /opt/rh124和 /opt/rh134,记得切回root建立

(2)更改属性

更改刚刚创建的两个文件的属性

chown contsvc.contsvc /opt/rh124/ /opt/rh134/

(3)切换回指定用户contsvc

ssh来登录

(4)切换后运行镜像

在用户contsvc下运行镜像watcher,并按题目要求进行相应的挂载

podman run -d --name rh134 -v /opt/rh124:/opt/level1 -v /opt/rh134:/opt/level2 watcher:latest

run —— 运行

--name rh134 —— 题目指定名字

-v —— 挂载

: —— 挂载到...

(5)测试一下

用root在/opt/rh124和 /opt/rh134下分别建立a和b两个文件来测试

之后再登录回contsvc(ssh登录)

运行podman,

进入容器时是可以看到刚刚建立的a和b的

 

⚠️注意⚠️

测试所建立的文件在测试完后要删除!!!怕扣不必要的分

切回root再删

(6)将rh134变为Systemd的启动方式

先重回contsvc(ssh登录)

再建立并进入

将rh134变为Systemd的启动方式

这样做好后, 把我们刚刚那个给关了

(7)取得授权

loginctl enable-linger contsvc

(8)设置自启动

systemctl --user enable --now container-rh134.service

(9)检查

podman ps查看一下

这样就成功了,我们reboot试一下,如果重启后还在,那就成功

再contsvc下reboot一次,期间等待些许时间

等待些许时间后,我们退出contsvc,在root下再次reboot

再次等待些许时间

之后我们重登servera(ssh)

再登contsvc(ssh)

再用podman ps查看,发现有就是成功

 15、 servera的题15(此题可能有,可能没有)

15.执行程序

主机上有一个程序 rhcsa,

要求运行该程序,屏幕则显示 hello rhcsa

(1)进入

(2)编辑

wq退出保存

(3)授予权限

(4)测试

完成

 16、 servera的题16

16.系统用户密码的有效期

在系统中新增的用户,要求 25 天后密码自动失效,密码过期前 5 天警告

(1)进入/login.defs

(2)找到并修改

找到PASS_...开头的行

按题目要求修改

最大天数改成25、警告天数改成5

wq退出保存,就完成了

17、 servera的题17

17.配置 sudo 提权

为你的系统配置 sudo 提权,具体要求如下:

- 创建 user1 用户,设置用户密码为 test。

- 授权 user1 组中的任何用户都可以无密码执行管理员命令。

(1)建立user1

(2)修改密码为test

(3)授权user1组中的任何用户都可以无密码执行管理员命令

visudo进入

在此位置添加这些

wq保存

注意:user1前面的%代表user1组(即用户组);而没有百分号%则就表示用户user1,这个注意一下

(4)测试

切换到user1

sudo id来查看一下

退出user1(exit)

至此,servera的题搞完

!!!注意注意!!!

考完试要把测试或者为了方便所用的操作删干净,避免扣分!

如:最开始把servera的sshd文件里的PermitRootLogin改成yes了,考完要把它改回去!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87368.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目使用arthas-tunnel-server

参考官网Arthas Spring Boot Starter | arthas Spring Boot系列之使用Arthas Tunnel Server 进行远程调试实践-腾讯云开发者社区-腾讯云 springBoot项目, 增加maven依赖 <dependency><groupId>com.taobao.arthas</groupId><artifactId>arthas-sprin…

Modbus TCP 进阶:基于以太网的远程设备控制(二)

基于 Modbus TCP 的远程设备控制实战 &#xff08;一&#xff09;硬件与网络搭建实操 1. 设备选型与连接 在工业现场&#xff0c;根据远程控制需求进行设备选型至关重要 。对于传感器&#xff0c;若要监测温度&#xff0c;可选择高精度的热电偶传感器&#xff0c;如 K 型热电…

分库分表之实战-sharding-JDBC

大家好&#xff0c;我是工藤学编程 &#x1f989;一个正在努力学习的小博主&#xff0c;期待你的关注实战代码系列最新文章&#x1f609;C实现图书管理系统&#xff08;Qt C GUI界面版&#xff09;SpringBoot实战系列&#x1f437;【SpringBoot实战系列】Sharding-Jdbc实现分库…

httpcore-nio引起的线程、fd泄露问题

依赖来源&#xff1a;httpasyncclient-4.1.4.jar 现象 程序报错too many open files 线程数飙升、句柄数飙升 thread dump显示大量 "I/O dispatcher 7215" #9102 prio5 os_prio0 tid0x00002b7ba036a800 nid0x6f24 runnable [0x00002b7d98d41000]java.lang.Thread.…

多线程生产者消费者模型实战案例

多线程生产者消费者模型实战案例 前言业务场景术前准备无锁无事务有事务 synchronized事务在锁外事务在锁内 数据库行锁什么是数据库行锁有事务没有事务 乐观锁ReentrantLock分布式锁 前言 曾经一直有一个疑惑&#xff0c;就是关于多线程生产者消费者模型的学习过程中&#xf…

青少年编程与数学 02-022 专业应用软件简介 03 三维建模及动画软件:Autodesk Maya

青少年编程与数学 02-022 专业应用软件简介 03 三维建模及动画软件&#xff1a;Autodesk Maya 一、什么是三维建模二、什么是计算机动画三、三维建模及动画设计软件的发展历程&#xff08;一&#xff09;早期探索阶段&#xff08;20世纪60年代 - 80年代&#xff09;&#xff08…

获得 OCM 大师证书学习历练

当我站在山城重庆的洪崖洞前&#xff0c;看着璀璨的夜景倒映在嘉陵江上&#xff0c;手中紧握着 OCM 大师证书&#xff0c;那一刻&#xff0c;备考时的艰辛与考试时的紧张都化作了满满的成就感。这段在重庆获得 OCM 大师证书的经历&#xff0c;就像一场充满挑战与惊喜的冒险&…

srs-gb28181 与 SRS 5.0 对 GB28181 国标支持

srs-gb28181 是基于 SRS 4.0/5.0 的国标&#xff08;GB28181&#xff09;扩展分支&#xff0c;而 SRS 5.0 官方版本也逐步增强了对 GB28181 的支持。以下是两者的主要区别&#xff1a; 1. 功能支持对比 功能srs-gb28181&#xff08;扩展分支&#xff09;SRS 5.0&#xff08;官…

算法第18天|继续二叉树:修剪二叉搜索树、将有序数组转化为二叉搜索树、把二叉搜索树转换为累加树

今日总结&#xff1a; 1、修剪二叉搜索树&#xff08;重点思考如何修剪&#xff09; &#xff08;1&#xff09;递归的返回值是什么&#xff1f;&#xff08;与插入、删除一样&#xff09; &#xff08;2&#xff09;递归的单层逻辑一定要缕清&#xff08;3中情况讨论&#xff…

C# 多线程(三)线程池

目录 1.通过TPL使用线程池 2.不使用TPL进入线程池的办法 异步委托 3.线程池优化技术 最小线程数的工作原理 每当启动一个新线程时&#xff0c;系统都需要花费数百微秒来分配资源&#xff0c;例如创建独立的局部变量栈空间。默认情况下&#xff0c;每个线程还会占用约1…

学习笔记(29):训练集与测试集划分详解:train_test_split 函数深度解析

学习笔记(29):训练集与测试集划分详解&#xff1a;train_test_split 函数深度解析 一、为什么需要划分训练集和测试集&#xff1f; 在机器学习中&#xff0c;模型需要经历两个核心阶段&#xff1a; 训练阶段&#xff1a;用训练集数据学习特征与目标值的映射关系&#xff08;…

【全网唯一】自动化编辑器 Windows版纯本地离线文字识别插件

目的 自动化编辑器超轻量级RPA工具&#xff0c;零代码制作RPA自动化任务&#xff0c;解放双手&#xff0c;释放双眼&#xff0c;轻松玩游戏&#xff0c;刷任务。本篇文章主要讲解下自动化编辑器的TomatoOCR纯本地离线文字识别Windows版插件如何使用和集成。 准备工作 1、下载自…

GitHub 2FA绑定

GitHub 2FA绑定 作为全球最大的代码托管平台&#xff0c;GitHub对账号安全的重视程度不断提升——自2023年3月起&#xff0c;GitHub已要求所有在GitHub.com上贡献代码的用户必须启用双因素身份验证&#xff08;2FA&#xff09;。如果你是符合条件的用户&#xff0c;会收到一封…

pytest fixture基础大全详解

一、介绍 作用 fixture主要有两个作用&#xff1a; 复用测试数据和环境&#xff0c;可以减少重复的代码&#xff1b;可以在测试用例运行前和运行后设置和清理资源&#xff0c;避免对测试结果产生影响&#xff0c;同时也可以提高测试用例的运行效率。 优势 pytest框架的fix…

Unity知识点-Renderer常用材质变量

本篇总结了Unity中renderer的3种常用的材质相关的变量&#xff1a;renderer.material,renderer.sharedMaterial,renderer.MaterialPropertyBlock。以及三者对SRPBatcher的影响。 一.介绍及对比 1.概念介绍 1.material 定义&#xff1a;material 是Render组件&#xff08;如…

【算法】​​如何判断时间复杂度?

文章目录 1. 什么是时间复杂度&#xff1f;为什么需要时间复杂度&#xff1f; 2. 常见时间复杂度对比3. 如何分析时间复杂度&#xff1f;&#xff08;Java版&#xff09;&#x1f539; 步骤1&#xff1a;找出基本操作&#x1f539; 步骤2&#xff1a;分析循环结构&#xff08;1…

MySQL使用C语言连接

文章目录 版本查看以及编译mysql接口介绍初始化链接数据库下发mysql命令mysql_query获取执行结果mysql_store_result获取结果行数mysql_num_rows获取结果列数mysql_num_fields获取列名mysql_fetch_fields获取结果内容mysql_fetch_row关闭mysql链接mysql_closeC语言操作mysql查看…

坚持每日Codeforces三题挑战:Day 7 - 题目详解(2025-06-11,难度:1200,1300,1500)

每天坚持写三道题第七天&#xff1a; Problem - A - Codeforces 1200 Problem - B - Codeforces 1300 Problem - A - Codeforces 1500 目录 题目一: 题目大意: 解题思路: 代码(C): 题目二: 题目大意: 解题思路: 代码(C): 题目三: 题目大意: 解题思路: 代码(C): …

洛谷 P4305:[JLOI2011] 不重复数字 ← unordered_set

【题目来源】 https://www.luogu.com.cn/problem/P4305 【题目描述】 给定 n 个数&#xff0c;要求把其中重复的去掉&#xff0c;只保留第一次出现的数。 【输入格式】 第一行一个整数 T&#xff0c;表示数据组数。 对于每组数据&#xff0c;第一行一个整数 n。第二行 n 个数…

STM32固件升级设计——SPIFLASH模拟U盘升级固件

目录 概述 一、功能描述 1、BootLoader部分&#xff1a; 2、APP部分&#xff1a; 二、BootLoader程序制作 1、分区定义 2、 主函数 3、配置USB 4、配置fatfs文件系统 5、程序跳转 三、APP程序制作 四、工程配置&#xff08;默认KEIL5&#xff09; 五、运行测试 六…