【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了,考完要把它改回去!!!