KYCA运维认证

第一题

命令 是否通配符 无点普通文件(abc) 带点普通文件(a.txt) 隐藏文件(.bashrc) 匹配./ ../ 展开子目录内容
ls / ls .
ls * ✅(* 匹配到子目录会展开里面文件)
ls .* ✅(强制匹配.开头,必然命中./../)
ls *.*

通配符解析逻辑: *.* = [任意非点开头字符] + . + 任意字符


第二题

路由类型 关键字 标准完整语法 使用场景 是否需要 -net
网段路由 -net route add -net 目标网段 netmask 掩码 gw 网关 访问一整个子网(如 192.168.1.0/24) ✅ 必须带
单主机路由 -host route add -host 单个主机IP gw 网关 仅访问某一台单独设备 ❌ 不能带
默认路由 default route add default gw 网关IP 所有未知网段统一走该网关 ❌ 完全不用

低版本 Linux 允许直接写网段,省略 -net,系统自动识别子网,服务器能正常执行;


第三题

文件路径 核心作用 区分要点
A /etc/HOSTNAME 旧版系统存放本机主机名 和域名解析无关
B /etc/hosts 本地静态域名解析,本地优先匹配,无需 DNS 服务器 题目问「本地域名解析」,选此项
C /etc/resolv.conf DNS 服务器地址配置(远程域名解析) 你说的没错,这是指定上游 DNS,不是本地解析
D /etc/network/interfaces Debian/Ubuntu 传统网卡配置文件,银河麒麟不使用 麒麟不用这个文件配置 IP

Linux的体系分支

bash 复制代码
UNIX
└── Linux内核(Linus Torvalds)
    ├─ 分支1:Debian 体系(deb软件包)
    │   ├─ Debian(原生上游)
    │   ├─ Ubuntu(基于Debian重构)
    │   ├─ 树莓派OS、Deepin深度系统
    │   └─ 国产桌面:统信UOS
    │   特征:dpkg/apt、网卡配置 /etc/network/interfaces
    │
    └─ 分支2:RedHat RHEL 体系(rpm软件包)
        ├─ RHEL(红帽商业企业版)
        ├─ CentOS(免费复刻RHEL,已停服)
        ├─ RockyLinux / AlmaLinux(CentOS替代)
        ├─ openEuler 欧拉(华为自研RPM分支,独立内核)
        └─ 国产服务器:银河麒麟Kylin V10
        特征:rpm/yum/dnf、网卡配置 /etc/sysconfig/network-scripts/

第四题

选项 名称 核心功能 麒麟(RHEL)表现 Ubuntu(Debian)差异 是否数据包过滤
A rarp 反向 ARP:MAC 查 IP 需手动yum install rarp安装,命令语法 rarp -s IP MAC Debian 源包名一样,但现代 Ubuntu 极少用,PXE 改用 dhcp,默认不预装 ❌ 无过滤功能,二层地址解析工具
B route 三层路由转发管理 系统自带,静态路由命令route add -net 网段 gw 网关 Ubuntu 也自带 route,用法完全一致;新版推荐ip route ❌ 只控制转发路径,不拦截丢弃数据包
C firewalld 防火墙服务,上层封装数据包过滤 麒麟 V10 默认防火墙服务,系统自带开机自启,管理底层 filter 表 Ubuntu无 firewalld !默认防火墙工具是ufw,底层同样依赖 netfilter/filter 表,命令完全不通用 ✅ 题目问「提供过滤的服务」,麒麟选 C,Ubuntu 对应服务为 ufw
D filter Linux 内核 netfilter 过滤表(底层内核模块) 内核内置,不是系统服务,firewalld/iptables 底层调用它 Ubuntu 内核同样存在 filter 表,属于内核通用组件,无系统差异 ✅ 底层实现,但不是服务,题干关键词「服务」直接排除 D

Ubuntu没有 firewalld 服务、没有 firewall-cmd 命令 ,默认防火墙服务是ufw

bash 复制代码
# Ubuntu防火墙操作(麒麟执行会直接报错command not found)
# 启用ufw过滤功能
ufw enable
# 放行80端口
ufw allow 80/tcp
# 查看过滤规则
ufw status numbered
# 关闭防火墙
ufw disable

