Linux基础测试

linux基础测试

一、环境准备

基础环境信息

  • 登录用户:root(初始密码:redhat)
  • 虚拟机启动:登录后执行 virt-manager,右键启动 node1 和 node2 虚拟机
  • node1 信息:root 密码为 redhat,需完成以下配置任务
  • node2 信息:需先破解 root 密码并设置为 redhat,再完成后续任务

二、node1 主机配置任务

1. 配置网络地址

需求:为 node1 配置网络参数

  • 主机名:node1.example.com
  • IP 地址:192.168.122.10/24
  • 默认网关:192.168.122.1
  • DNS 服务器:192.168.122.1

操作步骤

#因为测试所用是rhel9,修改名字的方法有变
hostnamectl hostname node1.example.com
bash#配置网络
#先用nmcli connection show查看一下网卡的名字(环境不同网卡的名字也有变)
nmcli connection modify enp1s0 ipv4.address 192.168.122.10/24 ipv4.gateway 192.168.122.1 ipv4.dns 192.168.122.1 ipv4.method manual connection.autoconnect yesnmcli connection up enp1s0

2. 配置默认 YUM 软件仓库

需求:配置默认软件源为以下地址

  • BaseOS:http://ansible.example.com/rhel9/BaseOS
  • AppStream:http://ansible.example.com/rhel9/AppStream

操作步骤

#自定义yum仓库
vim /etc/yum.repos.d/server.repo#添加
[a]
name=aa
baseurl=http://ansible.example.com/rhel9/BaseOS
enabled=1
gpgcheck=0[aa]
name=aaa
baseurl=http://ansible.example.com/rhel9/AppStream
enabled=1
gpgcheck=0

3. 调试 SELinux(配置 httpd 服务)

需求:配置 httpd 在 82 端口提供 Web 服务

  1. 可访问 /var/www/html/ 中的 HTML 文件
  2. 系统启动时自动启动 httpd
  3. SELinux 运行在 Enforcing 模式

操作步骤

