当前位置: 首页 > news >正文

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.xdnf.cn/news/1255789.html

相关文章:

  • .NET 10 新增功能系列文章5——C# 14 中的新增功能
  • 人工智能的20大应用
  • 基于django的非物质文化遗产可视化网站设计与实现
  • [LVGL] 布局系统 lv_flex, lv_grid | 输入设备 lv_indev | union
  • 云原生安全挑战与治理策略:从架构思维到落地实践
  • 从密钥生成到功能限制:Electron 中 secure-electron-license-keys 的完整集成方案
  • Python生产环境部署指南:专业级应用启动方案
  • 2025最新国内服务器可用docker源仓库地址大全(2025年8月更新) · DockerHub镜像加速全面指南
  • 音视频时间戳获取与同步原理详解
  • 容器之王--部署Docker私有仓库harbor母盘步骤演练
  • 合约收款方式,转账与问题安全
  • ansible-playbook之获取服务器IP存储到本地文件
  • 一文读懂 C# 中的 Bitmap
  • GPT-5 将在周五凌晨1点正式发布,王炸模型将免费使用??
  • 【R语言】 高清美观的 MaxEnt 刀切图(Jackknife)绘制——提升论文质量
  • 从Text2SQL到Text2Metrics:衡石指标管理技术跃迁
  • 网页前端CSS实现表格3行平均分配高度,或者用div Flexbox布局
  • 92-基于Django的豆瓣图书推荐系统的设计与实现
  • 六边形架构模式深度解析
  • 解锁高效开发:AWS 前端 Web 与移动应用解决方案详解
  • 探究 ASGI 的技术优势:现代 Web 开发的新方向
  • Docker可用镜像(长期免费)
  • 从Centos 9 Stream 版本切换到 Rocky Linux 9
  • C++ - 仿 RabbitMQ 实现消息队列--案例
  • SQL注入攻击基础
  • HashMap寻址算法
  • FPGA学习笔记——SPI通讯协议简介
  • 【数据结构】排序(sort) -- 交换排序(冒泡快排)
  • 使用 Tauri 开发 Android 应用:环境搭建与入门指南
  • SkyWalking-1--SkyWalking是什么?