Linux netfilter 三表完整深度精讲(底层原理 + Hook 绑定根源 + 工程实操 + 发行版差异)

前置基础:先吃透 5 个 Hook 钩子的执行时序与路由判断分界(所有表绑定 Hook 的根本原因)

1、网络数据包完整生命周期时序(内核固定流程,不可逆)

bash 复制代码
网卡入栈 → 【PREROUTING 路由前钩子】 → 内核路由判决(核心分水岭)
├─ 分支1:目标IP是本机 → 【INPUT 入站钩子】 → 上层应用进程
└─ 分支2:目标IP是其他主机 → 【FORWARD 转发钩子】 → 路由二次匹配 → 【POSTROUTING 出站前钩子】
本机进程主动发包 → 【OUTPUT 本地出站钩子】 → 路由判决 → 【POSTROUTING 出站前钩子】
流量类型 路由次数 两次路由的区别
转发流量(跨网段) 2 次 1. 简易判断是否转发;2. 过滤后完整查表算出口网卡
本机入站流量(访问本机服务) 1 次 PREROUTING 后一次路由,判定目标为本机,直接走 INPUT
本机出站流量(服务器主动访问外网) 1 次 OUTPUT 链后一次完整路由,直接算出出口网卡

转发流量为什么有两次路由判断?

协议 解析方向 核心用途 现代环境使用率
ARP IP → MAC 两台主机局域网通信,查询对方硬件地址 100%,所有内网必用
RARP MAC → IP 无盘设备开机获取自身 IP 0%,仅考题、老旧设备可见

第五题