#查看防火墙的配置
[root@node1 ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: enp1s0sources: services: cockpit dhcpv6-client http sshports: protocols: forward: yesmasquerade: noforward-ports: source-ports: icmp-blocks: rich rules: #没有82端口号,添加
firewall-cmd --add-port=82/tcp --permanent 
firewall-cmd --reload #检查http服务是否有82号端口号
semanage port -l | grep http
#没有82号端口,需要添加
semanage port -a -t http_port_t -p tcp 82
systemctl restart httpd
systemctl enable httpd#检查/var/www/html下的文件的端口标签是否正确ll -Z /var/www/html/
#发现不对需要更改
semanage fcontext -a -t httpd_sys_content_t /var/www/html/file1
restorecon -Rv /var/www/html/file1
检查是否可以访问
#结果
[root@node1 ~]# curl http://node1:82/file1
Welcome to EX200 exam!
[root@node1 ~]# curl http://node1:82/file2
Welcome to EX200 exam!
[root@node1 ~]# curl http://node1:82/file3
Welcome to EX200 exam!

4. 配置用户账户(tammy)

需求:创建用户 tammy

  • UID:2024
  • 密码:redhat

操作步骤

useradd -u 2024 tammyecho redhat | passwd --stdin tammy

5. 配置用户及组账号

需求

  1. 创建组 admins
  2. 用户 zhsan,附属组为 admins
  3. 用户 lisi,附属组为 admins
  4. 用户 wangwu,无交互登录 Shell,不属于 admins
  5. 所有用户密码:redhat

操作步骤

#按题目一步一步添加
groupadd admins
useradd -G admins zhsan
useradd -G admins lisi
useradd -s /sbin/nologin wangwu
echo redhat | passwd --stdin zhsan
echo redhat | passwd --stdin lisi
echo redhat | passwd --stdin wangwu

6. 配置 cron 计划任务

需求

(1)以 zhsan 身份每 5 分钟执行:logger "RH200 Test"

(2)以 zhsan 身份每天 14:28 执行:logger "RH200 Test"

操作步骤

#指定zhsan进入cron任务编辑
crontab -u zhsan -e#添加
*/5 * * * * logger  "RH200 Test"
28 14 * * * logger  "RH200 Test"

7. 配置文件权限(/var/tmp/hosts)

需求:复制 /etc/hosts 到 /var/tmp/hosts,配置权限:

  1. 属主、属组均为 root
  2. 无任何用户可执行权限
  3. zhsan 可读写
  4. lisi 不可读写
  5. 其他用户可读取

操作步骤

#先复制
cp /etc/hosts /var/tmp/hosts#查看文件权限情况
ll /var/tmp/hosts 
-rw-rw-r--+ 1 root root 481  8月  7 20:30 /var/tmp/hosts
#发现1,2,5题的条件已经满足#3,4题需要设置acl
setfacl -m u:zhsan:rw- /var/tmp/hosts 
setfacl -m u:lisi:--- /var/tmp/hosts 

8. 创建共用目录(/home/tools)

需求

  1. 组所有权为 admins
  2. admins 组成员可读写访问,非 root 其他用户无权限
  3. 目录下新文件自动继承 admins 组所有权

操作步骤

#创建文件
mkdir /home/tools#查看文件的权限布置
ll -d /home/tools#按题目更改权限
chgrp admins /home/tools/
ll -d /home/tools
chmod g=rwx,o=--- /home/tools/
chomd g+s /home/tools/

9. 配置 NTP 时间客户端

需求:配置系统为 ansible.example.com 的 NTP 客户端

操作步骤

#检查是否有chrony服务
rpm -q chrony
#如没有就要先下载chrony服务
yum -y install chrony#进入配置文件里
vim /etc/chrony.conf # Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
#pool 2.rhel.pool.ntp.org iburst #将原来的注释掉
server ansible.example.com iburst #添加题目给的服务器地址#重启服务
systemctl restart chronyd
systemctl enable chronyd
hwclock -w #同步

10. 配置 autofs 自动挂载

需求:自动挂载远程用户主目录

  1. 远程 NFS 共享:ansible.example.com:/rhome(IP:192.168.122.1)
  2. 用户 remoteuser1 密码:password
  3. 本地挂载点:/rhome/remoteuser1
  4. 挂载后可写入

操作步骤

#下载autofs服务
yum -y install autofs#进入配置文件
vim /etc/auto.master
#添加新的主文件
/misc   /etc/auto.misc
/rhome  /etc/auto.nfs #复制模板
cp /etc/auto.misc /etc/auto.nfs#进入新的自动挂载点配置文件
vim /etc/auto.nfs
#将原先的注释掉,再最下面添加
remoteuser1     -fstype=nfs,vers=4,rw   ansible.example.com:/rhome/remoteuser1#重启服务
systemctl restart autofs
systemctl enable autofs

11. 查找用户文件

需求:查找用户 tammy 的所有文件,副本放入 /root/files 目录

操作步骤

#新建存放目录
mkdir /root/filesfind / -user tammy -exec cp -rf {} /root/files/ \;

12. 查找字符串

需求:在 /etc/man_db.conf 中查找含 sbin 的行,保存到 /root/out.txt(无空行,保持原始顺序)

操作步骤

 grep sbin /etc/man_db.conf | grep -v ^$ > /root/out.txt

13. 创建归档文件

需求

(1)创建 /root/backup.tar.bz2,包含 /usr/local/,使用 bzip2 压缩

(2)创建 /root/sysconfig.tar.gz,包含 /etc/sysconfig/,使用 gzip 压缩

操作步骤

tar -cjvf /root/backup.tar.bz2 /usr//local/
#发现没有bzip2的服务
#下载bzip2
yum -y install bzip2#重新归档
tar -cjvf /root/backup.tar.bz2 /usr//local/tar -czvf /root/sysconfig.tar.gz /etc/sysconfig/

14. 配置用户密码有效期

需求:新增用户密码 25 天后失效,过期前 5 天警告

操作步骤

#进入/login.defs配置文件
vim /etc/login.defs
#在里面查找并修改

15. 配置 sudo 提权

需求

  1. 创建用户 user1,密码:test
  2. 授权 user1 组用户无密码执行管理员命令

操作步骤

#创建用户,密码
useradd user1
echo test | passwd --stdin user1#用visudo进入配置
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
%user1  ALL=(ALL)       NOPASSWD: ALL
添加user1组的用户无需密码执行命令

三、node2 主机配置任务

1. 重置 root 密码及网络配置

需求

  • 获取 node2 管理权限,设置 root 密码为 redhat
  • 配置网络参数(参考 node1 网络规则,确保连通性)

操作步骤

#rhl9的破解用户密码也有不同
#进入grub菜单时切换到第二个,然后按e进入编辑模式
#和7版本一样在Linux最后添加 rd.break 但还要添加 console=tty0
#按ctrl+x进入伪系统
#重新挂载,进入系统
mount -o remount,rw /sysroot
chroot /sysroot#修改密码,添加标签
echo redtat | passwd --stdin root
touch /.autorelableexit*2退出

2. 配置 YUM 软件仓库

需求:同 node1,使用以下源

  • BaseOS:http://ansible.example.com/rhel9/BaseOS
  • AppStream:http://ansible.example.com/rhel9/AppStream

操作步骤

#因为node1已经配置过,可以直接远程复制过来
scp root@ansible:/etc/yum.repos.d/server.repo /etc/yum.repos.d/

3. 调整逻辑卷大小(lv0)

需求:将逻辑卷 lv0 及文件系统调整为 300MiB,保持内容不变

操作步骤

#先查看lv0的原本大小
df -Th
/dev/mapper/vg0-lv0   ext4    #查看vg0的大小是否足够300mib
vgdisplay#对lv0进行扩容
lvextend -L 300M /dev/vg0/lv0
resize2fs /dev/vg0/lv0 

4. 添加交换分区

需求:新增 512MiB 交换分区,系统启动自动挂载,保留原有交换分区

操作步骤

#先查看磁盘分区和swap的大小
parted -l
free -m#选择用/dev/vdb来添加分区
parted /dev/vdb
#添加512MIB的分区udevadm settle#用swap格式化分区
mkswap /dev/vdb2
#将uuid加入到fstab中
vim /etc/fstab
uuid=    swap swap defulet 0 0#启动swap
swapon -a#查看是否增加
free -m

5. 创建逻辑卷(mylv)

需求

  1. 卷组 myvg,扩展块大小 16MiB
  2. 逻辑卷 mylv,大小 50 个扩展单元
  3. 格式化文件系统:vfat
  4. 开机自动挂载到 /mnt/mydata

操作步骤

#创建一个新的分区
parted /dev/vdb
udevadm settle#按要求新建物理卷,卷组,逻辑卷
pvcreate /dev/vdb3
vgcreate -s 16M myvg /dev/vdb3
lvcreate -l 50 -n mylv myvg#用vfat格式化
mkfs.vfat /dev/myvg/mylv #新建挂载地,查看分区uuid
mkdir /mnt/mydata
blkid /dev/myvg/mylv #添加到fstab中
vim /etc/fstab 
#刷新挂载
mount -a

6. 配置系统调优(tuned)

需求:选择建议的 tuned 配置集并设为默认

操作步骤

#系统推荐;设置;启动
tuned-adm recommend 
tuned-adm profile virtual-guest 
tuned-adm active 

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

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

相关文章

Linux中Docker Swarm实践

一、部署前后分离使用你自己的自定义镜像部署多个副本所有副本使用相同的配置和逻辑Nginx 做反向代理统一入口外部访问形式如:http://your-domain/api/xxx1.1 建立私库镜像已构建并推送到可访问的镜像仓库启动 Docker Registry 容器docker run -d -p 5000:5000 --re…

Dash 中的 dcc.Clipboard 组件详解:实现一键复制功能

dcc.Clipboard 是 Dash 核心组件库中的一个实用工具,允许用户将指定内容一键复制到系统剪贴板,极大提升用户体验。本文将深入解析该组件的用法、特性和实际应用场景。 一、组件核心功能与价值 dcc.Clipboard 解决了 Web 应用中的关键痛点: 简…

初识C++类的6个默认成员函数

目录 一、初始化和清理 二、拷贝复制 三、取地址重载 四、重要说明 五、注意事项 六、示例代码 在C中,当一个类没有显式定义某些成员函数时,编译器会自动生成6个默认成员函数。这些函数可以分为以下几类: 一、初始化和清理 1、构造函数…

Spring事务失效场景?

题目详细答案Spring事务失效的场景主要有以下几种。非public方法使用Transactional场景描述:Spring事务管理是基于AOP实现的,而AOP对于JDK动态代理或CGLib动态代理只会代理public方法。如果事务方法的访问修饰符为非public,SpringAOP无法正确…

1.电动汽车动力电池系统技术介绍与分类

1.电动汽车动力电池系统技术介绍与分类 1.1 电动汽车发展的三个 “黄金时代” 第一个黄金时代(19 世纪末 - 20 世纪初) 技术基础:铅酸蓄电池发明(1859 年),推动电动三轮车(1873 年)、…

调用阿里云-阿里云百炼 AI

相关文档:大模型服务平台百炼控制台 多轮对话:通义千问模型的多轮对话_大模型服务平台百炼(Model Studio)-阿里云帮助中心 创建知识库:大模型服务平台百炼控制台 创建智能体:大模型服务平台百炼控制台 点击智能体发布后&#x…

Apache Flink:从实时数据分析到实时AI

引言欢迎踏上这段深入了解 Apache Flink 演进历程的旅程,Apache Flink 是一项重新定义了实时数据处理的技术。本博客文章基于王峰(阿里云开放数据平台负责人、Apache Flink Committer)在 2025 年 Flink Forward Asia 新加坡大会上的演讲内容编…

oelove奥壹新版v11.7旗舰版婚恋系统微信原生小程序源码上架容易遇到的几个坑,避免遗漏参数白屏显示等问题

oelove和 金媒我都用过一段时间,其中oelove 用的时间较多,也比较了解这个系统,这个系统比较不错的就是小程序是原生的(完全遵循微信开发者平台规则非Uniapp)开发的,原生小程序的特点就是兼容性好&#xff0…

行为模式-模板方法模式

定义:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithms structure.(定义一个操作中的算法的框架&a…

Java集合遍历练习题

以下是10道难度递增的集合遍历练习题,涵盖List、Set、Map的各种遍历方式,包含解题思路、代码实现和输出结果: 练习题1:基础遍历 - ArrayList的for-each遍历 题目:创建一个存储5个字符串的ArrayList(元素为&…

深度学习·ZegclipClip-RC

Zegclip 获取图像的特殊编码:使用prompt tuning的技术,目的是减少过拟合和计算量。调整文本编码:使用RD关系描述符,将每一个文本对应的[cls] token和图像对应的[cls] token作哈密顿积,最后文本[cls]token形式化任务 文…

Taro 扩展 API 深度解析与实战指南

Taro 扩展 API 深度解析与实战指南 Taro 作为一款优秀的多端开发框架,提供了一系列强大的扩展 API,这些 API 极大地提升了开发效率和应用的可维护性。本文将深入解析 Taro 的扩展 API,并根据其功能特性进行分类讲解,帮助开发者更…

容器之王--Docker的部署及基本操作演练

1.2 部署docker 1.2.1 容器工作方法1.2.2 部署第一个容器 官方站点:https://docs.docker.com/ 1.2.2.1 配置软件仓库 ]# cd /etc/yum.repos.d ]# vim docker.repo [docker] name docker-ce baseurl https://mirrors.aliyun.com/docker-ce/linux/rhel/9/x86_64/sta…

VFTO与局部放电-高压设备绝缘系统的双重挑战与防护策略

目录 引言VFTO的定义与形成机理VFTO对高压设备绝缘系统的影响局部放电的危害与机制VFTO与局部放电的关联性分析检测与监测技术防护与抑制措施未来技术发展趋势结论与展望引言 在现代电力系统中,超快速暂态过电压(Very Fast Transient Overvoltage, VFTO&…

Windows下Rust编码实现MP4点播服务器

Rust编码可以实现众多简洁、可靠、高效的应用,但语法逻辑要求严格,尤其是依赖库的选择调用,需要耐心坚持“推敲”。借助DeepSeek并反复编程调试和问答改进,可以最终得到完整有效的Rust编码。下面分享Windows下Rust编码实现MP4点播…

ubuntu-相关指令

1、串口1.1确认在系统中检查设备是否正常加载,在终端输入以下命令:way1:ll /dev | grep ttyUSB(ll是LL的小写) way2:ll /dev | grep ttyACM way3:ll /dev | grep ttyCH343USB&#…

docker容器临时文件去除,服务器容量空间

概述: 接到告警提醒,服务器容量不足,去查看了一下,发现确实100g左右容量已基本用完;分析: 1)查看根目录下哪些文件夹占用容量较大 使用命令“ du -ah --max-depth1 / ” 查看目标目录下所有文件…

损耗对信号质量的影响

损耗通常分为介质损耗与导体损耗:介质损耗:介质被施加电场后介质内部带电粒子在外加电场的作用力下进行微小移动介质损耗与频率成正比导体损耗:导体由于存在电阻,在有电流流过时产生的热量造成的损耗为导体损耗。同时,…

【42】【OpenCV C++】 计算图像某一列像素方差 或 某一行像素的方差;

文章目录1 要使用到的函数 和 原理1.1 cv::meanStdDev 函数详解——计算均值和标准差1 .2 方差的通俗解释2 代码实现3 问题3.1 入口参数const cv::Mat& img 和 const cv::Mat img区别项目要求:C OPenCV 中 图像img ,当 string ROIdirection “H”时,…

元图 CAD 插件化革命:突破效率瓶颈,重构智能协作新范式

在建筑、机械、机电等工程领域,传统CAD软件的功能固化与场景割裂已成为效率提升的瓶颈。设计师常面临“通用工具难适配专业需求”、“跨平台协作效率低下”、“数据孤岛阻碍创新”等痛点。元图CAD凭借“场景插件化“核心技术,以模块化能力突破行业桎梏&a…