2025红帽挑战赛区域赛决赛(山东赛区) WriteUP

WriteUP本来是网安的说法,但这个也是答题报告啦 就也这么叫了

比赛是上周六比的 尽力了 拼尽全力没有拿第一晋级(遗憾离场 实力还是有待提升

赛题截屏

2ff1aaafe51ed45e96a078e0ae547053

804b93082d36a9e41231542e2c2105b8

067c5142349349df50bebb2b06632afa

68b94a08da8dec046c71646048b8ad03

实验1:应用场景

安装部署rhel9.0系统,4C,4G内存,磁盘空间200G的SATA接口,要求如下:

这里直接截屏vmware的安装配置啦image-20251202225454791

根分区划分30G,LVM形式xfs文件系统格式image-20251202225513872

boot分区1G,标准形式的分区xfs文件系统格式;(注意有一些vmware版本过高,需要分配/boot/efi分区,最低给600M)image-20251202225528567

Swap分区2G,LVM形式swap文件系统格式image-20251202225541949

/var/log分区40G,LVM形式xfs文件系统格式image-20251202225605989

自定义分区,挂载到根目录下的按照自己的姓名全拼(如/upwen-wuge),LVM形式,xfs文件系统格式,匹配剩余所有空间。image-20251202225636639

上面步骤为我的分区过程 最后使用命令验证一下分区是否成功!image-20251202225651413image-20251202225655929

通过nmcli工具设置一个网络连接配置文件,名称为你的姓名全拼如zhangsan-private(zhangsan为你的名字),文件中配置为:IP地址为192.168.100.100/24,网关为192.168.100.1(此时虚拟机的网卡设置为仅主机模式),该网络不包含默认路由

我配置了ip地址为192.168.100.100/24 网关为192.168.100.1 名称也为我的姓名全拼了 而且设置了ipv4.never-default不获取默认路由image-20251202225713645

Nmcli查看配置如下image-20251202225733825

虚拟机再新增一块网卡,对此设置一个网络连接配置文件,名称为你的姓名全拼zhangsan-public(zhangsan为你的名字),文件中配置为自动获取,并测试网络联通性,可以访问百度。(此时虚拟机新增的网卡设置为NAT模式)

虚拟机添加了第二网卡啦 NAT模式image-20251202225745778

设置一个网络连接配置文件 名称为我的姓名全拼gepengzhi-public 并开启dhcp自动获取image-20251202225819785

查看当前网卡状态image-20251202225827827

测试网络连通性 我这边是直接访问的baiduimage-20251202225836908

修改该linux主机的主机名位upwen(upwen为你名字的缩写)

修改成了我自己的名字 然后我使用su刷新了一下名称image-20251202225846555

最后使用hostnamectl命令再次查看我的主机名image-20251202225855682

请查看一下你所安装的linux的系统版本是什么。

分别使用了cat查看红帽信息 uname查看内核信息 以及hostnamectl查看系统版本image-20251202225904400

实验2:应用场景

创建用户lucy、lily、bob,其中lucy用户的用户id为1600,家日录在/opt/lucy下;lily用户为交互式shell;bob用户和lucy用户在同组中

首先创建lucy用户 指定了uid和家目录image-20251202225923933

创建 lily用户 使用交互式的shellimage-20251202225933091

查看lucy 用户的组image-20251202225940513

将bob创建的时候加入lucy的组 而且并验证image-20251202225947982

设置三个用户的密码为upwen@123

这个比较为了直观看到结果 我们使用管道符来进行这个操作 分别设置密码为upwen@123image-20251202230001101

以上三位用户的密码过期时间为90天

使用chage命令分别设置这些用户过期时间为九十天 然后并查看验证image-20251202230022226

对于lucy用户而言,我们需要将其账户设置的更加精确,除了设置密码过期时间为90天之外,还应让其在修改密码两天内不允许再次修改密码,在密码过期前五天提醒该用户,以及密码过期后三天仍然允许使用该账户密码登录,超过期限后,则因密码过期不能登录系统

再次修改lucy的用户配置 配置上述描写的设置并验证image-20251202230036549

由于lily用户的特殊性,实现锁定该用户

使用usermod来锁定用户 并验证image-20251202230045629

罗列出/etc/目录下所有的扩展名为.conf的文件(不包含目录文件,可以包含链接文件)

这个使用linux三剑客就可以啦 命令如下 不包含目录文件 可以包含链接文件image-20251202230059663

查找/etc/inittab文件是由哪个rpm软件包抽取出来的

这个很简单 使用rpm命令查看就好啦image-20251202230112934

对linux命令赋予suid权限,验证在bob用户环境下可以通过suid提权查看/etc/shadow文件;

本质上是给cat命令上suid权限 先为cat配置suidimage-20251202230120907

然后切换bob用户 查看/etc/shadow文件进行验证image-20251202230128967

通过vi编辑器将/etc/inittab每行开头的#全部去掉,使其每行内容生效,并另存到/opt/vi.txt

先使用vi编辑器打开这个文件

image-20251202230140733

使用这个命令将每行开头的#全部去掉image-20251202230151162

使用这个命令将文件写入到/opt/vi.txt里面image-20251202230205549

回显结果如下image-20251202230215134

然后退出编辑器 使用cat命令进行验证image-20251202230224125

清空/opt/vi.txt文件内容

使用重定向清空即可 然后使用cat命令进行验证image-20251202230236877

创建组/upwen-group(upwen为你的名字),该组为用户工作协作使用,创建目录/upwne-test,并且该文件属主权限为读写执行,属组为读写执行,其他人为读权限

创建我名字的组并验证image-20251202230249264

创建/gepengzhi-test目录image-20251202230306775

设置权限:属主rwx,属组rwx,其他人rimage-20251202230314345

设置属组为gepengzhi-groupimage-20251202230323591

最后检查目录权限进行验证image-20251202230337782

由于员工bob离职,现需要将bob在linux服务器上所有相关文件全部清除,请按照需求操作,并测试结果(提示,通过find查找测试)

强制删除bob用户及其家目录image-20251202230345514

查找并删除bob拥有的所有文件image-20251202230352354

查找包含bob用户名的文件并删除image-20251202230359244

终止bob的所有进程image-20251202230408386

所有命令输出均显示错误信息,表明bob用户及其相关文件已完全清除image-20251202230419355

实验3:Linux管理和应用

将rhe19.0的IS0进行挂载到/mnt/iso日录,只配置YUM本地的仓库zhangsan.repo(zhansan为你的名字),将/mnt/iso日录作为repo文件的路径源,启用该仓库,不做gpg签名的check。(一定要注意是在什么版本的Linux系统配置YUM仓库,需要配置几个YUM仓库)

创建/mnt/iso目录并挂载image-20251202230810365

配置Yum仓库 rhel9需要配置两个仓库 我直接使用EOF写入啦 没有做gpg签名checkimage-20251202230820760

重建缓存并验证仓库状态!image-20251202230828585

由于公司需要搭建web服务器,现在需要你在该服务器上配置相应的服务,需求如下:

先安装http服务image-20251202230835144

web服务的默认网站存储路径存放在/home/wwwzhangsan(zhangsan为你的名字),并测试页面的测试页能够访问

创建网页目录image-20251202230842918

创建测试页面image-20251202230850612

使用linux三剑客将http的默认网站存储路径放在我名字目录下image-20251202230858222

http服务启动 然后curl命令进行测试 网站可以正常访问!image-20251202230906080

设置默认文档名称为zhangsan.html(zhangsan为你的名字),测试页内容为:welcome to study our course

刚刚已经创建好测试页的内容啦image-20251202230914412

使用sed命令设置默认文档名称为我的gepengzhi.htmlimage-20251202230923411

因为没办法关闭selinux所以要配置上下文image-20251202230930218

再次重启http服务 然后访问网页查看是否为我配置的测试页内容image-20251202230938159

为了防止黑客针对upwen公司的web服务的默认端口的攻击,现在将默认端口改为7788,并测试最终访问结果;(要求不能关闭selinux和firewalld防火墙)

允许Selinux对Apache服务绑定7788端口image-20251202230947278

修改Apache监听端口 使用sed修改 使用ss命令查看端口验证image-20251202230953900

配置防火墙开启7788端口image-20251202231020037

最后带着防火墙和Selinux状态下 测试网站连通性image-20251202231028498

最后使用外网机器访问本机 测试防火墙连通性

image-20251202231038470

实验4:Docker容器技术

安装docker容器相关软件包,并查看容器进程。(tips:需额外配置阿里云镜像仓库进行安装)

配置阿里云镜像仓库并安装docker相关软件包image-20251202232849227

image-20251202232901662

启动docker服务并使用docker ps命令来查看容器进程image-20251202232925562

给定容器镜像路径如下,请下载该容器镜像到本地

使用docker pull命令就可以啦image-20251202232940652

利用下载的centos:latest镜像构建一个sshd:latest的容器镜像并通过主机的12345端口可以ssh进入到该sshd镜像构建的容器当中;(需要进行测试)

使用docker run带着配置文件配置12345端口的情况下 并设置阿里云镜像源 来启动centosimage-20251202232959517

查看docker端口情况image-20251202233013070

使用ssh进入sshd镜像构建的容器中 密码为刚刚配置的password 测试成功!image-20251202233026489