简介:面向UOS运维系统运维工程师的题库资料,适合认证备考、课程复习和面试前自测,主要解决知识点零散、服务配置命令易混淆以及端口对应关系记不牢的问题。资源包内含1个doc文档,大小约61KB,以单选题、多选题和判断题组织内容,题目按服务配置、命令使用和基础概念展开,覆盖网络文件系统导出配置、自动化工具自定义模块与模板语法、网站服务主配置及默认端口、远程登录服务禁用用户、虚拟化管理与守护进程、域名解析端口、匿名文件传输、时间同步服务器添加、容器创建与目录挂载、证书私钥生成、数据库服务器与库表关系、文件名查找、源码包编译工具等。已有2038人学习,可用于逐题核对答案、按服务模块查漏补缺,并借助选项辨析易混命令与端口,整理出较完整的运维知识清单。
1. 题库先导:这门 UOS 运维笔试,一半的分丢在「路径」和「端口」上
翻完这套 UOS运维系统运维工程师题库,最反直觉的一点是:30 道题里真正需要现场推逻辑的不到三分之一,剩下的大半是「这个服务的配置文件在哪」「这个服务的端口是多少」这类记忆题。很多人栽跟头不是因为不会配服务,而是把 apache2.conf 和 httpd.conf 记混、把 8080 当成 Apache 默认端口、把 Telnet 的 23 记成 20。这份题库的结构很清楚:单选 20 题打底,多选 5 题拉开差距,判断 5 题既容易得分也容易丢分。想稳过,先把高频路径和端口背成条件反射,再用 Ansible、KVM、Docker 三类实操题把知识点补全。适合已经摸过 Linux、准备冲运维岗笔试和初面的人。
2. 端口与配置文件:12 分最好拿,也最容易翻车
这一章对应题库里的单选第 1、5、6、8、9、13、18、19、20 题和判断第 29、30 题,是整份卷子里分值最密集、也最不该丢的一块。命题人在这里不会考你「怎么把服务跑起来」,只考「你知不知道它默认长什么样」。这类题的备考策略很简单:先背一张端口与路径对照表,再理解两三组容易混的命令语义,最后用「服务名 → 路径风格 → 文件名后缀」三步定位法去应对没见过的新题。
2.1 端口必背表:一个数字背后有一个干扰项
题库里出现的端口不是随机撒的,每一个都配了一个「看起来很像」的干扰项。把它们放在一张表里对照,比单独背十遍有效。
| 服务 | 默认端口 | 题库里出现的干扰项 | 干扰项其实是什么 |
|---|---|---|---|
| SSH / sshd | 22 | 8080、53、69 | Web 代理端口、DNS、TFTP |
| DNS | 53 | 22、69 | SSH、TFTP |
| HTTP / Apache | 80 | 8080、800、1024 | 备用端口、非特权端口起点 |
| HTTPS | 443 | 20 | FTP 数据传输端口 |
| MySQL | 3306 | 22、20 | SSH、FTP-data |
| Telnet | 23 | 20 | FTP-data,不是 Telnet |
| FTP 控制 / 数据 | 21 / 20 | 23 | 把 20 当成 Telnet 是经典陷阱 |
这张表里最容易丢分的是两行:Telnet 那一行和 FTP 那一行。题库第 9 题问「下列系统默认端口号错误的是」,选项里把 Telnet 写成 20,很多人一眼扫过去觉得「20 也是老端口,应该没错」,结果选错。记住一句话:20 和 21 是 FTP 的两个端口,一个负责传数据,一个负责发命令;Telnet 永远是 23,它是一个远程登录协议,和文件传输没关系。
第 6 题问 sshd 使用的端口,选项里 8080、53、69、22 摆在一起,答案只能是 22。这道题属于送分题,但它的价值在于提醒你:sshd 的端口是可以在 /etc/ssh/sshd_config 里用 Port 指令改的,题干如果加一句「修改配置文件后需要执行什么」,答案就会变成重载服务而不是重启系统。同一道题改一个字,考的就是另一个知识点,这是运维笔试最常见的加难方式。
注意:端口题的题干里只要出现「默认」两个字,就按标准端口答;出现「可以修改为」才考虑配置文件里的自定义值。
2.2 sshd 真题拆解:DenyUsers 和 AllowUsers 改一个字母就是两个意思
第 5 题问「sshd 配置文件使用什么语句可以禁止 tom 远程登录」,四个选项是 AllowUsers tom、AllowUser tom、DenyUser tom、DenyUsers tom,答案 D。这道题表面考记忆,实际考的是你对 sshd_config 里四个访问控制指令的区分:
- AllowUsers:白名单,只有列出的用户能登录,其他一律拒绝。
- DenyUsers:黑名单,列出的用户被拒绝,其他不受影响。
- AllowGroups / DenyGroups:同上,但作用对象是用户组。
这里有两个坑。第一个坑是单复数,AllowUser、DenyUser 这两个词在 sshd_config 里根本不存在,写上去服务会报错,命题人就是拿它当陪跑选项。第二个坑更隐蔽:AllowUsers 和 DenyUsers 同时存在时,匹配顺序是先看 AllowUsers 再看 DenyUsers,一个用户在白名单里但也在黑名单里,最终还是被拒。面试如果被追问「白名单和黑名单同时配置听谁的」,答「先匹配 Allow,再匹配 Deny,Deny 优先拒绝」是标准答案。
答这类题的完整思路可以固定成三步:第一步看动词,Allow 是放行,Deny 是拒绝,题干问「禁止」就直接锁 Deny;第二步看对象,Users 是用户,Groups 是组,题干点名 tom 这个具体用户就选 Users;第三步看拼写,服务端配置指令没有单数形式。三步走完,四个选项就只剩一个。
2.3 配置文件路径:三步定位法应对没背过的服务
第 1 题考 NFS 服务端的主配置文件,答案是 /etc/exports;第 13 题考 Apache 主配置文件,选项里给的是 httpd.conf 和 httpd.cfg 这类近似拼写;第 19 题问 httpd 里指定站点名的配置项,答案是 ServerName。这三道题放到一起看,考的是「你脑子里有没有一张 /etc 目录的地图」。
对没背过的服务,用三步定位法现场推:
第一步,看服务名对应的软件包习惯。NFS 的核心动作是「导出目录」,所以它的配置文件叫 exports,动词直接变成文件名,这类「动词命名」的服务还有 exports、fstab、hosts、resolv.conf。
第二步,看路径风格。同样是 Apache,有的发行版把配置放在 /etc/httpd/ 下,主文件叫 httpd.conf;有的放在 /etc/apache2/ 下,主文件叫 apache2.conf。题库第 4 题给的正确答案是 /etc/apache2/apache2.conf,就是走的后一种风格。所以遇到 Apache 路径题,先看选项里的目录名是 httpd 还是 apache2,目录名和文件名必须配套,/etc/apache2/httpd.conf 这种混搭一定是错的。
第三步,看后缀。配置文件的扩展名几乎只有 .conf 一种,出现 .cfg、.config、.ini 基本可以直接排除。第 13 题里 httpd.cfg、access.cfg 这两个选项就是靠后缀排除的,剩下的 httpd.conf 才是答案。
提示:NFS 改完 /etc/exports 不会自动生效,要执行 exportfs -rv 重新导出,用 showmount -e 本机地址验证;这是面试官最爱追问的下一步动作。
3. Ansible 与 KVM:模块、变量、虚拟化命令的高频问答
这一章覆盖题库里的第 3、7、10、11、21、22、23、25 题,是整份卷子里「技术含量」最高的一块。Ansible 相关题目集中在架构认知和模块名称上,KVM 相关题目集中在 virsh 子命令的语义区分上。这两块共同的特点是:背下命令只是及格,能说清楚「为什么是这个子命令」才是面试加分项。
3.1 Ansible 的三道判断题:架构、自定义模块、模板语法
第 3 题问「下面关于 ansible 描述正确的是」,四个选项分别涉及自定义模块、Windows 管理、SSH 架构,答案给的是「支持自定义模块」。这道题值得展开讲,因为四个选项里有三个都是「半对」:
Ansible 支持自定义模块,这是对的。你可以用任意语言写一个可执行脚本,只要遵循「接收 JSON 参数、输出 JSON 结果」的约定,放进 library 目录就能当模块用,这是它生态扩张快的原因之一。
Ansible 基于 SSH,这也是对的。它不需要在目标机上装 agent,靠 SSH 通道把模块推过去执行,执行完删掉,所以叫无代理架构。但要注意,题干如果写成「Ansible 只能基于 SSH」,那就错了,因为它还支持 local 连接、paramiko 等多种连接方式。
Ansible 能管 Windows,同样是对的,但走的是 WinRM 而不是 SSH。所以第 3 题里那个「ansible 支持对 windows 进行自动化管理」的选项,表述本身没错,只是在单选题里它和「支持自定义模块」比,后者更核心、更无争议。
答题经验:Ansible 的单选题里,凡是出现「只能」「必须」「不支持」这类绝对化限定词的选项,八成是错的;凡是只陈述能力的选项,要比较哪个更贴近架构本质。这道题如果面试改成多选,自定义模块、SSH 架构、Windows 管理三项都可以选。
第 11 题问 Ansible 模板文件使用什么语法,答案是 jinja。模板文件的后缀是 .j2,里面用{{ 变量名 }}输出变量,用{% for %}、{% if %}写控制逻辑。这道题在笔试里就是纯记忆,但面试可能让你现场写一个模板:把 nginx 配置里的 worker_processes 换成变量,答出来是worker_processes {{ worker_num }};,配一个 vars 里定义 worker_num,就完整了。
第 21 题问源码包安装需要哪些编译工具,答案是 make 和 gcc。这两个是编译三件套里最常考的两个,第三个是 configure 脚本本身,它是源码包里自带的,不算「工具」。答题时记住:gcc 负责把 C 源码编译成目标文件,make 负责按 Makefile 的规则串起整个编译流程。
3.2 变量与模块的多选题:排除法比死记更快
第 22 题问 Ansible 剧本里可以通过哪些关键词定义变量,答案是 vars 和 vars_prompt。这两个词都在 playbook 的顶层写:
- hosts: web vars: # 直接在剧本里定义固定变量 app_port: 8080 vars_prompt: # 运行时交互式提示用户输入 - name: db_password prompt: "请输入数据库密码" private: yesvars 定义的是写死的值,vars_prompt 定义的是运行时才确定的值,两者是一静一动的关系。干扰项 par_prompt、Parameter 都是拼出来的假词,做多选题时先排除拼写不存在的选项,正确率立刻提高一半。
第 23 题问创建卷组和逻辑卷的模块,答案是 lvg 和 lvol。这题的关键是分清 LVM 的三层结构:物理卷 PV、卷组 VG、逻辑卷 LV。lvg 管的是中间那层卷组,lvol 管的是最上面那层逻辑卷,物理卷由 pvcreate 命令负责创建,不在 Ansible 这两个模块的范围内。选项里的 vg 和 LV 都是缩写形式,不是模块名,看到这种「去掉一个字母」的选项要警惕。
第 25 题问哪个模块支持创建软链接,答案是 file 模块。写法是state: link,配 src 指源文件、dest 指链接路径。这里要区分清楚:copy 模块负责把文件推到目标机,command 模块负责执行命令,setup 模块负责采集目标机信息(fact),这三个模块都不负责建链。判断题里经常把 copy 和 file 的功能混在一起考,记住一句话:file 模块管「属性」,包括存在、权限、属主、软链接,copy 模块管「内容」。
3.3 KVM:destroy 是关机,undefine 才是删除
第 7 题问删除 KVM 虚拟机 server01 用哪个命令,答案是 virsh undefine server01。这道题四个选项里有两个是命题人故意混淆的:
- virsh destroy:立刻断电关机,相当于拔电源,虚拟机定义还在,可以再 start 回来。
- virsh undefine:删除虚拟机的定义,配置文件从 libvirt 里消失,但磁盘文件默认保留。
- virsh undefine --remove-all-storage:在删除定义的同时把磁盘也删掉,这才是彻底删除。
- virsh remove 和 virsh delect 都不存在,后者连拼写都是错的。
所以答这道题的关键不是记住 undefine 这个词,而是理解「定义」和「运行状态」「磁盘文件」是三样东西。面试如果追问「删了虚拟机磁盘还在吗」,答「默认在,要加 --remove-all-storage 才会一起删」才算过关。
第 10 题问 KVM 虚拟机的守护进程是哪个,答案是 libvirtd。这里要分清三个东西:libvirt 是一套管理虚拟化的 API 和库,libvirtd 是它在后台跑的守护进程,virsh 是命令行客户端。三者关系是:virsh 调 libvirt 的接口,libvirt 通过 libvirtd 这个进程真正干活。看到选项里出现 libvirt 和 virt 这种「少一个 d」「少一个字母」的,直接排除。
3.4 用命令验证一次,比背十遍强
这三类知识点如果想记得牢,最好的办法是在一台测试机上真跑一遍,跑完你就不会再把 destroy 和 undefine 搞混。
# 查看当前所有虚拟机及其状态 virsh list --all # 强制关机(定义保留,可再次启动) virsh destroy server01 # 删除虚拟机定义(磁盘默认保留) virsh undefine server01 # 连磁盘一起删除,慎用 virsh undefine server01 --remove-all-storage # 确认守护进程在跑 systemctl status libvirtd命令执行顺序本身就是一条逻辑链:先看状态,再决定是关机还是删除,删除之后再确认守护进程是否正常。每条命令后面的注释就是答题时的采分点,很多人在笔试里能选出 undefine,但在面试里说不清「删除后磁盘还在不在」,差别就在于有没有真跑过。
4. Web 与容器:Apache、Docker、证书三类题
第 4、13、15、16、19、20、24 题集中在这一块。Apache 部分的考点是「配置文件的分层」,Docker 部分的考点是「参数的位置和顺序」,证书部分的考点是「哪个命令干哪件事」。这三块的共同特征是:选项都长得很像,靠语感答题必翻车,必须靠结构判断。
4.1 Apache:主配置、全局配置、站点名各管一摊
第 4 题问 Apache 的全局配置文件,答案指向 /etc/apache2/apache2.conf;第 13 题问主配置文件,答案指向 httpd.conf;第 19 题问指定站点名的配置项,答案是 ServerName;第 20 题问默认监听端口,正确值应该是 80。
这四道题放在一起,其实是在考 Apache 的配置分层:
- 主配置 / 全局配置:apache2.conf 或 httpd.conf,管进程级的参数,比如监听端口、加载模块、超时时间。
- 站点配置:在 sites-available / sites-enabled 或 conf.d 目录下,一个站点一个文件,管 ServerName、DocumentRoot。
- 端口配置:有的发行版单独拆出 ports.conf,只管 Listen 指令。
第 19 题的四个选项正好对应四种职责:DocumentRoot 管网页文件放哪,ServerName 管站点名(域名),ServerAdmin 管管理员邮箱,ServerRoot 管 Apache 的安装根目录。题干里出现「站点名」三个字,只能选 ServerName;出现「网页目录」才选 DocumentRoot。
第 20 题要格外注意,Apache 的默认监听端口是 80,不是 8080。8080 是 Tomcat 的默认端口,也是很多人做代理时习惯改的备用端口,正因为太常见,才被拿来当干扰项。题目问「默认」就选 80,问「Tomcat 默认」才是 8080,这两个别串。
注意:配置文件名跟着发行版走,目录是 apache2 就要配 apache2.conf,目录是 httpd 就要配 httpd.conf,两者混搭的选项一定是错的。
4.2 Docker 挂载:-v 后面那一个冒号就是分水岭
第 15 题是整份题库里最容易丢分的一道:通过镜像 nginx:uos 创建名为 web 的容器,把宿主机 /var/www 挂到容器 /data 上。四个选项的差别只在 -v 的写法:
# 正确写法:宿主机路径:容器路径,中间必须是冒号 docker run -d -v /var/www:/data --name web nginx:uos # 错误写法一:两个路径之间是空格,会被当成两个独立挂载 docker run -d -v /var/www /data --name web nginx:uos # 错误写法二:两个 -v 各挂一个,容器里仍然是两块独立目录 docker run -d -v /var/www -v /data --name web nginx:uos # 错误写法三:顺序反了,把容器路径写在了前面 docker run -d -v /data:/var/www --name web nginx:uos参数逐个拆开看:-d表示后台运行,--name web给容器起名 web,nginx:uos是镜像名加标签,-v 宿主机路径:容器路径是绑定挂载。四条命令里只有第一条同时满足「名字对、镜像对、挂载方向对」。
这道题的答题动作可以固定成两步:第一步找冒号,没有冒号或者用空格分隔的选项直接划掉;第二步看方向,冒号左边必须是宿主机路径 /var/www,右边必须是容器路径 /data,反了的选项也划掉。两步走完,四个选项只剩一个,根本不需要理解 Docker 的存储驱动。
第 24 题考 Docker 的四个说法,正确的有「构建一次多平台运行」「容器资源占用少、利用率高」「启动速度秒级」,错误的那条是「容器需要安装完整的操作系统、占用空间大」。容器共享宿主机内核,这是它比虚拟机轻的根本原因,任何说容器要装完整 OS 的表述都是错的。
4.3 openssl:生成私钥和证书的是它,不是 ssh-keygen
第 16 题问生成私钥和证书文件用哪个命令,答案是 openssl。四个选项分别对应四种完全不同的用途:
- ssh-keygen:生成 SSH 登录用的密钥对,用于免密登录,不产生证书文件。
- openssl:可以生成私钥、证书请求、自签证书,是这道题的唯一答案。
- md5sum:算文件摘要,用于校验完整性。
- keytool:Java 体系里的密钥和证书管理工具,管的是 keystore。
一道完整的自签证书生成命令长这样:
# 生成 2048 位私钥并同时签发有效期 365 天的自签证书 openssl req -newkey rsa:2048 -nodes \ -keyout server.key \ -x509 -days 365 \ -out server.crt \ -subj "/CN=example.internal"-newkey rsa:2048表示同时生成一把 2048 位的 RSA 私钥,-nodes表示私钥不加密(方便服务自动加载),-keyout指定私钥输出文件,-x509表示直接输出自签证书而不是证书请求,-days是有效期,-out是证书输出文件,-subj直接指定主题信息免得交互式提问。面试里如果被问「怎么给内网服务配 HTTPS」,把这条命令的关键参数说清楚,比背十道选择题都管用。
5. 易错题清单:5 个每年都有人栽的坑
题库里有些题,看着简单,实际是命题人埋的雷。这一章把最容易错的五个点单独拎出来,每条按「错在哪、为什么错、怎么答对」三层拆开。这五条如果都能说清楚,前面几章的知识点基本就串起来了。
5.1 坑一:把 delete 当成 drop,表结构删没删说不清
第 28 题判断题的表述是「delete from employ 语句的作用是删除当前数据库中整个 employ 表,包括表结构」。错在哪:delete 只删数据行,表结构、索引、约束全都保留,删完表还在,只是空了。为什么错:把 DML 和 DDL 混成了一类,delete 属于数据操作语言,drop 才属于数据定义语言。怎么答对:记住三件套的分工,delete 按条件删行、可以回滚、会写日志;truncate 清空全表、不能带 where、重置自增;drop 直接连表结构一起干掉。题干里只要出现「包括表结构」四个字,就不可能是 delete。
5.2 坑二:Apache 默认端口被 8080 带偏
第 20 题问 Apache 默认监听端口,选项里 80 和 8080 并排出现。错在哪:选了 8080。为什么错:8080 是 Tomcat 的默认端口,也是反向代理场景里最常用的备用端口,日常见得多就容易被它带跑。怎么答对:题目问「默认」就答 80,这是 HTTP 协议的标准端口,任何 Web 服务器不特别指定都听 80;问「Tomcat 默认」才答 8080。答题时先在题干里圈出「默认」两个字,再动笔。
5.3 坑三:docker -v 的宿主机和容器写反
第 15 题的 D 选项把/data:/var/www写在前面,方向完全颠倒。错在哪:没注意冒号左右各代表谁。为什么错:-v 的语法是「宿主机:容器」,顺序固定,写反了不会报错,容器照样起来,但挂载的是空目录,服务起来就是 404,这种错误在真实环境里也要排查半天。怎么答对:答题时默念一句「左边是外面的,右边是里面的」,左边必须和题干给的宿主机路径一字不差。
5.4 坑四:AUTO_INCREMENT 只认 INT
第 27 题判断题考「某字段使用 AUTO_INCREMENT 属性时该字段必须是 INT 类型」。错在哪:把这句当成完全正确或完全错误。为什么错:严格说,自增列要求的是整数类型族,包括 TINYINT、SMALLINT、INT、BIGINT,说「必须是 INT」把范围说窄了;但考试语境下,这句话的核心判断是「自增列必须是整数」,方向没错。怎么答对:判断题先抓主干,「自增列不能是字符串、不能是日期」是硬结论,这是采分点;如果题干写成「必须是 INT,不能用 BIGINT」,那才是错的。答题时区分「大方向对」和「细节绝对化」两种情况。
5.5 坑五:ftp 匿名用户到底填哪个,以及 chroot 配置放哪
第 12 题问 UOS 系统里匿名登录 ftp 的用户名,题库给的答案是 guest;同组第 29 题判断题说「把用户限制在主目录中,需要把用户名放在 /etc/vsftpd」,这个表述是错的,因为要放到 /etc/vsftpd/chroot_list 这样的具体文件里,而不是放在目录本身。
错在哪:把通用 Linux 的经验直接套到特定平台上。为什么错:匿名 FTP 的账户名在不同实现里有 anonymous、ftp、guest 几种写法,通用环境下 anonymous 最常见,但题目限定了具体系统,就得按该系统的约定来。怎么答对:题干出现具体平台名,就按平台口径答;出现「通用 Linux」再答 anonymous。至于 chroot 那一题,判断的关键是「配置项必须落在文件里」,只要选项给的是目录而不是文件,基本可以判错。
提示:ftp 匿名登录和 chroot 限制是两个独立考点,前者考账户名,后者考配置文件路径,别把它们混成一道题。
6. 答题技巧:单选、多选、判断各有一套固定动作
这套卷子的题型只有三种,每种题型的失分原因都不一样,所以答题动作也应该分开练。单选题的失分主要来自「看错题干」,多选题来自「不敢少选」,判断题来自「过度推理」。把下面这张表当成考场上的操作清单,比考前再刷一遍题有用。
| 题型 | 建议用时 | 固定动作 | 交卷前检查什么 |
|---|---|---|---|
| 单选 20 题 | 每题 40 秒 | 先圈题干关键词(默认/错误/主要),再看选项 | 有没有把「错误」看成「正确」 |
| 多选 5 题 | 每题 90 秒 | 先排除拼写不存在、绝对化表述的选项 | 是否漏选了表述正确的次要项 |
| 判断 5 题 | 每题 30 秒 | 抓主干,看有没有「包括表结构」「只能」这类绝对词 | 绝对化表述是否真的成立 |
单选题的关键动作是圈词。第 9 题问「错误的是」,第 20 题问「默认」,第 5 题问「禁止」,这几个词决定你往哪个方向找答案。我见过太多人知识点全对,就是把「下列错误的是」看成「下列正确的是」,一道题两分,直接出局。
多选题的关键动作是「敢选」。第 24 题四个选项里三个对,很多人只敢选两个,怕选错倒扣分。这类题的判断标准不是「哪个最对」,而是「哪个表述没有硬伤」,只要没有绝对化限定词、没有把两个概念混为一谈,就可以选。
判断题的关键动作是「别替题目补条件」。第 30 题说「DNS 是专为基于 tcp/ip 的网络提供主机名到 ip 地址的专用域名解析系统」,这句话主干成立就判对,不要去纠结「DNS 也能做反向解析」这种题干没问的细节。反过来,第 28 题那种加了「包括表结构」的,就是靠一个多余的条件把整句话变成错的。
最后说个我自己的习惯。早年考这类笔试,我总想着把每道题都弄懂原理再选,结果时间不够,最后五道判断全靠蒙。后来我改成:单选靠关键词定位,多选靠排除法,判断靠抓主干,只有拿不准的题才回去推原理,正确率和速度一起上来了。从那以后我每次进考场,开考先花一分钟把三种题型的动作在草稿纸上写一遍,再动笔。希望帮到你。
本文还有配套的精品资源,点击获取