第五周

1. Rocky 系统启动流程与 GRUB 工作流程

Rocky 系统启动流程

  1. BIOS/UEFI 启动:硬件上电后,BIOS/UEFI 负责硬件初始化,并加载启动设备(如硬盘)上的引导程序。
  2. GRUB 引导程序加载:GRUB 作为引导程序,从磁盘的 MBR 或 EFI 系统分区中加载。
  3. GRUB 配置文件解析:GRUB 读取 /boot/grub2/grub.cfg 文件,解析启动菜单和内核参数。
  4. 内核加载:根据用户选择的启动项,GRUB 将 Linux 内核(vmlinuz)和初始化内存文件系统(initramfs)加载到内存。
  5. 内核初始化:内核初始化硬件设备,挂载根文件系统。
  6. 用户空间启动:内核启动用户空间的 init 系统(如 systemd),完成系统服务的启动和用户登录环境的准备。

GRUB 工作流程

  1. 阶段 1:GRUB Stage 1 位于 MBR 或 EFI 系统分区,负责加载 GRUB 的核心镜像(core.img)。
  2. 阶段 2core.img 加载 GRUB 的主模块和配置文件(grub.cfg)。
  3. 菜单显示:GRUB 解析 grub.cfg 文件,显示启动菜单,用户可以选择启动项。
  4. 内核加载:根据用户选择,GRUB 加载指定的 Linux 内核和 initramfs,并将控制权交给内核。

2. AWK 工作原理、命令、选项及示例

工作原理

  • AWK 是一种文本处理工具,主要用于处理结构化文本。
  • 它逐行读取输入文件,根据模式(pattern)匹配行,并执行相应的动作(action)。
  • AWK 默认将每行分割为字段(默认以空格或制表符分隔),字段变量为 $1, $2, ..., $NF$0 表示整行。

常用命令

awk '{print $1}' file.txt  # 打印每行的第一个字段
awk '/pattern/ {print}' file.txt  # 匹配模式并打印整行
awk '{print NR, $0}' file.txt  # 打印行号和整行

常用选项

  • -F:指定字段分隔符(默认为空白字符)。
  • -v:设置变量的初始值。
  • -f:从文件中读取 AWK 脚本。

示例

打印 /etc/passwd 的用户名和用户 ID:

awk -F: '{print $1, $3}' /etc/passwd

3. 打印 /etc/passwd 的奇数行

awk 'NR % 2 == 1' /etc/passwd

4. 打印 Linux 系统的 IP 地址、系统版本、CPU 核心数和内存大小

# IP 地址
ip -4 addr show | grep inet | awk '{print $2}' | sed 's/\/.*//'

# 系统版本
cat /etc/os-release | grep PRETTY_NAME | cut -d '"' -f2

# CPU 核心数
nproc

# 内存大小
free -h | awk 'NR==2 {print $2}'

5. 在文本的所有行前加序号

awk '{print NR, $0}' file.txt

6. 内核设计流派及特点

微内核(Microkernel)

  • 特点:内核功能最小化,仅包含进程调度、通信和基本硬件管理,其他服务(如文件系统、网络)运行在用户空间。
  • 优点:高安全性、可扩展性好。
  • 缺点:性能较低,上下文切换频繁。

宏内核(Monolithic Kernel)

  • 特点:所有系统服务(如文件系统、设备驱动)都运行在内核空间。
  • 优点:性能高,上下文切换少。
  • 缺点:内核庞大,难以维护。

混合内核(Hybrid Kernel)

  • 特点:结合微内核和宏内核的优点,部分服务运行在内核空间,部分运行在用户空间。
  • 例子:Windows NT 内核、Linux 内核(部分功能类似混合内核)。

7. systemd 服务配置文件

systemd 服务配置文件位于 /etc/systemd/system//usr/lib/systemd/system/,文件后缀为 .service

常见配置项

  • [Unit]:单元的基本信息。
    • Description=:服务描述。
    • After=:指定启动顺序。
  • [Service]:服务的运行时配置。
    • ExecStart=:启动命令。
    • ExecStop=:停止命令。
    • Restart=:重启策略。
  • [Install]:安装时的配置。
    • WantedBy=:定义服务所属的运行级别。

8. systemd 启动流程

  1. 硬件初始化:由 BIOS/UEFI 完成。
  2. 内核启动:加载内核和 initramfs
  3. systemd 启动:内核启动完成后,systemd 作为 PID 1 启动。
  4. 目标单元加载systemd 根据默认目标(如 graphical.target)加载相关服务。
  5. 服务启动:根据服务的依赖关系和启动顺序,依次启动服务。
  6. 用户登录:启动用户登录服务(如 getty 或图形界面)。

9. DNS 域名三级结构