符号 名称 完整作用解释
A ~ 波浪号 tilde 用户家目录简写1. 单独 ~ = 当前登录用户的主目录root 用户:~ 等价 /root普通用户 test:~ 等价 /home/test2. ~用户名:指定用户的家目录,例 ~mysql = /home/mysql
B * 星号 Shell 通配符,匹配任意长度任意字符ls *.txt 匹配所有后缀 txt 的文件,和目录无关
C . 点号 代表当前所在目录 ls . 查看当前文件夹内容;. 也用于隐藏文件开头(.bashrc
D $ 美元符 1. Shell 提示符普通用户结尾标识([test@localhost ~]$)2. 读取变量:$PATH$USER和目录路径无任何关系

第八题


第十二题


第十三题


第十五题

命令 核心功能
useradd 创建普通用户账号(本题答案)
userdel 删除用户
usermod 修改用户属性(UID、附加组、家目录、shell)
passwd 设置 / 修改用户登录密码
groupadd 创建用户组(选项 A)
groupdel 删除用户组
groupmod 修改组名称、GID
gpasswd 管理组内成员,添加 / 移除用户到指定组

第十六题

对比维度 su sudo
核心行为 切换完整用户登录会话 临时借权执行单条命令,不切换会话
要输谁的密码 目标用户(切 root 输 root 密码) 当前登录用户(输自己密码)
终端身份变化 变成目标用户,需要 exit 退出 全程保持自己账号,执行完自动复原
是否符合本题要求 不符合(会切换用户环境) 完全符合
适用场景 长时间切换账号操作 只跑 1 条管理员命令,不想换账号
对比项 su root(无横杠) su - root(带横杠,完整登录)
环境变量 保留原用户全部环境 清空原有环境,加载目标用户专属配置
登录脚本 不执行目标用户 profile/bashrc 完整执行全套登录初始化脚本
当前工作目录 切换前目录不变 自动跳转到目标用户家目录 /root
PATH 变量 包含原用户私人目录 纯系统默认管理员 PATH,无私人路径
环境纯净度 混杂两套用户环境,易冲突 纯净、标准,和本机登录 root 完全一致
典型用途 临时简短操作,复用自身环境 长期运维、程序调试、故障排查

第十七题


第十九题

权限的相关知识点

1. 权限三段固定对象(永远不变)

第一位 用户u | 第二位 组g | 第三位 其他o

  • u:文件创建者 / 所有者
  • g:和文件归属同一个用户组的所有人(本题 alex 属于这一类)
  • o:系统里剩下所有不沾边用户

2. r/w/x 三种权限对【文件】和【目录】作用完全不同(90% 人踩坑)

① 针对普通文件(txt/conf/sh/log)

权限 作用
r 读取文件内容(cat/less)
w 修改、覆盖、删除文件内容(vi/echo >)
x 执行脚本 / 二进制程序(shell、elf 程序)

② 针对文件夹 / 目录(核心难点,工程高频踩坑)

目录 x 权限是进入目录的通行证,没有 x,哪怕有 rw 也无法 ls / 修改内部文件

权限 目录作用
r 列出目录内文件名(ls)
w 在目录新建 / 删除 / 重命名内部文件
x 进入目录、访问内部文件内容(cd、读取子文件)

举个典型坑:

tom 家目录 /home/tom 权限如果是 r--r--r--,alex 只有 r 无 x,哪怕 file1 是 664,alex 也 cd 不进去,根本看不到 file1,更谈不上修改。 目录至少需要 x 权限才能访问内部文件

三、工程最常用权限场景(服务器运维标准规范)

1. 普通配置文件、日志、文本(*.conf *.txt *.log):644 rw-r--r--

  • 所有者读写,组和其他人只能查看,不能篡改
  • 示例:nginx.conf、/etc/profile、普通日志文件
bash 复制代码
chmod 644 /etc/nginx/nginx.conf

2. 需要同组成员协同编辑的共享文件:664 rw-rw-r--(本题场景)

开发组多人同组,所有人都能修改文件,外部人员仅可读

bash 复制代码
chmod 664 /data/dev/code.txt

3. 密钥、密码、隐私文件(id_rsa、shadow、数据库密钥):600 rw-------

最高安全标准,仅文件所有者能读写,组、其他人无任何权限,生产密钥强制 600

bash 复制代码
chmod 600 ~/.ssh/id_rsa

4. 程序脚本、可执行二进制(sh、python、elf):755 rwxr-xr-x

所有者可读写执行,组和其他人可读可执行,不可修改

系统命令、启动脚本统一 755

bash 复制代码
chmod 755 /usr/bin/nginx start.sh

5. 共享目录、网站根目录(文件夹必须带 x):755 rwxr-xr-x

目录必须有 x 才能进入,网站目录标准权限

bash 复制代码
chmod 755 /var/www/html

6. 团队共享协作目录(多人读写上传文件):770 rwxrwx---

仅所有者 + 同组可读写进入,外部用户完全禁止访问,企业项目目录首选

bash 复制代码
chmod 770 /data/project

7. 高危权限 777(生产严禁使用)

所有用户读写执行,任何用户都能删除篡改文件,安全漏洞,仅临时本地测试偶尔用。

四、配套修改权限 / 归属命令(实操必用)

1. chmod:修改数字 / 符号权限

bash 复制代码
# 数字修改
chmod 664 file1
# 符号写法(给组增加写权限,本题等价操作)
chmod g+w file1
# 去掉其他用户所有权限
chmod o-rwx file1

2. chown:修改文件所有者、所属组(常搭配权限使用)

bash 复制代码
# 所有者tom,组users
chown tom:users file1
# 仅改组
chown :users file1

3. 查看权限

bash 复制代码
ls -l file1
ls -ln file1 # 显示UID/GID数字,不显示用户名
参数 对应英文 作用 口诀
-d directory 修改家目录 d = 目录,改路径
-e expire 修改账号过期时间 e = 到期,管过期
-aG append group 追加附属用户组 a = 追加,加组员

第二十题

字段序号 示例内容 字段名称 详细说明
1 root 登录用户名 用户登录系统使用的账号名,root 是超级管理员账号
2 x 密码占位符 x 表示密码加密内容存放在 /etc/shadow;为空代表无登录密码
3 0 UID(用户 ID) 用户数字标识,root 固定 0;1~999 为系统账号;≥1000 为普通登录用户
4 0 GID(主组 ID) 用户默认所属主组的数字 ID,对应 /etc/group 文件
5 root 用户注释信息 备注字段,可填写姓名、部门、联系方式,无强制格式
6 /root 用户家目录 登录后默认进入的目录,普通用户默认路径 /home/用户名
7 /bin/bash 默认登录 Shell 用户登录后运行的命令解释器;/bin/bash 可交互登录;/sbin/nologin 禁止账号登录

第二十二题

chattr命令

实操演示区分:

bash 复制代码
# 给文件加a属性
chattr +a test.log
# 追加内容,正常成功
echo "新增日志" >> test.log
# 覆盖原有内容,直接报错
echo "覆盖" > test.log
# 删除文件,报错无法删除
rm -f test.log

# i属性完全锁死,连追加都不行
chattr +i test.txt
echo 123 >> test.txt # 权限拒绝
rm test.txt # 权限拒绝

生产环境高频使用场景(运维每天都会用到)

场景 1:系统日志防篡改(最主流)

/var/log/ 下系统日志、业务日志,防止黑客、误操作清空日志销毁操作痕迹

bash 复制代码
# 给系统安全日志开启追加属性
chattr +a /var/log/secure
chattr +a /var/log/messages

场景 2:关键业务审计文件

企业操作记录、充值流水、登录审计记录,只能新增记录,不能删除修改历史数据,保证数据不可篡改。

场景 3:防止重要文件被误删 / 覆盖

服务器配置说明、备案材料、密钥说明文档,允许补充备注,但不能删除、覆盖原有文字。

4. 配套完整实操命令(生产常用)

bash 复制代码
# 1. 给文件开启追加属性
chattr +a file.log

# 2. 取消追加属性(必须root才能执行)
chattr -a file.log

# 3. 查看文件扩展属性,确认a是否生效
lsattr file.log
# 输出示例:-----a------- file.log 代表已开启a属性

# 4. 递归给目录下所有日志加a属性
chattr -R +a /var/log/xxx/

第二十三题

A /etc/services 存储系统端口与服务名映射表(如 80 对应 http、22 对应 ssh),和磁盘挂载完全无关,排除。

B /etc/sysctl.conf Linux 内核运行参数配置文件(调整 TCP 连接、内存、端口上限等内核调优项),不管理磁盘,排除。

3. C /etc/fstab(正确) File System Table,文件系统挂载表。系统开机时自动读取此文件,按里面的配置自动挂载磁盘 / 分区 / 网络存储,所有 Linux 发行版(银河麒麟、CentOS、Ubuntu)通用。

4. D /etc/crontab 系统级定时任务配置文件,用来设置定时执行脚本 / 命令,和磁盘无关,排除。

磁盘挂载

1. 底层原理:Linux 所有磁盘分区必须挂载才能读写

Linux 没有 Windows "C 盘 D 盘" 盘符概念,所有硬盘分区都要挂载到一个目录下才能访问文件。

  • 系统根分区 //boot、swap 交换分区,安装系统时自动写入 fstab,开机自动挂载,你看不到手动操作;
  • 新加的数据盘、第二块硬盘、U 盘、NAS 网络存储,不会自动写入 fstab ,重启后挂载失效,必须手动写进 /etc/fstab 实现永久开机挂载。

2. VMware 虚拟机为什么没手动操作?

  1. 安装麒麟系统时,安装程序自动把系统分区(/、/boot、swap)写入 /etc/fstab
  2. 你平时只用系统盘,开机自动挂载,不用手动配置,感知不到;
  3. 如果你在 VMware 新增一块虚拟硬盘,重启后会消失挂载,这时就必须修改 /etc/fstab

3. 实体服务器是否需要配置?

分两种情况:

  1. 系统自带硬盘(装系统的盘):装机时自动写入 fstab,无需手动操作;
  2. 业务数据盘、扩容硬盘、阵列盘 :必须手动写入 /etc/fstab,否则服务器重启后磁盘消失,业务数据无法访问。 企业实体服务器几乎都会配置多块数据盘,是运维高频操作。
bash 复制代码
# 第一行:系统根分区 /
/dev/mapper/klas\_bogon-root /                       xfs     defaults        0 0

# 第二行:/boot 启动分区,存内核、引导文件
UUID=f5e18d8e-fe45-4581-9d6a-74456cc3eeb6 /boot                   xfs     defaults        0 0

# 第三行:swap交换分区,虚拟内存
/dev/mapper/klas\_bogon-swap none                    swap    defaults        0 0

通用 6 字段模板(每行统一结构)

设备标识 挂载点 文件系统类型 挂载参数 dump备份标记 fsck自检优先级


梳理blkid的内容

先梳理整机磁盘硬件结构:你的服务器只有一块物理硬盘 /dev/sda,分了 2 个分区:


硬盘、分区、挂载


场景:服务器磁盘根目录 / 爆满,新增一块物理硬盘




  1. xfs_growfs给已经在用、存有数据的 XFS 文件系统「扩大容量」,只扩容、不删除原有数据;
  2. mkfs.xfs给空白裸设备「新建格式化文件系统」,会清空设备里所有数据,是从零创建文件系统。

第二十五题

指令 全称 功能说明(考试 + 工程重点)
m menu 打印全部帮助菜单,忘记指令就输 m
p print 打印当前硬盘分区表(本题考点,看 * 引导标记)
n new 新建分区(主 / 扩展 / 逻辑分区)
d delete 删除已有分区(高危!数据全部清空)
a activate boot 切换分区的可引导标记 (输入 a 后选分区,分区 p 输出会出现 / 消失*
t type 修改分区类型 ID(比如改成 8e=LVM 分区)
w write 保存分区表并退出,不输入 w 所有操作不生效
q quit 不保存修改,直接退出,放弃所有分区操作

关键风险提醒

  • 所有分区操作,不输入 w 写入磁盘就不会生效;改错输 q 直接退出即可撤销;
  • 删除分区 d、修改分区类型 t、新建 n,一旦 w 保存,原有分区数据极易损坏。

LVM 不能直接拿整块裸硬盘做 PV,但行业运维规范是「先分区再做 LVM」;你也能整块硬盘直接做 PV,只是生产不推荐。分区和 LVM 是两层完全独立的技术,分工完全不一样。


完整实操:新增 20G 硬盘 /dev/sdb,整块划分分区作为 LVM 原材料


第二十六题

df + du 配套完整故障流程(企业最标准磁盘爆满处理流程)


第二十八题

bash 复制代码
tzselect
# 执行完按提示写入环境变量,永久生效
echo "export TZ='Asia/Shanghai'" >> /etc/profile
# 软链接时区文件(最稳定的修改时区方式)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

第二十九题

第三十题

RAID

RAID6 完整存储原理

项目 RAID5 RAID6
校验数量 1 套 P 校验 2 套:P+Q 双校验
最低硬盘 3 块 4 块
最大容错 仅允许同时坏 1 块盘 允许同时损坏 2 块硬盘
容量损耗 永久扣除 1 块盘容量存校验 永久扣除 2 块盘容量存双校验
写入性能 较好,只计算 1 次校验 偏弱,每次写入要计算两套校验,CPU 开销更大
适用场景 硬盘数量少(3-4 块)、中小型存储 硬盘数量多(6/8/12 块大容量存储柜、监控盘)

RAID10 完整深度讲解


第三十一题


第三十二题


第三十三题


第三十五题


第三十六题


第三十八题

nmcli工具


nmcli 生产常用实操示例

bash 复制代码
# 1. 设置手动静态地址、网关、DNS
nmcli connection modify ens38 \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "223.5.5.5,114.114.114.114"

# 2. 重载网卡配置,立即生效(永久保存,重启不丢)
nmcli connection up ens38

场景 3:切换 DHCP 自动获取 IP

bash 复制代码
nmcli connection modify ens38 ipv4.method auto
nmcli connection up ens38

场景 4:启停网卡(断网 / 重连)

启用网卡

bash 复制代码
nmcli connection up ens38

断开网卡

bash 复制代码
nmcli connection down ens38

场景 5:给单网卡增加第二个 IP(多 IP 业务场景)

网卡 ens38 原有 192.168.1.100,追加 192.168.1.101/24

bash 复制代码
nmcli connection modify ens38 +ipv4.addresses 192.168.1.101/24
nmcli connection up ens38

加号 + 代表追加,不加会覆盖原有 IP


第三十九题

scp 基础示例(本地传到远程)

bash 复制代码
scp test.log root@192.168.1.100:/data/
  1. -C参数开启传输压缩,进一步降低带宽占用,资源消耗依旧可控;
  2. 生产小文件批量拷贝优先 scp,超大文件增量同步用 rsync(rsync 资源开销更高)。

第四十题

/etc/fstab系统配置文件,用来规定开机自动挂载哪些分区(规则表)

/boot硬盘上的一个独立分区(物理存储分区)

核心联系

/boot 分区想要开机自动加载,就要在 /etc/fstab 里写一行挂载规则;

没有 fstab 配置,系统开机不会自动挂载 /boot(只有系统安装时会默认写入)。

bash 复制代码
# 第1行:根分区,第一列是 LVM逻辑卷路径 /dev/mapper/xxx
/dev/mapper/klas_bogon-root /  xfs defaults 0 0
# 不是 sda2,是LVM上层虚拟设备,不属于"磁盘分区名"

# 第2行:/boot分区,第一列是 UUID,不是 /dev/sda1
UUID=f5e18d8e-fe45-4581-9d6a-74456cc3eeb6 /boot xfs defaults 0 0
# 这里完全没写 sda1,照样合法开机挂载

# 第3行:swap交换分区,LVM逻辑卷
/dev/mapper/klas_bogon-swap none swap defaults 0 0

第四十一题

符号 含义 示例
. 匹配任意单个字符(除换行) a.b → 匹配 a1b、axb、a#b,不匹配 ab
[abc] 匹配括号内任意 1 个字符 [0-9] 单个数字;[a-z] 单个小写字母;[A-Z] 单个大写
[^abc] 匹配不在括号里的任意单个字符(取反) [^0-9] 匹配非数字字符
\d 等价 [0-9],单个数字 \d\d 匹配两位数字
\w 等价 [a-zA-Z0-9_],单个字母 / 数字 / 下划线 匹配用户名、变量名字符
符号 含义 示例
* 匹配前面字符 0 次、1 次、多次(可有可无,随便多少) a* → 空、a、aa、aaa 都匹配
+ 匹配前面字符 至少 1 次(不能没有) a+ → a、aa、aaa,不匹配空
? 匹配前面字符 0 次或 1 次(可有只能有一个) a? → 空、a,不匹配 aa
{n} 精确匹配 n 次 \d{4} 匹配 4 位数字(年份 2026)
{n,} 匹配至少 n 次 \d{6,} 6 位以上数字
{n,m} 匹配 n~m 次之间 \d{6,11} 6-11 位手机号 / QQ 号

对应你上一题坑点

[a-z] 只代表1 个小写字母 ;如果要多个小写字母,必须写 [a-z]+[a-z]*

RAID 类型 最小硬盘数量 容错能力
RAID0 2 无,坏一块数据全丢
RAID1 2 允许坏 1 块
RAID5 3 允许坏 1 块
RAID6 4 允许坏 2 块
相关推荐
利来利往1 小时前
如果你的电脑可以ping ip无法ping域名
网络·网络协议·tcp/ip
lupai1 小时前
赛符 SSL 证书全场景部署与信任价值构建指南
网络·网络协议·ssl
一棵星1 小时前
Spring Boot 邮件发送(带附件)实战
网络
爱刷碗的苏泓舒1 小时前
网络通信入门:静态 IP、动态 IP、路由器、交换机与手机热点
网络·智能手机·路由器·网络通信·交换机·手机热点·终端调试
晚风吹长发1 小时前
探索软件测试——用例篇
大数据·linux·服务器·压力测试·测试·测试方法
ZENERGY-众壹1 小时前
50MW分布式VPP接入实战:调度中心要求的1分钟频率如何不卡死API
运维·服务器·分布式·光伏运维
梦想的旅途21 小时前
企业微信API 实现企业微信消息的自动发送?
java·服务器·前端
CHANG_THE_WORLD1 小时前
Linux C 多线程 TCP 并发服务器:从 `accept()` 到资源管理深度剖析
linux·服务器·c语言
运维大师1 小时前
【Linux运维极简教程】10-日志管理与故障排查
linux·运维·服务器