DNS 域名通常分为三级结构:

  1. 顶级域名(TLD):如 .com, .org, .net
  2. 二级域名(SLD):由用户注册,如 example.com
  3. 三级域名(子域名):由二级域名所有者定义,如 mail.example.com

10. DNS 服务工作原理及递归/迭代查询

工作原理

  • DNS(域名系统)用于将域名解析为 IP 地址。
  • 客户端向本地 DNS 服务器发送查询请求,本地 DNS 服务器根据缓存或递归/迭代查询获取结果。

递归查询

  • 客户端向本地 DNS 服务器发送请求,DNS 服务器负责获取最终结果并返回给客户端。
  • DNS 服务器会向其他服务器(如根服务器、TLD 服务器)查询,直到获取结果。

迭代查询

  • 客户端向本地 DNS 服务器发送请求,DNS 服务器返回一个指向其他服务器的引用。
  • 客户端直接向其他服务器查询,直到获取最终结果。

11. 实现私有 DNS 供本地网络主机作 DNS 递归查询

  1. 安装 DNS 服务器(如 bind):
    sudo yum install bind bind-utils
    
  2. 配置主配置文件 /etc/named.conf
    options {
        listen-on port 53 { 127.0.0.1; 192.168.1.0/24; };  # 允许本地网络访问
        allow-query { localhost; 192.168.1.0/24; };
    };
    
  3. 启动服务:
    sudo systemctl enable --now named
    
  4. 配置本地主机的 DNS 设置,指向私有 DNS 服务器。

12. DNS 服务器类型、解析答案、正反解析域、资源记录定义

DNS 服务器类型

  • 主服务器(Primary Server):存储区域文件的原始副本。
  • 从服务器(Secondary Server):从主服务器同步区域文件。
  • 缓存服务器(Caching Server):仅提供缓存功能,不存储区域文件。

解析答案

  • 权威答案:由管理该域名的服务器提供的答案。
  • 非权威答案:由缓存服务器提供的答案。

正反解析域

  • 正向解析域:将域名解析为 IP 地址。
  • 反向解析域:将 IP 地址解析为域名。

资源记录(RR)

  • A 记录:域名到 IPv4 地址的映射。
  • AAAA 记录:域名到 IPv6 地址的映射。
  • CNAME 记录:别名记录。
  • MX 记录:邮件服务器记录。
  • NS 记录:域名服务器记录。
  • PTR 记录:反向解析记录。

13. 实现 DNS 主从同步与子域授权

主从同步

  1. 配置主服务器:
    zone "example.com" {
        type master;
        file "/var/named/example.com.zone";
        allow-transfer { 192.168.1.2; };  # 从服务器 IP
    };
    
  2. 配置从服务器:
    zone "example.com" {
        type slave;
        masters { 192.168.1.1; };  # 主服务器 IP
        file "example.com.zone";
    };
    

子域授权

  1. 在父域中添加子域的 NS 记录:
    sub.example.com. IN NS ns.sub.example.com.
    
  2. 配置子域的 DNS 服务器,管理其区域文件。

14. OpenSSH 服务安全加固、免密认证原理及实现过程

安全加固

  1. 禁用 root 登录:
    PermitRootLogin no
    
  2. 禁用密码认证:
    PasswordAuthentication no
    
  3. 使用密钥认证:
    PubkeyAuthentication yes
    
  4. 禁用空密码登录:
    PermitEmptyPasswords no
    
  5. 限制用户登录:
    AllowUsers user1 user2
    

免密认证原理

  • 使用公钥/私钥对进行认证。
  • 私钥保存在客户端,公钥保存在服务器的 ~/.ssh/authorized_keys 文件中。
  • 客户端使用私钥对数据进行加密,服务器使用公钥解密验证。

免密认证实现过程

  1. 生成密钥对:
    ssh-keygen -t rsa
    
  2. 将公钥复制到服务器:
    ssh-copy-id user@server
    
  3. 测试免密登录:
    ssh user@server
    

15. 对称加密与非对称加密的概念及常见加密算法

对称加密

  • 概念:加密和解密使用相同的密钥。
  • 优点:速度快,适合大量数据加密。
  • 缺点:密钥分发和管理困难。
  • 常见算法:AES(高级加密标准)、DES(数据加密标准)、3DES。

非对称加密

  • 概念:使用一对密钥(公钥和私钥),公钥加密,私钥解密。
  • 优点:密钥分发简单,适合身份认证和数字签名。
  • 缺点:速度慢,不适合大量数据加密。
  • 常见算法:RSA、ECC(椭圆曲线加密)、DSA。

posted @ 2025-03-23 20:10  你好,运维人  阅读(16)  评论(0)    收藏  举报