大家好,又见面了,我是你们的朋友全栈君。
NETW 参考答案 A 类 255.0.0.0 B 类 255.255.0.0 C 类 255.255.255.0 4 请描述预留给企业
NETWORK 1 请描述 TCP/IP 协议中主机与主机之间通信的三要素 参考答案 IP 地址(IP address) 子网掩码(subnet mask) IP 路由(IP router) 2 请描述 IP 地址的分类及每一类的范围 参考答案 A 类 1-26 B 类 128-191 C 类 192-223 D 类 224-239 组播(多播) E 类 240-254 科研 3 请描述 A、B、C 三类 IP 地址的默认子网掩码 参考答案 A 类 255.0.0.0 B 类 255.255.0.0 C 类 255.255.255.0 4 请描述预留给企业的私有网络使用的私有 IP 有哪三段 参考答案 A 类 10.0.0.1-10.255.255.254 B 类 172.16.0.1-172.16.31.254 C 类 192.168.0.1-192.168.255.254 5 组建一个企业网络按照 TCP/IP 五层参考模型的标准,每个层次需要选购 哪些相应层次的设备 参考答案 应用层 计算机 传输层 防火墙 网络层 路由器 数据链路层 交换机 物理层 网卡 6 请分别描述 T568A、 T568B 的线序 参考答案 T568A:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕 T568B:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕 7 请简要描述交换机的工作原理 参考答案 初始状态 根据源 MAC 地址学习 除源端口外的端口广播未知数据帧 接收方回应 交换机实现单播通信 8 MAC 地址的长度,组成及单播、组播、广播地址的表示方式 参考答案 MAC 地址长度 48 位,前 24 位代表厂商,后 24 位代表网卡编号,MAC 地址的第 8 位为 0 时表示该 MAC 地址为单播地 址,为 1 时表示组播地址,48 位都为 1 表示广播地址。 9 请简要描述网络层有哪些常见协议 参考答案 ARP 协议 RARP 协议 代理 ARP ICMP 协议 10 什么是 TTL,作用并简要描述 TTL 的原理 参考答案 TTL 是数据生命周期 作用:避免数据在网络中无限循环转发 原理:当网络中的数据包每经过一个路由器 TTL 值减 1,当 TTL 值为 0 时,数据包丢弃。 11 请描述 SMTP 及 POP3 分别是什么协议、作用及端口号 参考答案 SMTP:简单邮件传输协议,用于发送和接收邮件,端口号 25。 POP3:邮局协议版本 3,用于客户端接收邮件,端口号 110。 12 请描述 http 及 https 分别是什么协议、作用及端口号 参考答案 HTTP:超文本传输协议,用于传输 Internet 浏览器使用的普通文本、超文本、音频和视频等数据,端口号为 TCP 的 80。 HTTPS:安全超文本传输协议,基于 HTTP 开发,提供加密,可以确保消息的私有性和完整性,端口号为 443 工作区 子系统。 CISCO 1 ISL 和 802.1Q 有哪些异同 参考答案 相同点:都是显式标记,即帧被显式标记了 VLAN 的信息。 不同点:IEEE 802.1Q 是公有的标记方式,ISL 是 Cisco 私有的。ISL 采用外部标记的方法,802.1Q 采用内部标记 的方法,ISL 标记的长度为 30 字节,802.1Q 标记的长度为 4 字节。 2 RIP 的最大跳数是 A. 15 B. 16 C. 12 D. 18 参考答案 最大路数为 A 选项。 这是因为,RIP 度量值为跳数 ,最大跳数为 15 跳,16 跳为不可达。 3 三层交换机的作用 参考答案 三层交换机是具有网络层功能的交换机,三层交换=二层交换+三层转发,使用三层交换技术实现 VLAN 间通信。 4 请描述基于 CEF 的快速转发有哪两个信息表 参考答案 转发信息库(FIB):FIB 类似于路由表,包含路由表中转发息的镜像。当网络的拓扑发生变化时,路由表将被更新, 而 FIB 也将随之变化,这些信息是根据路由表中的信息得到的。 邻接关系表:存储第 2 层编址信息,对于每个 FIB 条目,邻接关系表中都包含相应的第 2 层地址。 5 什么是 STP 及作用 参考答案 STP :生成树协议 作用:逻辑上断开环路,防止广播风暴的产生。当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用。 6 什么是 HSRP 及作用 参考答案 HSRP:热备份路由选择协议 作用:确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为 IP 网络提供冗余性。 通过使用同一个虚拟 IP 地址和虚拟 MAC 地址,LAN 网段上的两台或者多台路由器可以作为一台虚拟路由器对外提供 服务。 7 交换机端口有哪 5 种 STP 状态 参考答案 转发(Forwarding) 学习(Learning) 侦听(Listening) 阻塞(Blocking) 禁用(Disabled) 8 请描述访问控制列表有哪三种类型 参考答案 标准访问控制列表 扩展访问控制列表 命名访问控制列表 9 请描述扩展访问控制的作用及列表号 参考答案 作用: 可以根据源 IP 地址,目的 IP 地址,指定协议,端口等过滤数据包。 扩展访问控制列表号: 100-199 10 请简要描述访问控制列表的处理过程 参考答案 如果匹配第一条规则,则不再往下检查,路由器将决定该数据包允许通过或拒绝通过。 如果不匹配第一条规则,则依次往下检查,直到有任何一条规则匹配。 如果最后没有任何一条规则匹配,则路由器根据默认的规则将丢弃该数据包。 11 请简要描述 NAT 的作用 参考答案 通过将内部网络的私有 IP 地址翻译成全球唯一的公网 IP 地址,使内部网络可以连接到互联网等外部网络上。 12 请描述 NAT 的优点及缺点 参考答案 优点: 节省公有合法 IP 地址 处理地址重叠 增强灵活性 安全性 缺点: 延迟增大 配置和维护的复杂性 不支持某些应用,可以通过静态 NAT 映射来避免 13 请描述 NAT 三种实现方式的区别 参考答案 静态转换的对应关系一对一且不变,并且没有节约公用 IP,只隐藏了主机的真实地址。 动态转换虽然在一定情况下节约了公用 IP,但当内部网络同时访问 Internet 的主机数大于合法地址池中的 IP 数量 时就不适用了。 端口多路复用可以使所有内部网络主机共享一个合法的外部 IP 地址,从而最大限度地节约 IP 地址资源。 SYSTEM 1 什么是绝对路径?什么是相对路径? 参考答案 绝对路径:以 / 开始的完整路径 相对路径:以当前工作目录为参照的路径 2 常见通配符的含义。 在命令行环境中,通配符 * 、?、[n-m] 、{n,m} 各自的含义是什么? 参考答案
或 1> 输出重定向:把前面输出的东西输入到后边的文件中,会删除文件原有内容。 或 1>> 追加重定向:把前面输出的东西追加到后边的文件中,不会删除文件原有内容。 <或<0 输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。 <<或<<0 输入重定向:后跟字符串,用来表示“输入结束”,也可用 ctrl+d 来结束输入。 2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。 2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。 标准输入(stdin):代码为 0,使用<或<<。 标准输出(stdout):代码为 1,使用>或>>。正常的输出。 标准错误输出(sederr):代码为 2,使用 2>或 2>>。 特殊: 2>&1 就是把标准错误重定向到标准输出(>&)。 /dev/null 2>&1 等价于 1>/dev/null 2>/dev/null 35.请简述修改/etc/sudoers 配置文件的注意事项 ①别名的名称可以包含大写字母。数字、下划线。如果是字母必须要大写,(别名为一群拥有相同属性的集合)。 ②一个别名下面可以有多个成员,成员间通过半角(,)逗号隔开。成员必须有效实际存在。 别名成员受别名类型 Host_Alias、User_Alias、Runas_Alias、Cmnd_Alias 制约,定义什么类型的别名,就要有相 什么类型的成员匹配。 ③用户组前面必须加%号。命令别名下的成员必须是文件或目录的绝对路径。 ④指定切换用户要用()括号括起来,如果省略,则默认 root 用户,如果括号里是 ALL,则代表能切换到所有用户。 ⑤命令路径要使用全路径。 ⑥别名规则每行算一个规则,一行容不下时用\续行。另外超过一行,用反斜线换行。 ⑦一般不建议先给 all 权限,后面排除。用什么权限,就给什么权限。(注意权限,语法)。 如果不需要密码直接运行命令的应该加 NOPASSWD 参数。 ⑧禁止某类程序或命令执行,要在命令动作前面加上“!”号,并放在允许执行命令之后。 36.请描述如何实现 linux 系统集权分治的权限分级精细管理? ① 收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。 ② 各个用户组设置对应权限,用什么给什么,精细到每一条指令上根据分组情况。 ③ 创建规划权限分组的用户.添加相关用户组。并修改 etc/sudoers 配置文件。 ④ 增加 sudo 的权限开放,确定相关用户加入如 soduers 权限列表,并详细设置所开放权限内容,并选择是否需要 密码的相关执行权限开放。(注意 ALL 权限,以及密码修改权限设置)。 ⑤ 不建议先给 all 权限,后面排除。建议使用白名单。 ⑥实战调试测试相关权限是否正确配置完成。 ⑦编写操作说明,及相关注意事项。 ⑧调试完毕,邮件周知所有相关人员系统权限设置生效,并附带操作说明及相关注意事项。 37.请写出下面 Linux SecureCRT 命令行快捷键命令的功能? Ctrl + a 光标到开头 Ctrl + c 中断当前程序 Ctrl + d 退出当前窗口或当前用户 Ctrl + e 光标到结尾 Ctrl + l 清屏 相当与 clear Ctrl + u 剪切、删除(光标以前的)内容 Ctrl + k 剪切、删除(光标以后的)内容 Ctrl + r 查找(最近用过的命令) tab 所有路径以及补全命令 Ctrl+shift+c 命令行复制内容 Ctrl+shift+v 命令行粘贴内容 Ctrl + q 取消屏幕锁定 Ctrl + s 执行屏幕锁定 38.请描述服务器账户日志审计的 5 种解决方案。 ⑴通过环境变量 syslog 对全部全部日志进行审计(信息量太大,不推荐) ⑵sudo 配合 syslog 服务,进行 sudo 操作日志进行审计(信息较少,效果不错) ⑶在 bash 解释器嵌入一个监视器,让所有用户使用修改过的 bash 程序,作为解释程序。 ⑷齐治的堡垒机(商业产品)。 39.如果一台办公室内主机无法上网(打不开网站),请给出你的排查步骤? ①首先确定物理链路是否联通正常。 ②查看本机 IP,路由,DNS 的设置情况是否达标。 ③telnet 检查服务器的 WEB 有没有开启以及防火墙是否阻拦。 ④ping 一下网关,进行最基础的检查,通了,表示能够到达服务器。 ⑤测试到网关或路由器的通常情况,先测网关,然后再测路由器一级一级的测试。 ⑥测试 ping 公网 ip 的通常情况(记住几个外部 IP), ⑦测试 DNS 的通畅。ping 出对应 IP。 ⑧通过以上检查后,还在网管的路由器上进行检查。 40.描述 Linux shell 中单引号、双引号及不加引号的简单区别 单引号:所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就输出什么。 双引号:把双引号里面的内容给输出出来,如果内容中有命令、变量等,会先把,变来那个、命令解析出结果,然 后输出最终内容。 双引号内的命令或者变量写法’命令或变量’或$(命令或变量) 无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先 把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引 号。一般连续的字符串,数字,路径等可以用,不过最好用双引号,替代之。 41.请简述 Linux 启动过程中几个重要配置文件的执行过程 Linux 登录后,配置执行顺序为(Debian Serials Capable): /etc/environment -> /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout 关于各个文件的作用说明: (1)/etc/environment:此配置文件设置基本的 PATH 变量,及系统当前语言变量,虽然比较短,但却在系统启动 中占据举足轻重的作用,比如如下是我的系统中的内容: (2)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从 /etc/profile.d 目录的配置文件中搜集 shell 的设置。 (3)/etc/bash.bashrc: 为每一个运行 bash shell 的用户执行此文件.当 bash shell 被打开时,该文件被读取。 (4)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执 行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc 文件。 (5)~/.bashrc: 该文件包含专用于你的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该该文件 被读取。 (6)~/.bash_logout: 当每次退出系统(退出 bash shell)时,执行该文件. 另外,/etc/profile 中设定的变量(全 局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关 系。 (7)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。 42.请描述下列路径的内容是做什么的? /var/log/messages 系统日志文件 /var/log/secure 系统安全文件(显示登录信息的文件) /var/spool/clientmqueue 例行性任务回执邮件存放文件 /proc/interrupts 当前系统中断报告文件 /etc/fstab 开机自动挂载磁盘的配置文件 /etc/profile 环境变量存放的文件 43.请给出 Linux 中 eth0 的 IP 地址和广播地址的指令,需使用 cut、awk、grep、 sed 指令。 第一种方法:使用 grep 和 cut 取值 第二种方法:使用 grep 和 awk(默认分隔符为空格)取值 第三种方法:使用 grep 和 awk(多分隔符) 第四种方法:使用 sed 和 awk 第五种方法:使用 grep 和 awk(多分隔符与加号+) 第六种方法:awk (分隔符及取行) 第七种方法:grep 网卡文件 第八种方法:head 取行 awk 分割 44.请输出你知道的 20 个 LINUX 命令及作用 cp 复制 -a(drp),-r 拷贝目录 -p 保持属性 mv 移动文件或目录 mkdir 创建目录 -p 递归创建目录 mkdir /a/b/c touch 创建文件, cd 切换目录(~当前用户家目录,-上一次的目录) cat 查看文件内容 -n 显示行号 ls 查看目录下文件,-l 长格式,-d 查看目录********** rm 删除文件或目录 -r 目录 -f 强制删除(慎用,mv,find) find 查找文件或目录 -type 类型(f,d,l,c,b),-name 名字 -exec 执行动作***** alias 查看及设置别名 unalias 取消别名 seq 打印序列 -s 指定分割符 -w 数字前面加 0 补齐位数 head 查看文件前 N 行,默认 10 行,-n 指定行数 tail 查看文件后 N 行,默认 10 行,-n 指定行数,-f 实时跟踪文件结尾的变化 sed linux 三剑客老二,文件增删改查,***** pwd 打印当前工作目录 rmdir 删除空目录 echo 显示输出 xargs (配合 find,ls)等查找到的内容处理,-n 分组 tree -L 层数 -d 目录 rpm -q query 查询 -a all uname -r 内核 -m32 位还是 64 位 -a 所有信息, -n 主机名(hostname) hostname 主机名 whoami 查看当前用户 useradd 添加用户 passwd 改密码,–stdin 非交互设置密码 su 切换用户角色,-切换环境变量 Service 1 简述部署 Discuz!论坛的工作流程 参考答案 1)部署 LAMP 软件并启动相应服务; 2)创建网站数据库及数据库管理员账户及密码; 3)将 Discuz!压缩包中的 upload 下的内容解压到 httpd 站点根路径下,并调整好适当的权限; 4)最后,在浏览器输入网址后,进行第一次的初始化工作。 2 简要说明 PXE 安装系统流程 参考答案 客户端向 DHCP 服务器请求分配 IP 地址; DHCP 服务器为客户端分配 IP 地址,告知 Boot server; 客户端向 Boot server 请求下载启动文件; Boot server 向客户端提供启动文件; 客户端向文件共享服务器请求应答文件; 客户端根据应答文件信息,安装操作系统 3 简单描述虚拟化技术常见的虚拟网络类型 参考答案 桥接模式:Guest 与 Host 连接到同一个交换机上,通过桥接物理网卡,相当于直连到 Host 所在网络。 隔离模式:Guest 可访问同一虚拟交换机上的其他 Guest,但无法访问 Host 所在外部网络。 NAT 模式:Guest 的网关指向 Host 的 virtbr0 的 IP 地址,允许虚拟机共享真机的网络连接。 路由模式:由 Host 充当路由器,开启转发,需要额外设置外网与 Guest 之间互访的路由。 2 RHEL6 上实现 KVM 虚拟化需要安装哪些软件组 参考答案 Virtualization、Virtualization Client Virtualization Tools、Virtualization Platform 4 简述 DNS 递归和迭代查询的作用 参考答案 对于一台 DNS 服务器来说: 若允许递归,则当客户端请求解析的域名非本 DNS 管辖时,本 DNS 会向其他 DNS 服务器代询; 若不允许递归,则当客户端请求解析的域名非本 DNS 管辖时,本 DNS 会放弃代询 —— 但是,如果目标地址位于已 知的某个授权子域,本 DNS 会告知客户端对应的子 DNS 服务器的地址信息(即迭代)。 5 为什么使用 LAMP? 答案: 因为 LAMP 具有 Web 资源丰富、轻量、快速开发等特点,与微软的.NET 架构相比,LAMP 具有通用、跨平 台、高性能、低价格优势、因此 LAMP 无论是性能、质量还是价格都是企业搭建网站的首选平台。 6 DNS 的解析过程? 答案:第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。 第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪 录项,则本地的域名服务器就直接把查询的结果返回。 第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发 给根域名服务器,然后根域名服务器再返回给本地域名服务器一个 所查询域(根的子域)的主域名服务器的地址。 第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求 的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的 域名服务器的地址。 第五步:重复第四步,直到找到正确的纪录。 第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还 将结果返回给客户机。 7 DNS 的工作原理? 答案:域名解析有正向解析和反向解析之说,正向解析就是将域名转换成对应的 IP 地址的过程,它应用于在浏览器地址栏中输入网站域名时的情形;而反向解析是 将 IP 地址转换成对应域名的过程,但在访问网站时无须进行反向解析,即使在 浏览器地址栏中输入的是网站服务器 IP 地址,因为互联网主机的定位本身就是 通过 IP 地址进行的,只是在同一 IP 地址下映射多个域名时需要。另外反向解析 经常被一些后台程序使用,用户看不到。 除了正向、反向解析之外,还有一种称为“递归查询”的解析。“递归查询” 的基本含义就是在某个 DNS 服务器上查找不到相应的域名与 IP 地址对应关系时, 自动转到另外一台 DNS 服务器上进行查询。通常递归到的另一台 DNS 服务器对 应域的根 DNS 服务器。因为对于提供互联网域名解析的互联网服务商,无论从 性能上,还是从安全上来说,都不可能只有一台 DNS 服务器,而是由一台或者 两台根 DNS 服务器(两台根 DNS 服务器通常是镜像关系),然后再在下面配置 了多台子 DNS 服务器来均衡负载的(各子 DNS 服务器都是从根 DNS 服务器中 复制查询信息的),根 DNS 服务器一般不接受用户的直接查询,只接受子 DNS 服务器的递归查询,以确保整个域名服务器系统的可用性。 当用户访问某网站时,在输入了网站网址(其实就包括了域名)后,首先就 有一台首选子 DNS 服务器进行解析,如果在它的域名和 IP 地址映射表中查询到 相应的网站的 IP 地址,则立即可以访问,如果在当前子 DNS 服务器上没有查找 到相应域名所对应的 IP 地址,它就会自动把查询请求转到根 DNS 服务器上进行 查询。如果是相应域名服务商的域名,在根 DNS 服务器中是肯定可以查询到相 应域名 IP 地址的,如果访问的不是相应域名服务商域名下的网站,则会把相应 查询转到对应域名服务商的域名服务器上。 8 NTP 简介? 答案: NTP(Network Time Protocol, 网络时间协议)是由 RFC 1305 定义的时间同步协议,用来 在分布式时间服务器和客户端之间进行时间同步,NTP 基于 UDP 保温进行传输,使用 UDP 端口号为 123。 使用 NTP 的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟 保持一致,从而使设备能够提供基于统一时间的多种应用。 对于运行 NTP 的本地系统,既可以接受来自其他时钟源的同步,又可以作为时钟源同步其 他的时钟,并且可以喝其他设备互相同步。 9 NTP 工作原理? 答案: NTP 的基本工作原理如图 1-1 所示。Device A 和 Device B 通过网络相连,他们都有自己独 立的系统时钟,需要通过 NTP 实现各自系统时钟的自动同步。为便于理解,作如下假设: 在 Device A 和 Device B 的系统时钟同步之前,DeviceA 的时钟设定 为 10:00:00am,DeviceB 的时钟设定为 11:00:00am。 设备 B 作为 NTP 时间服务器,即设备 A 将使自己的时钟与设备 B 的时钟同步。 报文在设备 A 和设备 B 之间单向传输所需要的时间是 1 秒 图 1-1 NTP 原理图 系统时钟同步过程如下: 设备 A 发送一个 NTP 报文给设备 B,该报文带有它离开设备 A 时的 时间戳,该时间戳为 10:00:00am(T 1 )。 当此 NTP 报文到达设备 B 时,设备 B 加上自己的时间戳,该时间戳 为 11:00:01am(T 2 )。 当此 NTP 报文离开设备 B 时,设备 B 再加上自己的时间戳,改时间 戳为 11:00:02(T 3 )。 当设备 A 接收到该响应报文时,设备 A 的本地时间为 10:00:03am(T 4 )。 至此,设备 A 已经拥有足够的信息来计算两个重要的参数: 报文的往返时延 Delay=(T 4 -T 1 )-(T 3 -T 2 )=2 秒。 设备 A 相对设备 B 的时间差 offset=((T 2 -T 1 )+(T 3 -T 4 ))/2=1 小时。 这样,设备 A 就能够根据这些信息来设定自己的时钟,使之与设备 B 的时钟同步。 以上内容只是对 NTP 工作原理的一个粗略描述,更详细的资料可以参阅 RFC 1305。 10 NTP 的工作模式? 答案: 设备可以采用多种 NTP 工作模式进行时间同步: 客户端/服务端模式 对等体模式 广播模式 组播模式 11 JAVA 概述? 答案: Tomcat 在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行 Serlvet/JSP 的 Web 容器,不过 Tomcat 也扩展了一些应用服务器的功能,如 JNDI,数据库连接池,用户事 务处理等等。Tomcat 是 Apache 组织下 Jakarta 项目下的一个子项目,目前 Tomcat 被非常广泛的 应用在中小规模的 Java Web 应用中。 Tomcat 是一种具有 JSP 环境的 Servlet 容器。Servlet 容器是代替用户管理和调用 Servlet 的运行时外壳。作为一个开放源代码的软件, Jakarta -Tomcat 有着自己独特的优势: 首先,它容易得到。事实上,任何人都可以从互联网上自由地下载这个软件。无论从 http://jakarta.Apache.org 还是从其他网站(Jakarta Tomcat 是 Apache 软件基金会 开发的一个开放源码的应用服务器)。 其次,对于开发人员,特别是 Java 开发人员,Tomcat 提供了全部的源代码,包括 Servlet 引擎、JSP 引擎、HTTP 服务器。无论是对哪一方面感兴趣的程序员,都可以从这些由世 界顶尖的程序员书写的代码中获得收益。 最后,由于源代码的开放及世界上许多程序员的卓有成效的工作, Tomcat 已经可以和 大部分的主流服务器一起工作,而且是以相当高的效率一起工作。如:以模块的形式被 载入 Apache,以 ISAPI 形式被载入 IIS 或 PWS,以 NSAPI 的形式被载入 Netscape Enterprise Server。 由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。 12 什么是 VPN? 答案: VPN(Virtual Private Network,虚拟私有网) 以共享的公共网络为基础,构建私有的专用网络 以虚拟的连接,而非以物理连接贯通网络 处于私有的管理策略之下,具有独立的地址和路由规 划 有所通,有所不通 描述了基于 IP 的 VPN 体系结构 13 VPN 的优势? 答案: 可以快速构建网络,减小布署周期 与私有网络一样提供安全性,可靠性和可管理性 可利用 Internet,无处不连通,处处可接入 简化用户侧的配置和维护工作 提高基础资源利用率 于客户可节约使用开销 于运营商可以有效利用基础设施,提供大量、多种业 务 14 什么是 DHCP,DHCP 工作原理? 答案: DHCP(Dynamic Host Configure Protocol,动态主机配置协议),用于向网络中的计算机分配 IP 地址及一些 TCP/ip 配置信息。DHCP 提供了安全,可靠且简单的 TCP/IP 网络设置,避免了 TCP/ip 网络地址的冲突,同时大大降低了工 作负担。 DHCP 的 工作原理:客户机从服务器获取 IP 的四个租约过程,客户机请求 ip,服务器相应请求,客户机选择 ip, 服务器确定租约。
0:保存当前读入的整行文本内容
:记录当前处理行的字段个数(列数)
:记录当前已读入行的数量(行数)
:保存当前处理行在原文本内的序号(行号)
:保存
当前处理的(文件名)
:调用
环境变量,格式:
[“变量名“]8,什么是
?如何查看当前系统支持的
?答案:1)实现某种功能的,有执行权限的文件2)
/
/
9,如何切换当前使用的
答案:
10、/
/
特性有哪些答案:特性:提供命令补全,命令编辑和命令历史表等功能11、用户配置文件是哪几个?有什么用?答案:1) /.
/.
可以在里面定义变量,用户每打开一个终端时加载的文件,只针对用户有效12、系统配置文件是哪几个?有什么用?/
/
/
/
可以在里面定义变量,用户每打开一个终端时加载的文件,针对所有用户生效13、
变量类型有哪些?列举出常用的4个预定义变量1)1、自定义变量2、系统环境变量3、预定义变量4、位置变量2)? $# $ $$ 14、自定义变量的命名规则? 1、可以用数字字每下载线,但不能用数字开头和纯数字 2、同一个变量赋两个值,最后一个值生效 3、给变量赋值时,两边不能有空格 4、区分大小写 15、变量的生命周期,和作用范围? 1)在脚本里定义的变量,只在脚本执行过程中有效
dirname $0
pwd;ls
21、ssh -o stricthostkeychecking=no -o ConnectTimeout=60 分别代表什么意
思?
ssh 加接时不需要输入 key 检查,然后六十秒为超时时间
22、说一下-n -z -d -f -e -r -w -x -l !-z 在 shell 中分别代表什么意思?-n 和-z 试
举一个例子说明
-n 非空为真
-z 字符串为空为真
-d 是目录且存在为真
-f 是普通文件且存在为真
-e 存在为真
-r 可读为真
-w 可写为真
-x 可执行为真
-l 是链接为真
!-z 不为空
1)-n 例子:
JavaApp=((
∣
“
“∣
“/
/
“))
[−
“{JavaApp[0]}” ];then echo -e “\033[1;31m 脚本退出 \033[0m” exit 1 fi 2)-z 例子: ssh=$(ssh -o StrictHostKeyChecking=no
2“
/“)
[[−
“ssh” ]];then echo -e “\033[1;31m \033[5m 远程主机($2)无法连接,脚本退出. \033[0m” exit 1 fi 23、正则表达式的 “|”、”\n”、”\r”、”\t”分别代表什么意思 |表示或的意思 \n 表示换行,将当前位移置下行开头 \r 回车,将当前位置移至本行开头 24、写出获取公网 IP 的两种方法 ifconfig | grep -Po “(?<=addr:).*(?=Bcast)” | egrep -v ‘192.168|172.1[6-9].|172.2[0-9].|172.3[0-1].|10.|127.’ /sbin/ifconfig | awk -F’[ :]+’ ‘/inet addr:/ {print KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 2: 4}̲’ | egrep -v ‘…$表示什么意思? 获取当前执行脚本的进程名 26、函数内的 local 是什么意思?举一脚本例子说明 脚本中局部变量,存在于脚本函数(function)中的变量称为局部变量,要以 local 方式进行声明,使之只在本 函数作用域内有效, 防止变量在函中的命名与变量外部程序中变量重名造成程序异常,下面是一脚本例子: #!/bin/sh a() { local s=1 echo $s } b() { s=2 echo $s } s=0 a echo $s b echo
27、@和$*的区别
$@将命令行每个参数视为单独的字符串,等同于”$1″、”$2″、”$3″
$*将所有的命令行所有参数视为单个字符串,等同于”$1$2$3″
28、$0、dirname 和 basename 有什么作用?具个例子说明?
作用:
dirname 获取脚本路径名
basename 获取脚本名
KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 18: …获取脚本路径和脚本名 例子: #̲!/bin/basha ech… 0’ test#”
echo “####################”
echo $0
echo
echo “#########################”
echo “# this is ‘dirname’ test#”
echo “#####################@@@#”
cd dirname $0
&& pwd
echo
echo “##########################”
echo “# this is ‘basename’ test#”
echo “##########################”
echo basename $0
29、取出 3306 端口号这个数字
netstat -tlnp| grep 3306 | awk ‘[ :]+’ ‘{print $5}’ #[ :]+ 以空格和点为分隔符,这种分隔符有一个
或多个
30、shell 中单引号和双引号与不加与号分别代表什么意思
单引号:可以说是所见即所得,即将单号引号的内容原样输出
双引号:把双引号的内容输出出来,如果内容中有命令、变量等,会先把变量、命令解析出结果,然后再输出
最终内容来
无引号:把内容输出出来,会将含有空格的字符串视为一个整体输出,如果内容中有命令、变量等,会先把变
量、命令解析出结果,
然后再输出内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般
连续的字符串,数字
路径等可以不加任何引号,不过最好用双引号替代之
31、echo -n 是什么意思?举一脚本例子显示他的功能
-n 不换行
#!/bin/bash
. /etc/init.d/functions
echo “———Please wait while we are checking————-”
echo -n “6 秒后执行该操作.”
for ((i=0;i<6;i++))
do
echo -n “.”;sleep 2
#[ $i -eq 3 ] && break
done
echo
action “test success” /bin/true
32、echo -e “\n” | nohup ping www.baidu.com > filename 2>&1 &这里的-e 和
“\n” 是什么意思?
-e 是代表后面输入的内容包含特珠字符需要加的参数
\n 是代表换行
33、有 1-9 的数字,echo 输出 1-9 的数字时,屏蔽 0-5 的数字再输出
echo ‘1234567890’ | sed ‘s/[0-5]//g’
34、用 nohup 把一个脚本放在后台运行
nohup sh test.sh > filename 2>&1 &
35、用 seq 打印 10 以空格分隔,用 seq 坚着打印 10 到 1
seq -s ” ” 10
seq 10 -1 1
36、curl -I -s www.baidu.com | head -1 | wc -l 中的-I 和-s 代表什么意思
-s 沉默或安静模式。不显示进度表或错误消息。使卷曲静音
-I 只读取 HTTP 头! HTTP 的服务器功能命令 HEAD 此用来获取
–connetct-timeout 2 2 秒连接超时
37、wget -T 10 -c -q –spider www.baidu.com 这些参数分别代表什么意思?
-T 超时 10 少
-c 断点续传
-q 为执行命令时屏蔽他打印输出的意思,执行命令不会任何内容出来
–spider wget 命令加 spider 参数不会下载任何东西,spider 的主要作用是测试下载链接。
tries
38、生产环境常用的监控 web 的方法是哪种
用 wget 或 curl 的方法作监控
39、生产环境写脚本报错就发邮件的命令是怎么样的
mail -s “uname -n ‘s httpd status is on” 123456@qq.com < $logfile
40、给文件改名
mv $file 1linux-echo $file | cut -d "-" -f2
ls *.jpg | awk -F ‘_finished’ ‘{print “mv ” ” $0” “$1”.jpg”}’ | bash
41、查看当前目录的所有文件夹
ls -F | grep /
42、awk 中的 NF 代表什么意思?
NF 代表结尾的意思
43、shell 上: 0、1>、2>、>、2>&1、&>/dev/null 分别代表什么意思
0 表示标准输入
1>表示标准输出
2>表示标准错误输出
默认为标准输出重定向,与 1> 相同 2>&1 意思是把 标准错误输出 重定向到 标准输出. &>/dev/null 意思是把 标准输出 和 标准错误输出 都重定向到空 Mysql 1 主流数据库服务软件有哪些?开源且跨平台的数据库软件有哪些? 参考答案 主流数据库服务软件有: 甲骨文公司 Oracle IBM DB2 微软 SQL Server 美国 Sybase 公司 Sybase 加州大学伯克利分校计算机系开发的 PostgreSQL 开源且跨平台的数据库软件有: MySQL、PostgreSQL:开源且跨平台 Oracle、DB2:跨平台不开源 SQL Server:不跨平台不开源 Sybase:跨平台不开源 2 MySQL 数据库的服务进程叫什么名字?监听端口是多少?默认数据库目 录是? 参考答案 服务进程名是 mysqld;监听端口是 3306;默认数据库目录为 /var/lib/mysql。 3 MySQL默认的3个库叫什么名字?哪个库里的数据不占用物理磁盘空间? 参考答案 3 个默认库:mysql、test 和 information_schema。 其中,information_schema 库的数据不占用磁盘空间,仅保存在内存里。 4 请列出 MySQL 常用的数据类型,并写出定义这些数据类型所使用的关键 字。 参考答案 MySQL 常用的数据类型: 数值类型:所用关键字为 int、float 字符类型:所用关键字为 char、varchar 日期时间类型:所用关键字为 year、time、datetime 枚举类型:所用关键字为 set、enum 5 简述索引的优点与缺点,默认情况下哪个文件保存表的索引信息? 参考答案 索引的优点与缺点如下: 索引就像一本书的目录 加快查询记录的速度 会降低插入、更新记录的速度 默认情况下“表名.MYI” 文件保存表的索引信息 6 简述在表中创建外键字段要满足那些条件? 参考答案 在表中创建外键字段要满足以下条件: 表必须都使用 innodb 存储引擎 表中外键字段的类型要匹配 被参照字段要有明确的索引 7 简述 MySQL 体系结构的组成,并描述每个组成部分的作用。 参考答案 主要包括 8 个部分: 连接池:进程数限制、内存检查、缓存检查等。 SQL 接口:用户通过 sql 客户端发过来的命令,由 sql 接口接收,sql 操作(DML 数据操作语言:查询、修改、升级 数据等;DDL 数据定义语言:创建一个新的数据库、新的索引、删除一个用户等;存储过程、视图触发器。 分析器: 分析查询语句 事务处理 对象访问权限。 优化器: 优化访问路径 、 生成执行树。 缓存和缓冲:保存 sql 查询结果。 存储引擎:用于管理存储的文件系统,将逻辑结构转换为物理结构的程序;不同的存储引擎有不同的功能和存储方 式。 管理工具:备份,恢复,安全,移植,集群等,这些工具一般和文件系统打交道,不需要和 mysql-server 打交道, 它们对应的都是命令。 物理存储设备(文件系统)。 8 简述 MySQL 数据库访问的执行过程。 参考答案 1)客户端发出请求。 2)服务器端开辟线程响应客户端请求。 3)客户端发起 sql 语句查询数据库。 4)查询缓存:记录用户的 sql 查询语句,如果查询内容相同,直接从查询缓存回复。 5)如果缓存没有进入分析器。 6)分析器:分析用户命令语法是否正确,将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的 表、内容、用户的权限等。 7)优化器:执行路径的选择,生成执行树。(每个 SQL 语句都有很多执行路径,优化的目的就是在这些执行路径 里选择最优的执行路径)。 8)存储引擎:用于管理存储的文件系统,不同的存储引擎有不同的功能和存储方式。 9 简述 MySQL 数据库中插入、更新、查询、删除表记录的指令格式。 连接到 MySQL 数据库服务器,练习以下表记录操作: 向表中插入记录的语法格式 更新表记录的语法格式 查询表记录的语法格式 删除表记录的语法格式 参考答案 1)向表中插入记录的语法格式 insert (into)表名(字段名列表) values(字段名=值,字段名=值,…); 2)更新表记录的语法格式 update 表名(set) (字段名=值,字段名=值,…) where(条件表达式列表); 3)查询表记录的语法格式 select (字段名列表) (from) 表名 (where) 条件表达式列表; 4)删除表记录的语法格式 delete (from) 表名 (where) ( 条件表达式列表); 10 简述用户授权命令的语法格式。 参考答案 grant 权限列表 on 数据库 to 用户名@“客户端地址” identified by “密码” with grant option; 11 在 MySQL-MMM 集群中有几种角色,各自的功能是什么? 参考答案 共 3 种角色:客户端、monitor 节点(管理节点)、agent 节点(数据库节点) 客户端:访问集群 管理节点:负责所有的监控工作的监控守护进程,决定故障节点的移除或恢复 数据库节点:运行在 MySQL 服务器上的代理守护进程,提供简单远程服务集、提供给监控节点(可用来更改只读模 式、复制的主服务器等) 12 在 MySQL-MMM 集群中可以有多少台主数据库服务器、多少台从数据库 服务器? 参考答案 在 MySQL-MMM 环境中主数据库有且只能有 2 台,从数据库理论上可以任意多台。 13 在 MySQL-MMM 集群中均衡模式和排他模式的作用是? 参考答案 均衡模式一般用于从数据库,可实现多个虚拟 IP 地址。 排他模式一般用于主数据库,只可设置一个虚拟 IP 地址。 14,简述 mysqldump 备份数据时数据库名的表示方式。 参考答案 –all-databases 所有库 数据库名 指定单个库 数据库名.表名 指定库里的指定表 -B 数据 1 数据库 2 备份多个库 15,什么是 MySQL 集群? 答案:MySQL 集群是一个无共享的(shared-nothing),分布式节点架构的存储方案,其目的是提供容错性和高性 能。数据在单个数据节点(有时也称存储节点)上存储和复制,每个数据节点运行在独立的服务器上并维护数据的 一份拷贝。每个集群还有管理节点。数据更新使用读已提交隔离级别(read-committed isolation)来保证所有节 点数据的一致性,使用两阶段提交机制(two-phased commit)保证所有节点都有相同的数据 (如果任何一个写 操作失败,则更新失败)。 MySQL 集群的最初实现将所有信息都保存在主存内,没有任何永久性存储。后来 MySQL 集群允许数据存储在磁 盘上。通过存储引擎层 MySQL 服务器作为查询引擎,可以使 MySQL 集群的性能达到最佳。这样就可以将 MySQL 应 用透明地迁移到 MySQL 集群中去。 无共享的对等节点使得某台服务器上的更新操作在其他服务器上立即可见。传播更新使用一种复杂的通信机 制,这一机制专用来提供跨网络的高吞吐量。该架构通过多个 MySQL 服务器分配负载,从而最大程度地达到高性能, 通过在不同位置存储数据保证高可用性和冗余。 16,MySQL 集群和 MySQL 有和不同? 答案:你可能会问:“集群和复制之间有什么区别那?” 集群的定义很多,通常认为集群包含成员、消息、冗余 和自动故障转移等功能,而复制仅仅是一个服务器向别一个服务器发送消息(数据)的方式。我们先讨论集群内部 的复制(又称本地复制)。 17,MySQL 集群的特点? 答案:为了实现最高性能。高可用性和冗余等目标。数据在集群内部的对等数据节点之间互相复制。数据复制采用 同步机制,每个数据节点到所有其他数据节点上,数据在多个数据节点上存储。 18,MySQL 集群有一些创建高可用性系统的专用功能,主要包括? 答案:节点回复、日志、检查点、系统恢复、热备份恢复、无单点故障、故障转移、分区、联机操作 19、MySQL 中 myisam 与 innodb 的区别,至少 5 点 【评析】将 Mysql 常见的存储引擎的特点归纳表格如下 点 myisam innodb memory archive 存储限制 256TB 64TB 有 无 事物安全 不 支持 不 不 支持索引 支持 支持 支持 不支持 锁颗粒(锁力度) 表锁 行锁(没有索引的情 况是表锁) 表锁 行锁 数据压缩 支持 不支持 支持 不支持 支持外键 不 支持 不 不 20 什么是读写分离? MySQL Proxy 最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务 性查询,而从数据库处理 SELECT 查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。 当 然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。 21 读写分离的好处 1.增加冗余 2.增加了机器的处理能力 3.对于读操作为主的应用,使用读写分离是最好的场景,因为可以确保写的服务器压力更小,而读又可以接受点时 间上的延迟。 22 读写分离提高性能之原因 1.物理服务器增加,负荷增加 2.主从只负责各自的写和读,极大程度的缓解 X 锁和 S 锁争用 3.从库可配置 myisam 引擎,提升查询性能以及节约系统开销 4.从库同步主库的数据和主库直接写还是有区别的,通过主库发送来的 binlog 恢复数据,但是,最重要区别在于 主库向从库发送 binlog 是异步的,从库恢复数据也是异步的 5.读写分离适用与读远大于写的场景,如果只有一台服务器,当 select 很多时,update 和 delete 会被这些 select 访问中的数据堵塞,等待 select 结束,并发性能不高。 对于写和读比例相近的应用,应该部署双主相互复制 6.可以在从库启动是增加一些参数来提高其读的性能,例如–skip-innodb、–skip-bdb、–low-priority-updates 以及–delay-key-write=ALL。当然这些设置也是需要根据具体业务需求来定得,不一定能用上 7.分摊读取。假如我们有 1 主 3 从,不考虑上述 1 中提到的从库单方面设置,假设现在 1 分钟内有 10 条写入,150 条读取。那么,1 主 3 从相当于共计 40 条写入,而读取总数没变,因此平均下来每台服务器承担了 10 条写入和 50 条读取(主库不承担读取操作)。因此,虽然写入没变,但是读取大大分摊了,提高了系统性能。另外,当读取被 分摊后,又间接提高了写入的性能。所以,总体性能提高了,说白了就是拿机器和带宽换性能。MySQL 官方文档中 有相关演算公式:官方文档 见 6.9FAQ 之“MySQL 复制能够何时和多大程度提高系统性能” 8.MySQL 复制另外一大功能是增加冗余,提高可用性,当一台数据库服务器宕机后能通过调整另外一台从库来以最 快的速度恢复服务,因此不能光看性能,也就是说 1 主 1 从也是可以的。 23 varchar 与 char 的区别;varchar(50)中 50 的涵义;int(20)中 20 的涵义; char 是定长变量,varchar 是变长变量。 varchar(50)表示这一行的变量最大的存储字节是 50 个字节,int(20)同 理。 【评析】假设有一行是 name char(8),如果有一个数据是叫 AAA,那么它仅仅只有三个字节被存储进去,但是依旧 存储了 8 个字节,多余的 5 个字节空着也就空着了。而是 name varchar(8),同样是 AAA,由于是变长,所以只保存 了 3 个字节,剩下 5 个字节是弹性的,有就用,没有就不用。 在读取方面,char 的读取速度要比 varchar 快,也就是常说的“用读取换容量”,但是还是多用 varchar,当数据 库内容成万上亿的时候,节省的容量是非常非常可观的。 24 计划,mysqldump 以及 xtranbackup 的实现原理;备份恢复时间;备份 恢复失败如何处理。 mysqldump 是采用 sql 级别的备份机制,将数据表导成 sql 脚本文件,在不用的 mysql 版本之间升级时相对比较合 适。 xtranbackup 是 innodb 的 hotbackup 工具,xtrbackup 在启动的时候会复制所有的数据文件,同时会启动一个后台 进程,用于监视事务日志,并且从事务日志复制最新的修改。所以 xtrbackup 在启动的开始,就不懂的将事务日志 的每个数据文件的修改都记录下来。 mysqldump 的备份和恢复时间都很慢,任何数据的更新和变化都会被挂起。 xtrabackup 的恢复时间比 mysqldump 快一点,但是会锁表。 备份恢复失败的话,其实原因很多,主要可能就是参数设置的不对,检查一下参数。 【评析】使用 mysqldump 备份数据表的命令,在 shell 下执行: mysqldump -u 用户名 -p 密码(可以直接-p) -h 主机名 –databases 数据库名 > 要备份的文件路径 mysqldump -u 用户名 -p 密码 -h 主机名 –all-databases >要备份的文件路径 mysqldump -u 用户名 -p 密码 -h 主机名 –no-data 数据库名 >要备份的文件路径 这里并不全,另写文章专门补充。 25 MySQL 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?为什 么是这样子的? InnoDB 的行锁是通过加在索引上实现的,为什么这么设计,我也不知道,去问 mysql 的设计公司。 26 MySQL 数据库备份方式 增量备份、差异备份、完整备份 27 MySQL 主从复制原理? 答案: 分为同步复制和异步复制,实际复制架构中大部分为异步复制。 复制的基本过程如下: 1)、Slave 上面的 IO 进程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的 日志内容; 2)、Master 接收到来自 Slave 的 IO 进程的请求后,通过负责复制的 IO 进程根据请求信息读取制定日志指定位 置之后的日志信息,返回给 Slave 的 IO 进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已 经到 Master 端的 bin-log 文件的名称以及 bin-log 的位置; 3)、Slave 的 IO 进程接收到信息后,将接收到的日志内容依次添加到 Slave 端的 relay-log 文件的最末端,并 将读取到的 Master 端的 bin-log 的文件名和位置记录到 master-info 文件中,以便在下一次读取的时候能够清楚 的告诉 Master“我需要从某个 bin-log 的哪个位置开始往后的日志内容,请发给我”; 4)、Slave 的 Sql 进程检测到 relay-log 中新增加了内容后,会马上解析 relay-log 的内容成为在 Master 端真 实执行时候的那些可执行的内容,并在自身执行。 Mysql 为了解决这个风险并提高复制的性能,将 Slave 端的复制改为两个进程来完成。提出这个改进方案的人 是 Yahoo!的一位工程师“Jeremy Zawodny”。这样既解决了性能问题,又缩短了异步的延时时间,同时也减少了可 能存在的数据丢失量。当然,即使是换成了现在这样两个线程处理以后,同样也还是存在 slave 数据延时以及数据 丢失的可能性的,毕竟这个复制是异步的。只要数据的更改不是在一个事物中,这些问题都是会存在的。如果要完 全避免这些问题,就只能用 mysql 的 cluster 来解决了。不过 mysql 的 cluster 是内存数据库的解决方案,需要将 所有数据都 load 到内存中,这样就对内存的要求就非常大了,对于一般的应用来说可实施性不是太大。 复制常用架构 Mysql 复制环境 90%以上都是一个 Master 带一个或者多个 Slave 的架构模式,主要用于读压力比较大的应用的 数据库端廉价扩展解决方案。因为只要 master 和 slave 的压力不是太大(尤其是 slave 端压力)的话,异步复制 的延时一般都很少很少。尤其是自 slave 端的复制方式改成两个进程处理之后,更是减小了 slave 端的延时。而带 来的效益是,对于数据实时性要求不是特别的敏感度的应用,只需要通过廉价的 pc server 来扩展 slave 的数量, 将读压力分散到多台 slave 的机器上面,即可解决数据库端的读压力瓶颈。这在很大程度上解决了目前很多中小型 网站的数据库压力瓶颈问题,甚至有些大型网站也在使用类似方案解决数据库瓶颈。 28 mysql-mmm 简介 答案: MMM(Master-Master replication manager for Mysql) 是一套灵活的脚本程序,用来 对 mysql replication 进行监控和故障迁移,并能管理 mysql Master-Master 复制的配置 ( 同一时间只有一个节点是可写的 ) 。附带的工具套件可以实现多个 slaves 的 read 负载均衡, 因此你可以使用这个工具移除一组服务器中复制延迟较高的服务器的虚拟 IP ,它还可以备 份数据,两节点之间再同步等等。 Mysql-mmm 是一套脚本程序,基于 perl 实现,通过不同的 perl 脚本实现对 mysql 服 务器的管理与维护。它仅仅是一个管理程序,自己本身并不提供 mysql 服务功能。 被管理的 mysql server 机需要安装相关的 agent 脚本, mysql-mmm 的监控端可以监 管所以安装过此脚本的 mysql server 。 当出现多台可写 mysql server 时, mmm 可以保证在同一时间点只使用一台 mysql server 进行写入操作,以保证数据有效性,防止写入冲突。所以它并不适用于有大并发写入 要求的生产环境。相反,当有多台可读 mysql server 存在时,它可以通过一些其他软件的 配合,实现负载均衡方式的读取,大大提高 mysql server 的读性能。 在运行过程中,如果某一台 mysql server 处于不可用状态时, mmm 可以将原有操作 请求迁移至其他可用 mysql ,从而实现服务的高可用性。包括写请求迁移,读请求迁移,主 从同步的 master 迁移。 Mysql-mmm 同时也提供了一套很好用的运维管理工具,可以实现简单快捷的数据备份与 维护。简化管理员的日常维护成本。 29 mysql-mmm 组成与原理 答案: Mysql-mmm 的管理功能主要通过三个脚本来实现 mmm_mond 监控进程,负责所有的监控工作,决定和处理所有节点角色活动 。此脚本需要在监管 机上运行。 mmm_agentd 运行在每个 mysql 服务器上的代理进程,完成监控的探针工作和执行简单的远端服务 设置 。此脚本需要在被监管机上运行。 mmm_control 一个简单的脚本,提供管理 mmm_mond 进程的命令 mysql-mmm 的监管端会提供多个虚拟 IP ( VIP ),包括一个可写 VIP ,多个可读 VIP ,通过监管的管理,这些 IP 会绑定在可用 mysql 之上,当某一台 mysql 宕机时,监管 机会将 VIP 迁移至其他 mysql 。 在整个监管过程中,需要在 mysql 中添加相关授权用户,以便让 mysql 可以支持监理 机的维护。授权的用户包括一个 mmm_monitor 用户和一个 mmm_agent 用户,如果想使 用 mmm 的备份工具则还要添加一个 mmm_tools 用户。 30 多源复制下,支持 master 是 5.6,slave 是 5.7 吗? 答:可以的 【老叶补充】非常不建议跨大版本的 MySQL Replication。 31 半同步复制设置 N 个 slave 应答,如果当前 Slave 小于 N 会怎样? 答:取决于 rpl_semi_sync_master_wait_no_slave 的设置。
8,机柜 1U 是指什么? 数值是多少 ? 答案: 是指服务器的厚度。 1U 等于 4.45 厘米。 9,一个 42U 标准, 机柜最多能放下几台 3U 服务器? 答案:13 台 10,辨别一个硬盘参数有那些? 答案: 一个看 硬盘转速! 转速越高 读写速度越快! 二个看 硬盘显存 显存大小 都会影响硬盘读写速度! 一般最小为 2M 最大可以到 32M 三个看 硬盘的存储量! 更具你自己需要 选择 最小 80G 最大到 10T 10000G 三个看 硬盘的接口 IDE sata 前者俗称并口硬盘 后者为串口 一般来说前者比后者稳定 但是传输速度没有后 者快 后者速度很理想 但是 不是很稳定 往往出现坏道的时间 比 IDE 的要快 11,简述 More 和 less 命令的区别? 答案: More 不能往前翻页,less 可以往前翻页 12,热备硬盘的概念? 答案: 热备盘的作用相当于是在 raid 里面再做一个备份,比如说本来 Raid 里面是只允许坏一个盘的情况下系统和数据依 然正常运行,但是坏两个就不行了,但是加了热备之后就可以同时坏两个盘都没问题,就多了个保险。 原理: 那个热备盘相当于帮 Raid 阵列多做多个备份,如果 Raid 陈列里其中一个盘坏了,这个热备盘就会顶替 Raid 里的那个坏盘,同时利用异或校验算法,把坏盘上面的数据原样做出来并存储在热备盘中。这样一来就等于 Raid 没受到损坏,然后你再找个一个同样的盘把坏盘替换掉,Raid 和热备盘的状态又正常了! 13,如何在 Linux 中永久设置网络信息, IP:192.168.1.10 ,子网掩码:255.255.255.0 网关:192.168.1.1 答案: vim /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 14,如何关闭防火墙? 答案:/etc/init.d/iptables stop 永久关闭 Chkconfig iptables on 15,查看内存运行状态的命令是什么? 答案:free 16,RAID 的含义及优势?RAID0、RAID1、RAID5 分别指什么、各自的特点? 参考答案 1)RAID:廉价冗余磁盘阵列,指通过硬件/软件技术将多个较小/低速的磁盘整合成一个大磁盘使用的一种存储技 术,其不仅可存储数据,还可以实现一定程度的冗余保障,具有“速度快、安全性高”的优势。 2)RAID0、RAID1、RAID5 的含义及特点如下: RAID0:条带模式,由两个或两个以上的磁盘组成,同一份文档分散在不同的磁盘中,并行写入,提高写效率。 RAID1:镜像模式,由至少两个磁盘组成,同一份文件被分别写入到不同的磁盘中,每份磁盘数据一样,实现容错, 提高读效率。 RAID5:分布式奇偶校验的独立磁盘模式,结合 RAID0 和 RAID1 的好处,同时避免它们的缺点。由至少 3 块以上大 小相同的磁盘组成,实现冗余。
17,每天晚上 00:00 执行 mysql 数据备份,请写出 crontab 配置项 答案: 0 0 * * * mysqldump -uroot -p123456 –flush-logs 数据库名 > 备份文件名
18,写一个 mysql 管理启动停止的脚本,mysql 安装路径 /opt/mysql 答案:
19, 查看 iptables 默认策略的指令是什么? 答案: iptables -L
20,iptables 开放端口 80 端口的语句怎么写? 答案: iptables -I INPUT -p tcp –dport 80 -j ACCEPT
21,TCP 和 UDP 的区别是什么 ? 答案: TCP—传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之 间建立一个 TCP 连接,之后才能传输数据。TCP 提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证 数据能从一端传到另一端。 UDP—用户数据报协议,是一个简单的面向数据报的运输层协议。UDP 不提供可靠性,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们能到达目的地。由于 UDP 在传输数据报前不用在客户和服务器之间建立 一个连接,且没有超时重发等机制,故而传输速度很快 22,Linux 主机需要上网,有那几个必须的网络项设置?分别是什么? 答案:4 个 DNS,IP 地址,子网掩码,网关,
23,Apache 配置基于端口的虚拟主机,需要配置那几个项? 答案:
24,简要描述 Linux 的启动过程? 答案: 参考答案 加载 BIOS,检查硬件信息 读取并执行第一个开机设备内 MBR 运行 grub 引导加载 kernel 内核启动/sbin/init 程序 init 系统初始化 确定默认的运行级别 触发 runlevel 事件,运行/etc/rc.d/rc 最后执行/etc/rc.d/rc.local 加载终端或 X-Window 接口
25,简述你所理解的虚拟化? 答案:
26,简述 TCP 三次握手的过程? 答案: TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。 以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:
27,简述 RAID0 RAID1 RAID5 三种工作原理及特点? 答案: RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余, 因此并不能算是真正的 RAID 结构。RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘 失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。 RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接 从镜像拷贝中读取数据,因此 RAID 1 可以提高读取性能。RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安 全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是: 镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。 RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘 上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常运行
28,tail 命令输出文件 abc 最后 20 行 答案: tail -20 2bc
29,在 /var/log/ 目录下查找文件名以 vmker 开头的文件并打印路径? 答案: ls ar/log/ | grep ^vmker
30,写一个脚本查找最后创建时间是 3 天前,后缀是 *.log 的文件并删除。 答案: find / -name “.log” -ctime +3 -exec rm -f {} ;
31,写一个脚本将目录下大于 100K 的文件移动至 /tmp 下?
答案:
#!/bin/bash
for file in ls /root
do
if [ -f $file ]; then
if [ ls -l $file|awk '{print $5}'
-gt 10000 ]; then
mv $file /tmp/
fi
fi
done
32,将本地 80 端口的请求转发到 8080 端口, 当前主机 IP 为 192.168.10.1 答案: Iptables -A PREROUTING -d 124.42.60.109 -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.0.0.18:9000 33, 除了 FAT32 和 ext3 ,还有那些文件系统格式 ? 答案:ext4 , xfs
34,Linux 中每周六的 04 点 20 分删除 /tmp/log_* 文件,怎样实现? 答案:20 04 * * 6 rm -rf /tmp/log_*
35,服务器除了 CPU 负载外, 还可能会在哪方面产生瓶颈? 答案: 内存,硬盘。宽带。
36,用什么命令可以立即查处服务器在昨天有没有被别人重启过系统? 答案:
37,怎么查询某 rpm 中包含那些文件? 答案:rpm -qpl Rpm -qpc
38,Linux 引导加载的先后排序是? 请标序号 BIOS ( 1 ) Kernel ( 5 ) GRUB (4 ) MBR ( 3 ) RAID ( 2 )
39,在 BASH shell 中 2>&1 的作用? 答案: 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了 out.file 文件,即将标准出错也输出到 out.file 文件中。最后一个&, 是让该命令在后台执行。
40,如何在 Linux 中创建 /users 目录 ,并将目录赋予 775 权限? 答案 :mkdir -m 755 /users
41,Linux 系统中 /etc/hosts 文件的作用? 答案 : Linux 的/etc/hosts 是配置 ip 地址和其对应主机名的文件,这里可以记录本机的或其他主机的 ip 及其对应主机名。 不同的 linux 版本,这个配置文件也可能不同。比如 Debian 的对应文件是/etc/hostname。
42, 每天凌晨 1 点在 /data 目录新建当天日期文件夹? 答案: 0 1 * * * mkdir /data/$(date “+%Y%m%d”)
43,如何查看占用端口 8080 的进程? 答案 :netstat -anutp | grep :8080 lsof -i:8080
44,查看系统启动的服务列表,并新添 mysqld 服务随系统启动、 答案: chkconfig –list chkconfig mysql on
45,httpd 有几种工作模式,每种模式的简单区别? 答案:2 中 最主要的两种模式是 prefork 模式与 worker 模式。prefork 每个子进程只有一个线 程,效率高但消耗内存大,是 unix 下默认的模式;worker 模式每个子进程有多个线程, 内存消耗低,但一个 线程崩溃会牵连其它同子进程的线程。
46,MySQL 如何给 testuser 用户对 testdb 数据库所有表授权访问,密码为 testpwd,请写出命令? 答案: grant all on testdb.* to testuser@“localhost” identified by “testpwd”
47、设置数据库管理员从本机登录的密码为 999 答案:mysqladmin -hlocalhost -uroot -p password “999”
48、授权管理员用户可以在网络中的所有主机登录,对所有库 、表有完全权限且有授权的权限、 登陆密码 tarena 答案: mysql -hlocalhost -uroot -p999 grant all on . to root@”%” identified by “tarena” with grant option;
49、查看当前登陆数据库服务器的用户是谁? 答案: select user();
50、查看当前登陆数据库服务器用户的权限? 答案: show grants;
51、查看当前数据库服务器有哪些授权用户。 答案: select user,host from mysql.user;
52、不允许数据库管理员在数据库服务器本机登录。 答案: delete from mysql.user where host in (“127.0.0.1”,”::1″,“localhost”,“svr5.tarena.com”); flush privileges;
53、授权 userweb 用户可以从网络中的任意主机访问数据库服务器,对 studb 库下的 tuser 表有查看、更新 username 字段和 age 字段的权限 登录密码 userweb888。 答案: grant select,update(username,age) on studb.tuser to userweb@”%” identified by “userweb888”; mysql -h192.168.4.5 -uuserweb -puserweb888
54、授权用户 userweb 重置自己的登陆密码为 123456,并验证能否使用新密码登陆 答案: set password=password(“123456”);
55、 数据库管理员修改授权用户 userweb 的登录密码为 654321,让授权用户 userweb 使用新密码登陆数据库服务 器。 答案: mysql -h192.168.4.5 -uroot -ptarena set password for userweb@”%”=password(“654321”); mysql -h192.168.4.5 -uuserweb -p654321
56、撤销授权用户 userweb 的所有授权并 使其不再能使用此用户连接数据库服务器。 答案: mysql -h192.168.4.5 -uroot -ptarena revoke all on studb.tuser from userweb@”%”; delete from mysql.user where user=“userweb” and host=”%”; flush privileges;
57、授权 webadmin 用户可以从网络中的所有主机登录,对 bbsdb 库拥有完全权限,且有授权权限,登录密码为 webadmin 答案: grant all on bbsdb.* to webadmin@”%” identified by “webadmin” with grant option; grant insert on mysql.* to webadmin@”%” ;
58、在客户端使用授权用户 webadmin 登录,把自己的权限授权给 userone 用户 登录密码是 userone。 答案: mysql -h192.168.4.5 -uwebadmin -pwebadmin grant all on bbsdb.* to userone@”%” identified by “userone”; 59、撤销 webadmin 用户的授权权限。 答案: mysql -h192.168.4.5 -uroot -ptarena revoke grant option on bbsdb.* to webadmin@”%” ;
60、让所有授权用户连接数据库服务器后,对 test 库无任何权限 答案: delete from mysql.db where user=””; flush privileges;
61、只允许数据库管理员从数据库服务器本机登录且有授权的权限 , 登录的密码 123plj456。 答案: mysql -h192.168.4.5 -uroot -ptarena grant all on . to root@“localhost” identified by “123plj456” with grant option; quit mysql -hlocalhost -uroot -p123plj456 delete from mysql.user where host!=“localhost”; flush privileges; 62,简述 Linux 文件系统通过 i 节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案: Linux 通过 i 节点表将文件的逻辑结构和物理结构进行转换。 i 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可 方式以及文件的类型等重要信息。在 i 节点表中最重要 的内容是磁盘地址表。在磁盘地址表中有 13 个块号, 文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux 文件系统通过把 i 节点和文件名进行 连接, 当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的 i 节点号,通 过该 i 节点的磁盘地址表把分散存放的文件物 理块连接成文件的逻辑结构。 63.简述进程的启动、终止的方式以及如何进行进程的查看。 参考答案: 在 Linux 中启动一个进程有手工启动和调度启动两种方式: (1)手工启动 用户在输入端发出命令,直接启动一个进程的启动方式。可以分为: ①前台启动:直接在 SHELL 中输入命令进行启动。 ②后台启动:启动一个目前并不紧急的进程,如打印进程。 (2)调度启动 系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系 统会自动完成该任务。 经常使用的进程调度命令为:at、batch、crontab。 64. 简述 DNS 进行域名解析的过程。 参考答案: 首先,客户端发出 DNS 请求翻译 IP 地址或主机名。DNS 服务器在收到客户机的请求后: (1)检查 DNS 服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息; (2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息; (3)若没有查到,则将请求发给根域 DNS 服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查 找三级,直至找到要解析的地址或名字,即向客户机所在网络的 DNS 服务器发出应答信息,DNS 服务器收到 应答后现在缓存中存储,然后,将解析结果发给客户机。 (4)若没有找到,则返回错误信息。 65.系统管理员的职责包括那些?管理的对象是什么? 参考答案: 系统管理员的职责是进行系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测。管理的对象是 服务器、用户、服务器的进程及系统的各种资源等。 66.简述安装 Slackware Linux 系统的过程。 参考答案: (1)对硬盘重新分区。 (2)启动 Linux 系统(用光盘、软盘等)。 (3)建立 Linux 主分区和交换分区。(4)用 setup 命令安装 Linux 系统。 (5)格式化 Linux 主分区和交换分区(6)安装 Linux 软件包 (7)安装完毕,建立从硬盘启动 Linux 系统的 LILO 启动程序,或者制作一张启动 Linux 系统的软盘。重新启 动 Linux 系统。 67.什么是静态路由,其特点是什么?什么是动态路由,其特点是什么? 参考答案: 静态路由是由系统管理员设计与构建的路由表规定的路由。适用于网关数量有限的场合,且网络拓朴结构不经 常变化的网络。其缺点是不能动态地适用网络状况的变化,当网络状况变化后必须由网络管理员修改路由表。 动态路由是由路由选择协议而动态构建的,路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内 容。动态路由可以自动学习网络的拓朴结构,并更新路由表。其缺点是路由广播更新信息将占据大量的网络带 宽。 68.进程的查看和调度分别使用什么命令? 参考答案: 进程查看的命令是 ps 和 top。 进程调度的命令有 at,crontab,batch,kill。 69.当文件系统受到破坏时,如何检查和修复系统? 参考答案: 成功修复文件系统的前提是要有两个以上的主文件系统,并保证在修复之前首先卸载将被修复的文件系统。 使用命令 fsck 对受到破坏的文件系统进行修复。fsck 检查文件系统分为 5 步,每一步检查系统不同部分的连接 特性并对上一步进行验证和修改。在执行 fsck 命令时,检查首先从超级块开始,然后是分配的磁盘块、路径名、 目录的连接性、链接数目以及空闲块链表、i-node。 70.解释 i 节点在文件系统中的作用。 参考答案: 在 linux 文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用 i 节点对一 个文件进行索引。I 节点包含了描述一个文件所必须的全部信息。所以 i 节点是文件系统管理的一个数据结构。 71.什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么? 参考答案: 链接分硬链接和符号链接。 符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类 型位是 l,链接文件具有新的 i 节点。 硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的 i 节点同被链 接文件的 i 节点相同。 72.在对 linux 系统分区进行格式化时需要对磁盘簇(或 i 节点密度)的大小进行选择,请说明选择的原则。 参考答案: 磁盘簇(或 i 节点密度)是文件系统调度文件的基本单元。磁盘簇的大小,直接影响系统调度磁盘空间效率。当 磁盘分区较大时,磁盘簇也应选得大些;当分区较小时,磁盘簇应选得小些。通常使用经验值。 73.简述网络文件系统 NFS,并说明其作用。 参考答案: 网络文件系统是应用层的一种应用服务,它主要应用于 Linux 和 Linux 系统、Linux 和 Unix 系统之间的文件 或目录的共享。对于用户而言可以通过 NFS 方便的访问远地的文件系统,使之成为本地文件系统的一部分。采 用 NFS 之后省去了登录的过程,方便了用户访问系统资源。 74.某/etc/fstab 文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义。 参考答案: (1)第一列:将被加载的文件系统名;(2)第二列:该文件系统的安装点; (3)第三列:文件系统的类型;(4)第四列:设置参数; (5)第五列:供备份程序确定上次备份距现在的天数; (6)第六列:在系统引导时检测文件系统的顺序。 75.Apache 服务器的配置文件 httpd.conf 中有很多内容,请解释如下配置项: (1)MaxKeepAliveRequests 200 (2)UserDir public_html (3)DefaultType text/plain (4)AddLanguare en.en (5)DocumentRoot“/usr/local/httpd/htdocs” (6)AddType application/x-httpd-php.php.php.php4 参考答案: (1)允许每次连接的最大请求数目,此为 200;(2)设定用户放置网页的目录; (3)设置服务器对于不认识的文件类型的预设格式; (4)设置可传送语言的文件给浏览器;(5)该目录为 Apache 放置网页的地方; (6)服务器选择使用 php4。 76.某 Linux 主机的/etc/rc.d/rc.inet1 文件中有如下语句,请修正错误,并解释其内容。 /etc/rc.d/rc.inet1: …… ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1 ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1 参考答案: 修正错误: (1)ROUTE 应改为小写:route;(2)netmask 255.255.0.0 应改为:netmask 255.255.255.0; (3)缺省路由的子网掩码应改为:netmask 0.0.0.0; (4)缺省路由必须在最后设定,否则其后的路由将无效。 解释内容: (1)route:建立静态路由表的命令;(2)add:增加一条新路由; (3)-net 192.168.1.0:到达一个目标网络的网络地址; (4)default:建立一条缺省路由;(5)gw 192.168.0.101:网关地址; (6)metric 1:到达目标网络经过的路由器数(跳数)。 77.试解释 apache 服务器以下配置的含义: (1)port 1080 (2)UserDir userdoc (3)DocumentRoot “/home/htdocs” (4)<Directory /home/htdocs/inside>; Options Indexes FollowSymLinks AllowOverride None Order deny,allow deny from all allow from 192.168.1.5 ; (5)Server Type Standlone 参考答案: Apache 服务器配置行含义如下: (1)将 apache 服务器的端口号设定为 1080; (2)设定用户网页目录为 userdoc; (3)设定 apache 服务器的网页根目录:/home/htdocs; (4)在此 apache 服务器上设定一个目录/home/htdocs/inside,且此目录只允许 IP 地址为 192.168.1.5 的主机访问; (5)定义 apache 服务器以独立进程的方式运行。 78.简述使用 ftp 进行文件传输时的两种登录方式?它们的区别是什么?常用的 ftp 文件传输命令是什么? 参考答案: (1)ftp 有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous,密码为:任何 合法 email 地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户 密码。 区别:使用匿名登录只能访问 ftp 目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录, 且上载、下载均可。 (2)ftp 文件传输有两种文件传输模式:ASCII 模式和 binary 模式。ASCII 模式用来传输文本文件,其他文 件的传输使用 binary 模式。 (3)常用的 ftp 文件传输命令为:bin、asc、put、get、mput、mget、prompt、bye 79.编写 shell 程序,实现自动删除 50 个账号的功能。账号名为 stud1 至 stud50。 参考程序: #!/bin/sh i=1 while [
−
50]
−
{i} i=
((i+1 )) Done 80、查询 file1 里面空行的所在行号 awk ‘{if(KaTeX parse error: Expected group after ‘^’ at position 4: 0~/^̲/)print NR}’ file or grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 2: 1}̲’ 81、查询 file1 以… file1 82、打印出 file1 文件第 1 到第 3 行 sed -n ’1,3p’ file1 head -3 file1 83、你对现在运维工程师的理解和以及对其工作的认识 运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服 务。运维工程师的一个小小的失误,很有可能会对公司及客户造成重大损失,因此运维工程师的工作 需要严谨及富有创新精神。 84、linux 下常用的 DNS 服务软件是什么,举出几种常用的 DNS 记录,如果域名 abc.com 配置好了一台邮件服务器,IP 地址为 202.106.0.20,我该如何做相关的解析?是否了解 bind 的智能解析,如果了解请简述一下其原理 答案: 1)常用的 DNS 软件是 bind 2)A 记录 地址记录 MX 记录 邮件交换记录 CNAME 记录 别名域记录 3)修改 abc.com 域名的配置文件,增加以下记录 IN MX 10 mail.abc.com. mail IN A 202.106.0.20 4)bind 根据请求解析客户端的 IP 地址,做出不同的解析,其原理是在配置文件中,设定了 view,在每个 view 都 有客户端的 IP 地址段,bind 服务器根据请求解析客户端的 IP 地址,匹配不同的 view,再根据该 view 的配置,到 相应的配置文件进行查询,将结果返回给请求的客户端。 85、通过 apache 访问日志 access.log 统计 IP 和每个地址访问的次数,按访问量列出前 10 名。 日志格式样例如下 192.168.1.247 – – [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19 答案: cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10 //这个别的方法也能统计,但有些命令是必要的 awk , sort,uniq ,主要看是否这些命令都使用了。 86,在 11 月份内,每天的早上 6 点到 12 点中,每隔 2 小时执行一次/usr/bin/httpd.sh 怎么实现 答案: 06-12/2 * 11 * /usr/bin/httpd.sh 87,oracle 数据库备份方式 答案: 物理备份:开启网络监听,备份数据库文件。 RMAN 备份:通过表空间文件在 RMAN 模式对 ORACLE 数据备份。 88,写出常见的服务对应端口的对照表至少 10 个。如:FTP 21 答案: HTTP: 80 FTP: 21 DNS: 53 POP3:110 SMTP: 25 SSH: 22 NGINX: 80 SQUID: 3128 NAGIOS: 5666 MEMCHACHED:11211 MYSQL: 3360 TOMCAT: 8080 NFS: 2049 TLENET: 23 HTTPS:443 SAMBA: UDP 138 TCP 139 POSTFIX: 25 IMAP: 143 zabbix:10051 89.简述安装 Linux 至少需要哪两个分区?还有哪些常用分区?Windows 与 linux 的主要区别是 什 么? 答案: / 跟 、swap 、/boot、 /home 主要区别是 Linux 主要是在服务器领域,Windows 主要是用在 客户端。
97.试解释 apache 服务器以下配置的含义 (1) port 1080 (2) UserDir userdoc (3) DocumentRoot /home/htdocs (4)<Directory /home/htdocs/inside>; Options Indexes FollowSymLinks AllowOverride None Order deny,allow deny from all allow from 192.168.1.5 ; (5)Server Type Standlone 答案: Apache 服务器配置行含义如下: (1)将 apache 服务器的端口号设定为 1080; (2)设定用户网页目录为 userdoc; (3)设定 apache 服务器的网页根目录:/home/htdocs; (4)在此 apache 服务器上设定一个目录/home/htdocs/inside,且此目录只允许 IP 地 址为 192.168.1.5 的主机 访问; (5)定义 apache 服务器以独立进程的方式运行
98,列出你常用的 10 个 linux 命令 答案: cd 、ls 、pwd、du 、free、less、mkdir、touch、vim 、useradd 99,linux 下面有关查找的命令有哪些 答案: grep find which
Linux 运维工程师面试题第一套 1)Linux 启动大致过程? 加载 BIOS–>读取 MBR–>Boot Loader–>加载内核–>用户层 init 依据 inittab 文件来设定系统运行的等级(一般 3 或者 5,3 是多用户命令行,5 是界面)–>init 进程执行 rc.syninit–>启动内核模块–>执行不同级别运行的脚本 程序–>执行/etc/rc.d/rc.local(本地运行服务)–>执行/bin/login,就可以登录了。 【评析】基本看过《鸟哥私房菜》的目录就能知道,这是第五章管理员的第一个内容。这道题可以扩展一下:init 系统运行等级一共有几种,每一种都是什么? 0:关机,只要是 0 就不能开机 1:单用户模式,不能被远程登陆 2:多用户不能上网模式 3:多用户可以上网模式 4:未使用 5:有图形的 linux 6:重启,只要是 6 就会不断的重启,子子孙孙无穷匮焉的重启 2)Linux 系统是由那些部分组成? Linux 系统内核,shell,文件系统和应用程序四部分组成。 3)apache 有几种工作模式,分别简述两种工作模式及其优缺点? apache 主 要 有 两 种 工 作 模 式 : prefork(apache 的 默 认 安 装 模 式 ) 和 worker( 可 以 在 编 译 的 时 候 添 加 –with-mpm=worker 选项) prefork 的特点是:(预派生) 1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 2.可以防止意外的内存泄漏 3.在服务器负载下降的时候会自动减少子进程数 worker 的特点是:支持混合的多线程多进程的多路处理模块 如果对于一个高流量的 HTTP 服务器,worker MPM 是一个比较好的选择,因为 worker MPM 占用的内存要比 prefork 要小。 【评析】我没有怎么深入的接触 apache,我是半路出家,接触的是 nignx,于是这道题就那么回事吧。 4)LVS 三种模式的工作过程? NAT (Network Address Translation)模式。LB 收到用户请求包后,LB 将请求包中虚拟服务器的 IP 地址转换为某 个选定 RS 的 IP 地址,转发给 RS;RS 将应答包发给 LB,LB 将应答包中 RS 的 IP 转为虚拟服务器的 IP 地址,回送 给用户。 IP 隧道 (IP Tunneling)模式。LB 收到用户请求包后,根据 IP 隧道协议封装该包,然后传给某个选定的 RS;RS 解 出请求信息,直接将应答内容传给用户。此时要求 RS 和 LB 都要支持 IP 隧道协议。 DR(Direct Routing)模式。LB 收到请求包后,将请求包中目标 MAC 地址转换为某个选定 RS 的 MAC 地址后将包转发 出去,RS 收到请求包后 ,可直接将应答内容传给用户。此时要求 LB 和所有 RS 都必须在一个物理段内,且 LB 与 RS 群共享一个虚拟 IP。 【评析】LVS 就是 Linux Virtual Server,linux 虚拟服务器,这道题要是不明白就记下来,详细内容可以看看 http://www.it165.net/admin/html/201401/2248.html 和 http://edu.51cto.com/course/course_id-5787.html?edu_recommend_adid=99 5)列出 linux 常见打包工具并写相应解压缩参数(至少三种)? 这个没啥说的,tar 命令就是打包工具,对应的解压缩参数 tar -cvf、 tar -zcvf、 tar -jcvf 是对应拆包解压 什么文件的要对应记住,不要记混。 6)一个 EXT3 的文件分区,当用 touch 新建文件时报错,错误信息是磁盘已满,但是使用 df -H 查看分区信息时只 使用了 50%,请分析具体原因? 答:两种情况,一种是磁盘配额问题,另外一种就是 EXT3 文件系统的设计不适合很多小文件跟大文件的一种文件 格式,出现很多小文件时,容易导致 inode 耗尽了。 7)请使用 Linux 系统命令统计出 establish 状态的连接数有多少? netstat -an |grep ESTABLISHED |wc -l 【评析】netstat 命令-a 参数是“显示所有链接”(all),-n 是不要域名解析,即都是以数字 IP 的显示。这俩是高 频参数。 这里要用大写的 ESTABLISHED,因为小写的 established 显示出来的东西是不对的,可以自己动手试试,所以这里的 大小写是一个隐藏点。 然后再用 wc -l 来统计数。如果这道题要再多补充“查 80 端口的 establish”,那么就是 netstat -an|grep 80 |grep ESTABLISHED |wc -l 补充一句,现实生产的时候,如果服务器维持的链接是成千上万的话,少用 netstat,多用 ss。不过 ss 命令面试 的时候考的不多,有个大概了解即可。 8)统计出一台 web server 上的各个状态(ESTABLISHED/SYN_SENT/SYN_RECV 等)的个数? netstat -antl|grep ESTABLISTHED|wc -l netstat -antl|grep SYN_SENT|wc -l netstat -antl|grep SYN_RECV|wc -l 【评析】这道题跟上一道题的相似度很高,netstat 命令的-t 参数是查询 tcp 协议的链接,-l 参数是查询 listen 状态下的链接。netstat -an 的话会出现大概三个部分的内容,一部分是 tcp 协议内容,一部分是 udp 协议的内容, 还有一部分是 unix socket 方面的链接,Active UNIX domain sockets (servers and established)。unix 那部分 内容很多,如果用了-t /-u 的参数,那么后面的 unix 内容就会不显示。 9)查找/usr/local/apache/logs 目录最后修改时间大于 30 天的文件并删除 find /usr/local/apache/logs -type f -mtime +30 -ok rm {} ; 【评析】find 命令以及相关搭配命令是笔试中的重点,因为在现实中运用的情况最多,所以必考必考必考!!! 使用 mtime +30 来描述“修改时间大于 30 天”,使用-type -f 来描述“文件”,然后使用-ok 命令将所有满足的 文件都执行下一步操作。这里是删除文件,所以比较人性化的用 ok,删之前询问一下,如果简单暴力就可以直接 -exec,直接枪毙掉。用了-exec 的话是不用-f 的,多此一举。 10)编写个 shell 脚本将/usr/local/test 目录下大于 100K 的文件转移到/tmp 目录 touch AAA.sh #!/bin/bash find /usr/local/test/ -size +100K -exec mv {} /tmp ; 【评析】-exec and -ok 后面的花括号里面的内容就是使用 find 命令查找出来的文件名。 11)添加一条到 192.168.3.0/24 的路由,网关为 192.168.1.254? route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254 或者 route add -net 192.168.3.0/24 gw 192.168.1.254 【评析】route 命令是临时性的增加路由,如果需要永久性的添加路由,方法一,#vim etc/rc.local,在文件里加 上 route add -net 192.168.3.0/24 gw 192.168.1.254。方法二,#vim etc/sysconfig/network 在后面加上 GATEWAY=192.168.1.254,用这个方法来增加网关。然后# route -n 检查一下。 12)在每周 6 的凌晨 3:15 执行/home/shell/collect.pl,并将标准输出和标准错误输出到/dev/null 设备,请写出 crontab 中的语句? 15 3 * * 6 sh /home/shell/collect.pl > /dev/null 2>&1 【评析】每一个命令的执行肯定都会有“成功”or“失败”,系统默认 1 是“stdout 标准输出”,2 是“stderr 标准错误”,&的含义是“等同”,2>&1 的意思就是“将错误的信息重定向输出的地方跟 1 一样,都是去空设备文 件”。 13)在 11 月份内,每天的早上 6 点到 12 点中,每隔 2 小时执行一次/usr/bin/httpd.sh 怎么实现 ? crontab -e 1 6-12/2 * 11 * bash /usr/bin/httpd.sh 【评析】crontab、at 这种计划任务命令也是面试高频题目,crontab 一共有 5 个*,分别表示“分钟”、“小时”, “日期”、“月份”、“星期几”。基本的结构要明白,而且“当大数有条件,小数任意”的情况下,小数不要用 ,用 0or 1,如果这道题写成“ 6-12/2 * 11 * bash /usr/bin/httpd.sh”,你的 apache 会很爽,它会在满足 条件的情况下每一分钟都启动一下。 14)匹配 AAA 文本中的 key 并打印出该行及下面的 5 行? grep -A 5 key AAA 【评析】-A 是查找关键词下面的行,-B 是查找关键词上面的行,-C 是上下的行,注意这里是 grep,而不是 find。 15)查询 AAA 文件里以 abc 结尾的行? grep “abc
“
【评析】这里不是
“
” | AAA!,这里没有“|”的,要注意。 16)打印出 AAA 文件第 1 到第 3 行? head -3 AAA 【评析】没啥说的,太基础了。用 sed -n ‘1,3p’ AAA 更稍微的有一点技术含量。但是用 sed 命令,要注意搭配-n, 要是不搭配-n,你可以试试。 17)查询 AAA 里面空行的所在行号? grep -n “^$” AAA 【评析】同样这是基础中的基础,送分中的送分。但是要注意 grep -n 和 cat -n 这两个输出结果的区别。 18)利用 sed 命令将 test.txt 中所有的回车替换成空格? sed -e “s/\n/ /g” test.txt 【评析】sed 的-e 参数是指多重编辑,也就是说可以 sed -e … -e … -e…一次性完成三个动作。 19)使用 ab 命令进行 100000 次请求,同时每秒 40 次并发的频率访问 http://www.123.com/AAA.txt ab -n 100000 -c 40 http://www.123.com/AAA.txt 【评析】ab 命令好像是 apache 自带的,同一个 IP 地址并发的访问网站的同一个内容其实是一个隐患,但是现在用 路由器上网的情况满地走,所以优化网页的内容是码农的责任,但是适当的缩小准许并发范围是运维人员应该掌握 的。
linux 1、top 和 ps 在进程占有资源率的统计方式有什么不同? ps 是显示在执行 ps 这个命令时刻所有进程的情况,而 top 是动态的监控进程的情况(windows 的任务管理器)。 top 显示系统总的统计信息,比如时间,CPU 情况,内存状态和分区信息等等。ps 没有这么个功能。 【评析】ps -ef 这个是一个比较常见的搭配方式,-e 是“所有进程”,-f 是文件之间的关系;ps -aux 也是很常 用的,意思是“显示包含其他使用者的进程”。ps 命令也可以搭配 -more 和管道符使用,也可以搭配输出重定向。 top -n 2 指的是更新两次之后就停;top -d 3 指的是更新周期是三秒;top -p 574 指的是显示 pid 为 574 的进程。 top 状态下按 b 是显示高亮。 2、谈谈/proc 目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc 文件 系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作 提供接口。 【评析】更多信息在 http://blog.csdn.net/zdwzzu2006/article/details/7747977 3、/proc 存在哪里? 上面已经说了,存在内存里。 4、谈谈页表,内存管理,TLB 【评析】这道题蛮难的,几句话很难说明白,估计面试官主要想看看你的语言组织能力和沟通能力。答案的话,可 以看一下:http://blog.chinaunix.net/uid-26009500-id-3089718.html
5、inode 存储了哪些东西?目录名,文件名存在哪里? inode 存储了文件大小、user id、group id、文件的读写执行权限、软连接硬链接被引用的次数、时间戳、block 的位置。唯独没有文件名!!! 目录名、文件名存在“目录项”里。 【评析】ls -i 这个是显示 inode 号码的查询方法,我个人比较喜欢用 ll -hi 这个命令。 stat 这个可以查询 inode 信息,使用方法 stat AAA 即可。 这道题是可以扩展的,“如果出现了系统使用 df-h 发现/data 分区有空余内存,但是却无法建立新文件,这是什么 原因,如何解决?” 答:这个基本就是 inode 号码已经用完了,所以不能建立新文件。删除掉/ data/cache/目录中的部分文件来释放 一部分/data 分区的 inode,或者把其他分区的 inode 引进到/data 分区里,操作如下: ln -s /AAA/cache/ /data/cache #这样就达到了使用 AAA 分区的 inode 为 data 分区所用的效果 Linux 运维工程师面试题第三套 1、linux 如何挂在 windows 下的共享目录? mount -t cifs -o username=windows 登陆账号,password=“windows 账号对应的密码”//16.187.190.50/test /mnt/linux 目标文件夹 或 者 muout.cifs // 本 机 IP 地 址 /test /mut/linux 目标文件夹 -o username=“windows 登 陆 账 号 “,password=“windows 账号对应的密码” 【评析】这套题其实是蛮有难度,从第一题就能看出来,有点下马威的意思。挂载本身不难,但是挂载到 windows 共享目录在实际中应用到场合不多,所以这道题有条件可以自己试试,没条件就背下来。注意空格,注意逗号。 2、查看 http 的并发请求数与其 TCP 连接状态 netstat -n | awk ‘/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}’ 3、用 tcpdump 嗅探 80 端口的访问看看谁最高 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -10 4、查看当前系统每个 IP 的连接数 netstat -n | awk ‘/^tcp/ {print $5}’| awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn 5、shell 下 32 位随机密码生成并且保存到/mima.txt 文件里 cat /dev/urandom|head -1|md5sum|head -c 32 >/mima.txt 【评析】/dev/urandom 这个文件可以尝试 cat 一下,里面的东西我是看不懂,即使后面加上 head -1 我依旧看不懂, 但是加上 md5sum 我就能看懂了。其实第一个 head 后面-1 也行,-2 也行,-100 也行,只要别是太大的数字都可以。 head -c 32 的意思就是从头到第 32 个字节,如果是 head -c 100 就是从头到第 100 个字节,也是“100 位密码” 的意思 /dev/urandom 这个东西要比/dev/random 好用,因为后者会有堵塞的问题,前者一样安全而且速度还很快。 6、统计出 apache 的 access.log 中访问量最多的 5 个 IP cat access_log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5 7、CentOS 查看/监测网卡流量的命令 watch more /proc/net/dev 【评析】现在有的面试官自觉不自觉的就把“网络工程师”的任务跟“运维工程师”的任务混为一谈,如果面试官 顺便问 cisco 机器如何监察网络流量,步骤如下: 执行命令:configure terminal 回车进入全局配置模式; 执行命令:interface fastEthernet 0/1 回车进入端口 0/1; 执行命令:ip accounting 回车; exit:退出全局配置模式; 执行:show ip accouting , 回车就可以查看了。 8、ps aux 中的 VSZ 代表什么意思?RSS 代表什么意思? VSZ:虚拟内存集,进程所占用的虚拟内存的大小 RSS:实际内存集,进程所占用的实际内存的大小 9、符号链接与硬链接的区别 硬链接是复制,享用同一个 inode,不能跨分区,不能连目录,a 变 b 也变,但是 a 删 b 不删。 符号链接就是-s,不享用同一个 inode,可以跨分区可以连目录,等于“快捷方式”。 10、保存当前磁盘分区的分区表 11、如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找。 在 vim 的命令状态下,先用:set nu 显示每一行对应的行号,然后使用”5G”这种格式对应到第五行,若要删除该行 就是 dd;如果复制 4 行,那就是“4yy”,然后再需要复制的地方按 p。如果需要在 1~20 行里把“AAA”替换成“BBB” 那么命令就是:/1,20s/AAA/BBB/gc 【评析】如果遇到的是比较有板有眼的块型文档,可以使用 awk 命令直接切块,也可以在 vim 状态下使用 ctrl+v 切块,然后 y 一下确定所切块的范围,最后在需要粘贴的地方 p 一下。 12、手动安装 grub grub-install /dev/sda/ 13、检测并修复/dev/hda5 e2fsck -p /dev/hda5 【评析】如果要求是“检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] ”, 那么语句就是 e2fsck -a -y /dev/hda5 14、在 1-39 内取随机数 echo
[RANDOM%39]
【评析】echo $RANDOM 就是随机在 0~32767 出数。这个知识点和上面那个随机出 32 位密码的还是蛮常考的。
15、限制 apache 每秒新建连接数为 1,峰值为 3
iptables -A INPUT -d 172.16.100.1 -p tcp –dport 80 -m limit –limit 1/second -j ACCEPT
16、FTP 的主动模式和被动模式
主动模式:客户机向服务器的 21 端口主动发送请求,账户密码验证成功之后,客户机打开一个随机端口(应该是
大于 1024 的口)然后用 port 命令通知服务器端,“我已经摆好姿势,一个大于 1024 的口在等待你”,然后服务
器端的 20 口跟客户端的口建立连接,开始数据的传输。在主动模式里,是服务器端主动把数据给客户端。
被动模式:客户机向服务器的 21 端口主动发送请求,账户密码验证成功之后,服务器端开启一个随机端口,然后
用 pasv 命令告诉给客户端,“我已经摆好姿势,一个随机口在等待你”,然后服务器端也开启一个随机的端口,
然后两个随机的端口连接起来用来互通数据。在被动模式里,是客户端把数据从服务器端拉取到自己的电脑内。
【评析】无论是主动模式还是被动模式都是针对服务器而言的,画个图来解释一下主动模式:
被动模式的图如下:
补充一下,如果服务器端的 iptables 只开启了 20 端口和 21 端口,其他的全部都 reject 的话,是无法启动被动模
式的,因为没有一个随机端口去用来发送数据,而且被动模式能用就用,主动模式能不用就不用。
17、显示/etc/inittab 中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行
grep ‘^# {1,}[^ ]’ /etc/inittab
18、显示/etc/inittab 中包含了:一个数字:(即两个冒号中间一个数字)的行
grep ‘:[1-9]{1}:’ /etc/inittab
19、统计/data/mysql 目录里的普通文件个数
find /data/mysql/ -type f|wc -l
【评析】是-type f 不是 type -f,这个细节上别犯错。
20、用 33m 的颜色打出“天下英雄唯使君与操耳”这句话。
echo -e “\E[1;33m 天下英雄唯使君与操耳 \E[1;31m”
或者 echo -e “\E[1;33m” “天下英雄唯使君与操耳” $(tput sgr0)
21、怎么把脚本添加到系统服务里,即用 service 来调用
#!/bin/bash
chkconfig: – 90 10
description: just a test
echo “Hello,KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 180: …5 个随机字符 Shell #̲!/bin/bash #des…i
echo “user$i-echo $RANDOM|md5sum|cut -c 1-5
”|passwd –stdinuserKaTeX parse error: Expected ‘EOF’, got ‘&’ at position 16: i >/dev/null 2>&̲1 done 23、写一个脚本…ip > /dev/null 2>&1
if [
?−
0];
192.168.1.ip UP else echo 192.168.1.$ip DOWN fi }& #多进程启动 done 24、写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入 Q 或者 q 无视错误并退出其 它任何键可以通过 vim 打开这个指定的脚本 #!/bin/bash read -p “please input check script->” file if [ -f $file ]; then sh -n $file > /dev/null 2>&1 if [ $? -ne 0 ]; then read -p “You input $file syntax error,[Type q to exit or Type vim toedit]” answer case $answer in q | Q) exit 0;; *) vim $file;; esac 25、数据中有 10000 个数,其中某个数重复率达到 50%以上,求快速找出这数的方法的思路 10000 个数分成两两一组,然后比较不相同去掉,相同的留下,如果一次不能得到结果,再做一次,最终会得到结 果。 【评析】上面这个方法好像很屌,但是说实话,在 python 里是没有最屌只有更屌!这种找出现次数最多的元素有一 个模块可以直接抓取,不用这么费劲。 假设 aaa 就是这个多达 10000 个数的 list。(如果数据不是 list 就转成 list。)
from collections import Counter word_counts=Counter(aaa) top_one=word_counts.most_common(1) print(top_one) Linux 运维工程师面试题第四套 Python 1、假设 AAA=[1,1,1,3,5,2,6,1,7,3,45],请问使用 python 如何在将 list 里重复的数字过滤掉? 1 >>>list(set(AAA)) 【评析】注意,虽然 set(list(AAA))的结果好像也是一样的,但是注意 set 是{},list 是[]。而且如果 AAA 里是 中括号套中括号的话,那么不可以使用 set(list()),因为没法比。不是哈希。 2、简述一下 list 和 tuple 的不同 list 是动态的,设定完了可以删减元素,而 tuple 是静态的,不能删减元素。 【评析】tuple 的调用速度更快,如果是一个需要反复调用的数组,用 tuple 效果更好。 tuple 不能索引也不能删减元素,但是其实是可以增加元素的,举个例子: 123 >>>AAA=(1,2,4,5) AAA=AAA[:2]+(3,)+AAA[2:] print(AAA) #看看结果。
3、简述一下 search()和 match()的区别 match()函数只检测 RE 是不是在 string 的开始位置匹配,search()会扫描整个 string 查找匹配, 也就是说 match() 只有在 0 位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回 none 4、如何在生成一个随机数? 12 >>>import random
random.random() 【 评 析 】 这 样 会 生 成 一 个 在 0~1 之 间 的 浮 点 数 。 如 果 要 生 成 一 个 1~10 的 整 数 , 那 么 就 是 print(random,randint(1,10))。 如果要是在固定的几个元素中随机抽取一个值,比如 aaa=[“林志玲”,“贾静雯”,“刘涛”,“关咏荷”,“高圆圆”],要从 这几个女性中随机抽取一个值,同样先 import random,然后 random.choice(aaa)。 5、假设 AAA=[“梅西”,“内马尔”,“苏亚雷斯”,“皮克”,“布斯克茨”,“伊涅斯塔”],BBB=[“皮克”,“德赫亚”,”拉莫斯 “,“伊涅斯塔”,“法布雷加斯”,“布斯克茨”],如何求出两个 list 之间的交集和差集? 交集:CCC=[val for val in AAA if val in BBB] 差集:DDD=[val for val in AAA if val not in BBB] 【评析】DDD 这个差集是 AAA 这个 list 里有但是 BBB 里没有的,如果要显示出 BBB 有而 AAA 没有的元素,那么就调 换一下 DDD=[val for val in BBB if val not in AAA] 本题里 AAA 和 BBB 都是 list,所以要用“列表生成式”;如果这里 AAA 和 BBB 都是 set,即 AAA={“梅西”,“内马尔 “,“苏亚雷斯”,“皮克”,“布斯克茨”,“伊涅斯塔”},BBB={“皮克”,“德赫亚”,“拉莫斯”,“伊涅斯塔”,“法布雷加斯”,” 布斯克茨”},那么这样求交集就是 AAA&BBB,而差集就是 AAA|BBB。 6、反转由单词和不定个数空格组成的字符串,要求单词中的字母顺序不变。如:“I love this game!” 反转成“game! this love I”。 1234 >>> import re AAA = “I love this game!” BBB= ‘’.join(re.split(r’(\s+)’,AAA)[::-1]) print(BBB) 【评析】这道题虽然寥寥几个字,但是真心有难度。 7、deepcopy 和 copy 的区别? copy:只拷贝父对象,不去深入挖掘里面的子对象 deepcopy:父对象子对象都拷贝,有点坚守原样的意思。 【评析】 1234567 >>>import copy a=[1,2,3,4,[“a”,“b”]] b=a #与 a 同进共退 c=copy.copy(a) #浅拷贝 d=copy.deepcopy(a) #深拷贝 a.append(5) a[4].append(“c”) # 此时分别输出一下 a,b,c,d 看一下结果。 Mysql 1、MySQL 中 myisam 与 innodb 的区别,至少 5 点 【评析】将 Mysql 常见的存储引擎的特点归纳表格如下 2、varchar 与 char 的区别;varchar(50)中 50 的涵义;int(20)中 20 的涵义; char 是定长变量,varchar 是变长变量。 varchar(50)表示这一行的变量最大的存储字节是 50 个字节,int(20)同 理。 【评析】假设有一行是 name char(8),如果有一个数据是叫 AAA,那么它仅仅只有三个字节被存储进去,但是依旧 存储了 8 个字节,多余的 5 个字节空着也就空着了。而是 name varchar(8),同样是 AAA,由于是变长,所以只保存 了 3 个字节,剩下 5 个字节是弹性的,有就用,没有就不用。 在读取方面,char 的读取速度要比 varchar 快,也就是常说的“用读取换容量”,但是还是多用 varchar,当数据 库内容成万上亿的时候,节省的容量是非常非常可观的。 3、问了下 MySQL 数据库 cpu 飙升到 500%的话他怎么处理? 4、explain 出来的各种 item 的意义;profile 的意义以及使用场景;explain 中的索引问题。 5、备份计划,mysqldump 以及 xtranbackup 的实现原理;备份恢复时间;备份恢复失败如何处理。 mysqldump 是采用 sql 级别的备份机制,将数据表导成 sql 脚本文件,在不用的 mysql 版本之间升级时相对比较合 适。 xtranbackup 是 innodb 的 hotbackup 工具,xtrbackup 在启动的时候会复制所有的数据文件,同时会启动一个后台 进程,用于监视事务日志,并且从事务日志复制最新的修改。所以 xtrbackup 在启动的开始,就不懂的将事务日志 的每个数据文件的修改都记录下来。 mysqldump 的备份和恢复时间都很慢,任何数据的更新和变化都会被挂起。 xtrabackup 的恢复时间比 mysqldump 快一点,但是会锁表。 备份恢复失败的话,其实原因很多,主要可能就是参数设置的不对,检查一下参数。 【评析】使用 mysqldump 备份数据表的命令,在 shell 下执行: mysqldump -u 用户名 -p 密码(可以直接-p) -h 主机名 –databases 数据库名 > 要备份的文件路径 mysqldump -u 用户名 -p 密码 -h 主机名 –all-databases >要备份的文件路径 mysqldump -u 用户名 -p 密码 -h 主机名 –no-data 数据库名 >要备份的文件路径 这里并不全,另写文章专门补充。 6、MySQL 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的? InnoDB 的行锁是通过加在索引上实现的,为什么这么设计,我也不知道,去问 mysql 的设计公司。 Linux 运维工程师面试题第五套 1、编写个 shell 脚本将当前目录下大于 10K 的文件转移到/tmp 目录下。 1234567891011 #Author:Name #E-mail:E-mail Address #Description:Move some files #写程序的时候加上姓名,联系方式和描述是一个好习惯。 #!/bin/bash ls -l|awk ‘$5>10240 {print $9}’ >name.txt #先把大于 10K 的文件名都保存到 name.txt 的文件 for filename in KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 16: (cat name.txt) #̲for 循环,注意() do mv $filename /tmp echo KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 172: …络地址。 12345678 #̲Auther:ChrisCha…( ifconfig eth0|grep inet|head -1|cut -d : -f 2|sed ‘s/Bcast//g’ ) echo “这台机器的 IP 地址是”
=( ifconfig eth0|grep inet|head -1|cut -d : -f 3|sed ‘s/Mask//g’ ) echo “这台机器的网关是”$NETMASK 【评析】一条命令,用三个方法去不断的缩小范围,直到最后确定那几个数字。 3、用 Shell 编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 123456789101112 #Auther:ChrisChan #E-mail:chenx1242@163.com #Description:Jurde a file is a c-file or not #!/bin/bash read -t 10 -p “请输入一个文件名:” Fname if [ -c $Fname ] then cp $Fname /dev else echo “WRONG!” exit 88 fi 【评析】给一个变量赋值有两种方法,一种就是上面列出的 read -p 的形式,还有一种是这样的 4.请为下列 shell 程序添加注释,并说明程序的功能和调用方法: 1234567891011121314151617181920212223 #!/bin/sh #这是一个 bash 语言
#若要 apache 开机自启动,就要让 rc.httpd 这个文件有 755 case “$1” in ‘start’) #若第一个变量是 start /usr/sbin/apachectl start ;; #apache 就启动 ‘stop’) #若第一个变量是 stop /usr/sbin/apachectl stop ;; #apache 就停止 ‘restart’) #若第一个变量是 restart /usr/sbin/apachectl restart ;; #apache 就重启 ) #若第一个变量不是上面的任意一个 echo “usage KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 26: …op|restart” ;; #̲提示操作人员 esac #结…i else Username=std$i fi Useradd
/
/Username chown -R
/
/Username #-R 是改变用户和群组 chgrp -R class1 /home/$Username let i =i+1 #我喜欢用这个叠加,简单粗暴还好用但是要注意格式。 done 6、编写 shell 程序,实现自动删除 50 个账号的功能。账号名为 stud1 至 stud50。 #开头省略 1234567 #!/bin/bash i=1 while [
−
50]
−
i #这里使用 studKaTeX parse error: Expected ‘EOF’, got ‘#’ at position 318: … 8:00 前开机后启动。 #̲crontab -e 先 (1…i echo”第”KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 226: …0 的文件,其实不用那么费劲,#̲cd /userdata/ &…( date + %y ) MM=
(
+
=( date + %d ) #注意格式,注意格式~ tar -zcvf /root/bak/
MM$DD /etc/ #将/etc 目录下的所有文件都打包压缩成 etc.bak 文件 Linux 运维工程师面试题第六套 1、有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 【思路】设定 a 是 range(1,5)的一个,b 和 c 也是。互不相同且不重复,那就是 a 不等于 b 也不等于 c,同时 b 也 不等于 c。
for a in range (1,5): for b in range (1,5): for c in range(1,5): if (a!=b)and(b!=c)and(c!=a): print (a,b,c) 2、输入某年某月某日,判断这一天是这一年的第几天? 【思路】YY=int(input(“请输入一个年份”)) #硬性语言要求要加上 int MM=int(input(“请输入一个月份”)) DD=int(input(“请输入一个日期”)) 上来先读取三个数字,然后先判断 YY %4==0 还是 !=0,如果是等于 0,那么 2 月份就是 29 天,不然就是 28 天。 YY 除以 4 是否有余数作为第一个判断,然后再将每一个月的天数累计相加对应每一个月,比如当 YY %4=0 的时 候,MM=1,天数的起始值是 31,MM=2,天数的起始值是 60,以此类推,手动把 12 个月的天数先算出来,然后在加 上 DD 的天数,就能得到总的天数。 3、输入三个整数 x,y,z,请把这三个数由小到大输出。 【思路】列表的功能是可以排列的,.sort()是从小到大排列,.reverse()是从大到小排列。于是乎,先设定一个 空列表,然后不断地往里面添加元素,最用.sort()一下即可。 AAA=[] a=int(input(“sign a number:”)) AAA.append(a) b=int(input(“sign the second number:”)) AAA.append(b) c=int(input(“sign the third number:”)) AAA.append© AAA.sort() print(AAA)【注意】这个如果打算用笨招—用 if 把一种情况一种情况纷纷写出来的话是可以的,但是要注意,print (abc)是会出错误的,因为 abc 是一个新的变量了。 4、输出 99 乘法口诀表。 【思路】这个跟第一个题很相似。 for i in range(10): for j in range(10): AAA=ij print(str(i)+“乘以”+str(j)+“等于”+str(AAA))这里的难点就是如何把“数字”和“字符串”整合在一起输 出。 5、显示当前时间,然后暂停 10 秒输出下 10 秒时间。 【思路】Python time.strftime() 函数是一个挺难记的函数,不过这个就是实用性的考题,不会有哪个公司蛋疼 的拿出来当真考试用。 import time AAA=(time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime(time.time()))) time.sleep(10) # 中间休息 10 秒 BBB=(time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime(time.time()))) print(AAA) print(BBB) 6、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 【思路】不用傻乎乎的 if x in [1,2,3,4,5,6,7,8,9],然后判断是否是数字等等。用.isalpha()来判断是不是字母, 用.isspace()来判断是不是空格,用.isdigit()来判断是不是数字。当然这个可以用正则来做,然后 len 一下就搞 定,这里用的方法是.isdigit()。 AAA=input(“请输入一行字符”) x=0 y=0 z=0 for i in AAA: if i.isalpha(): x=x+1 if i.isspace(): y=y+1 if i.isdigit(): z=z+1 print(“字母的个数是”+str(x)) print(“空格的个数是”+str(y)) print(“数字的个数是”+str(z)) 7、一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米? 第 10 次反弹多高? 【思路】若 H=100,第一次弹起的高度 L=H/2,第二次就是 L=H/4,第三次 L=H/8,分母是 2 的幂关系,同时共经过的 距离就是 H 不断的加上这些 L,这是一个无脑重复性任务,所以可以用 for in 语句。 H=100 L=H/2 for i in range (2,11): H=H+L/2 L=L/2 print(“第”+str(i)+“次总共经过了”+str(H)+“米”) print(“第”+str(i)+“次的球反弹了”+str(L)+“米”) 8 、给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 【思路】对于列表来说,.sort()是正序,而.reverse()是逆序 I=[] i=0 AAA=input(“请输入一个正整数:”) for x in AAA: i=i+1 I.append(x)
print(“这是一个”+str(i)+“位数”) #注意这个 print 的位置,如果不是顶头的话,会是什么呢? I.sort() I.reverse() print(I) 9、按相反的顺序输出列表的值。 【思路】先设定一个空列表,然后一个一个的.append 进去,然后使用[::-1]就是相反顺序输出。 AA=[] JJC=input(“come:”) for i in JJC: AA.append(i) print(AA[::-1]) 10、以下函数的输出结果是什么呢? def hello_world(): print (‘hello world’) def three_hellos(): for i in range(3): hello_world() if name == ‘main’: three_hellos() 【思路】hello_world 这个函数的效果就是输出”hello,world”,但是在 three_hellos 套用了这个 hello_world 这个 函数,而且在 for in 语句里,这里没有 i,于是就是重复三次 hello_world 函数 Linux 运维工程师面试题第七套 1、解释 top 命令和 vmstat 命令 top 命令是实时监控当前系统的总体进程状态以及各个程序的进程状态,vmstat 可以展现给定时间间隔的服务器的 状态值,包括服务器的 CPU 使用率,内存使用,虚拟内存交换情况,IO 读写情况。其中它主要用途是查看虚拟内存情 况。 【评析】vmstat 若是直接使用的话,就是现在当前那一刻的服务器状态值,一般来说 vmstat 都是搭配时间和采集 次数使用,比如#vmstat 2 5,就是每两秒采集一下服务器状态,一共采集 5 下。如果是#vmstat 2,那就是一直在采 集。 2、VPN 的常见端口是多少?Mysql 的缺省端口是多少?ORACLE 的缺省端口是多少?NFS 的常见端口是多少?FTP 的 常见端口是多少?SVN 服务器的缺省端口是多少? LLTP 的 vpn 端口一般是 1723;Mysql 的缺省端口是 3306;ORACLE 的缺省端口是 1521;NFS 的常见端口是 123(UDP); FTP 的常见端口是 21 和 20 端口,SVN 服务器的缺省端口是 3690。 【评析】这些都要记,比较难记的是 vpn 和 oracle,用一点历史联系法: 1723 年,雍正实行摊丁入亩—–VPN。 1521 年,朱厚照挂了,嘉靖上来了—–oracle。 3、Linux 怎么查看用户登录日志 less /var/log/secure 【评析】检查系统的各管理员登陆情况的命令有很多,比如 last,last -x 这个显示的更全一点,或者使用 who /var/log/wtmp,但是 who /var/log/wtmp 没有 last 看着舒服,/var/log/mtmp 是一个乱码文件,用 cat 命令打开 是看不懂的。 4、服务器间怎么实现无密码登录?列举操作步骤。 假设存在服务器 A 和服务器 B,其中服务器 A 的服务器名称就是 A,对应 IP 地址是 192.168.1.10,同理服务器 B 的 名称是 B,其 IP 地址是 192.168.1.20。 1)先在两台机器上#yum install -y openssh-clients 2)然后在各自服务器上的/etc/sysconfig/network 上把 HOSTNAME 对应填好 A 和 B,再在各自服务器上把/etc/hosts 里,把 A 和 B 的服务器名和 IP 地址都添加到文件的末尾,如下 A 192.168.1.10 B 192.168.1.20 3)在 A 服务器上,#ssh-keygen,然后一路回车。在 B 服务器也是如此操作。 4)在 A 服务器上,#ssh-copy-id -i .ssh/id_rsa.pub root@B,中途输入一次 B 服务器的 root 密码。B 也是照葫 芦画瓢,ssh-copy-id -i .ssh/id_rsa.pub root@A,中途也输入一次 A 服务器的 root 密码。 5)搞定,现在 AB 之间的互相登陆已经不再需要密码了。 5、简单描述 OSI 参考模型的七个层次 物理层:网线、光缆、铜线这些肉眼能看得见的东西 数据链路层:帧,mac 地址 网络层:数据包,IP 地址 传输层:TCP 协议,UDP 协议 会话层:建立会话、维护会话 表示层:完成数据转换、格式化和文本压缩。 应用层:具体服务 6、设计一个 PV 为 2 千万的网站架构 http://blog.liuts.com/post/234/ 7、简单叙述 tcp 协议的三次握手过程 第一次握手:客户机向服务器发送一个 syn 的数据包,进入 SYN_SEND 状态; 第二次握手:服务器收到包,确认之后,向客户机返回一个 ack(和一个 syn,此时的服务器处于 SYN_RECV 状态; 第三次握手:客户端收到了服务器返回的 syn+ack 之后,再向服务器发送一个 ack,这时候服务器和客户机的链接 状态是 ESTABLISHED 8、如何将本地 80 端口的请求转发到 8080 端口,当前主机 IP 为 192.168.2.1。 iptables -t nat -A PREROUTING -d LOCALIP -p tcp -m tcp –dport 80 -j DNAT –to-destination 192.168.2.1:8080 iptables -t nat -A POSTROUTING -d 192.168.2.1 -p tcp -m tcp –dport 8080 -j SNAT –to-source LOCALIP:80 9、简述 RAID 0,RAID 1,RAID 5,RAID 01,RAID 10 的含义 RAID 0:把两个以上的硬盘整合成一个逻辑的硬盘,每个硬盘自己存储自己的数据,但是合起来就是一个完整的文 件。这样带宽加倍,读写能力也加倍,但是要注意,这种方法是没有数据保护功能的,一个硬盘 down 掉,另外一 个也可以“比翼双飞”的扔了。所以,RAID 0 这个方法是不可以应用于主要数据的存储区域。 RAID 1:两个硬盘,当一个读写的时候,另一个作为镜像,同时也在读写,也就是说两个盘的内容其实是一模一样 的,这样的话数据有个备份。A 盘坏了但是 B 盘还能直接操作,方法比较原始。 RAID 5:RAID 5 跟 RAID 0 的读取速度差不多,写入速度要慢一点点,并且多了一个奇偶校验信息。数据用块的形 式保存到硬盘上,RAID 5 不做数据备份,把数据和对应的奇偶校验信息对应存储到硬盘上,用奇偶校验信息来代替 “镜像”的功能,这样数据损坏或者丢失,那么可以利用奇偶校验信息修复。 RAID 0+1:就是 RAID 0 和 RAID 1 的合体,多个硬盘互相补充互相做彼此的镜(天)像(使),不但读写更快速, 而且更加安全。“0+1”是先 0(条带化),然后再 1(镜像)。 RAID 10:这个就是 RAID 1+0 的意思,先 1(镜像),再 0(条带化),只要不是两个盘同时坏掉,就可以恢复, 而且数据恢复速度要比 RAID 0+1 恢复的快得多。 10、使用正则表达式匹配电子邮箱或者电子邮件地址 /1([a-z0-9][-_]?[a-z0-9]+)@([a-z0-9][-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?
/
【评析】①/内容/
构成一个不区分大小写的正则表达式;匹配开始; 匹配结束。 ②[a-z] E-Mail 前缀必需是一个英文字母开头 ③([a-z0-9][-]?[a-z0-9]+)* 和_a_2、aaa11、1_a_2 匹配,和 a1、aaff_33a、a__aa 不匹配,如果是空字符, 也是匹配的,表示 0 个或者多个。 ④表示 0 个或多个前面的字符. ⑤[a-z0-9]* 匹配 0 个或多个英文字母或者数字;[-]? 匹配 0 个或 1“-”,因为“-”不能连续出现。 ⑥[a-z0-9]+ 匹配 1 个或多个英文字母或者数字,因为“-”不能做为结尾 ⑦@ 必需有个有@ ⑧([a-z0-9]*[-]?[a-z0-9]+)+ 见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。 ⑨[.] 将特殊字符(.)当成普通字符;[a-z]{2,3} 匹配 2 个至 3 个英文字母,一般为 com 或者 net 等。 ⑩([.][a-z]{2})? 匹配 0 个或者 1 个[.][a-z]{2}(比如.cn 等) 我不知道一般.com.cn 最后部份是不是都是两位 的,如果不是请修改{2}为{起始字数,结束字数} Linux 运维工程师面试题第八套 1、从 AAA.log 文件中提取“james”或者“curry”,同时不包含“kobe”的行,然后提取“:”分割的第五个字 段。 #cat AAA.log|grep -E “james|curry”|grep -v “kobe”|awk -F “:” ‘{print $5}’ 【评析】搜寻”A or B”的方法就是 grep -E “A|B”的方法,-E 必须写。不包含某某的方法是 grep -v。分割有两个 方法,一个是 cut,一个是 awk。注意 cut 和 awk 命令参数的不同。 上面的命令用 cut 写是 cat AAA.log|grep -E “james|curry”|grep -v “kobe”|cut -d : -f 2
2、请用 shell 查询文件 AAA.log 里面空格开始的所在行号 #grep -n ^$ AAA.log |cut -d : -f 1 【评析】为什么 cat -n AAA.log|grep ^$得不到这个效果呢?思考一下 3、Linux 如何在 shell 环境得知远程计算机的运行时间 比较有逼格的方法是这样的: #cat /proc/uptime| awk -F. ‘{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 91: …ute,run_second)}̲’ 【评析】其实 linux …(date +%y) MM=
(
+
=(date +%d) filename=
MM$DD tar -zcvf /data/filename 888.log 999.log NBA.txt echo “今天的文件已经打包保存完毕,请放心”|mutt -s “主人,OK” XXX@163.com echo “程序已运行成功” exit 27 :wq 保存完毕之后,#crontab -e 1 0 1 /1 * sh /usr/bin/filebach.sh #在每个月的第一天 0 点 1 分的时候启动计划任务 8、用 awk 命令在 NBA.txt 文件里不显示 4 的倍数行 #awk ‘NR%4’ NBA.txt 【评析】如果说是“显示 4 的倍数行” #cat -n NBA.txt|awk ‘NR%4==0’ NR 表示执行 awk 命令之后系统读取的数据行数,如果读取多个文件,行数会叠加。 FNR 表示执行 awk 命令之后系统读取的数据行数,如果读取多个文件,行数不会叠加,每个文件都新起头。 如果题目没有写明非要用 awk 的话,可以使用 sed 命令,#sed ‘n;n;n;d’ NBA.txt 假如说“查看 NBA.txt 文件的前三行”,#awk ‘NR<4 {print KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 2: 0}̲’ NBA.txt 9、在 N…!N;/(.)\n\1$/!{x;//P;x};h;D’ > 新的文件路径 【评析】这道题比较难,一道题考验了 sed 几乎全面的知识,而且上面的那个语句的前提就是一定要先 sort,把重 复的行放在相邻的位置上。 删除重复行就比较简单,sort Fifa.log|uniq > 新的文件路径,或者使用 awk ‘!a[KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 173: …hrisChan mysql]#̲ cat name.txt …(grep
.
)
=(grep $i team.txt|awk ‘{printf $2}’) echo $a KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 1049: …删除 30 天前的备份文件 #̲!/bin/bash #Des…(date +%Y-%m-%d) if[ $UID -ne 0 ];then #UID 是 USERID 的意思,0 是 ROOT 的 ID 号 echo This script must use administrator or root user ,please exit! #提示当前账户不是 ROOT,需要切换成 ROOT 用户 sleep 2 exit 0 fi
if[ ! -d $BAKDIR ];then mkdir -p $BAKDIR else echo This is
,
….
2
/
/
/
−
MYSQLUSR -p$MYSQLPW -d $MYSQLDB >/data/backup/mysql/date +%Y-%m-%d
/www_db.sql
cd $BAKDIR ; tar -czf www_mysql_db.tar.gz .sql
cd $BAKDIR ;find . -name “.sql” |xargs rm -rf[ $? -eq 0 ]&&echo “This date +%Y-%m-%d
RESIN BACKUP
is SUCCESS”
cd /data/backup/mysql/ ;find . -mtime +30 |xargs rm -rf
7、讲述一下 cookie 和 session 的区别。
cookie 机制采用的是在客户端保持状态的方案,而 session 机制采用的是在服务器端保持状态的方案。
cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session。
session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,
应当使用 COOKIE。
单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie。
【评析】cookie 如果没有设置生存时间,那么关闭浏览器的瞬间,cookie 就会消失,下一次登陆依旧要输入账号
密码,cookie 默认是存储在硬盘里而不是内存里,如果是设置了生存时间,那么就会保存在内存里,下一次继续使
用。
session 有一个 session id,要是服务器能查询的到 id,就会按这个 id 号的内容体现数据,如果查询不到就会新
建一个 id,session id 是可以用 cookie 的形式保存的。
8、讲述一下服务器缓存的原理。
9、如何查看系统资源占用状态。 top uptime vmstat free 很多命令都可以 10、如果一个网站平时业务不是很多,但是有时候业务会急剧增长,例如淘宝之类电商网站,遇到特价的时候,流 量会特别大,遇到这种情况,在尽量低的成本下,应该如何做。 rsync 命令去同步数据,然后 dns 轮询。 【评析】sync 的远距离版本就是 rsync,r 在这里是 remote 的缩写。 它 可 以当 cp 这个 功能用 , rsync -a /A /B 将 B 的 内容 拷贝 到 A 文 件夹 下。 或者 rsync main.c machineB:/home/userB,把 main.c 拷贝到 B 机器的 userB 里,他拷贝速度很快,因为他发现有不同的内容就会拷贝, 相同的就跳过。 Linux 运维工程师笔试题第十套 1、Nginx 是如何实现高并发的? service nginx start 之后,然后输入#ps -ef|grep nginx,会发现 Nginx 有一个 master 进程和若干个 worker 进 程,这些 worker 进程是平等的,都是被 master fork 过来的。在 master 里面,先建立需要 listen 的 socket (listenfd),然后再 fork 出多个 worker 进程。当用户进入 nginx 服务的时候,每个 worker 的 listenfd 变的可 读,并且这些 worker 会抢一个叫 accept_mutex 的东西,accept_mutex 是互斥的,一个 worker 得到了,其他的 worker 就歇菜了。而抢到这个 accept_mutex 的 worker 就开始“读取请求–解析请求–处理请求”,数据彻底返回客户端 之后(目标网页出现在电脑屏幕上),这个事件就算彻底结束。 nginx 用这个方法是底下的 worker 进程抢注用户的要求,同时搭配“异步非阻塞”的方式,实现高并发量。 【评析】在 nginx.conf 里第二行就是 work_process,有默认是 4 的,也可以更改成 auto,这个值不是越大越好, 要可实际服务器 CPU 的情况而定,一般是 CPU 有几个,工作进程就有几个。 2、编写一个 Nginx 的 access 模块,要求准许 192.168.3.29/24 的机器访问,准许 10.1.20.6/16 这个网段的所有 机器访问,准许 34.26.157.0/24 这个网段访问,除此之外的机器不准许访问。 location/{ access 192.168.3.29/24; access 10.1.20.6/16; access 34.26.157.0/24; deny all; }【评析】防火墙是层层深入的,可以从硬件上用 acl(访问控制列表)实现,如果没有钱买一个防火墙,那么还可 以在 linux 上设置 iptables,如果 iptables 不设置,还可以在 nginx 上设置。 nginx 本身工作很少,内部的各个模块是实际的参与工作的,模块英文信息:http://nginx.org/en/docs/ 3、给 favicon.ico 和 robots.txt 设置过期时间; 这里为 favicon.ico 为 99 天,robots.txt 为 7 天并不记录 404 错误日志 location ~(favicon.ico) { log_not_found off; expires 99d; break; } location ~(robots.txt) { log_not_found off; expires 7d; break; } 4、设定某个文件的浏览器缓存过期时间;这里为 600 秒,并不记录访问日志 location ^~ /html/scripts/loadhead_1.js { access_log off; expires 600; break; } 5、只充许固定 ip 访问网站,并加上密码,设定账号是 james,密码是 123456 printf “james:KaTeX parse error: Undefined control sequence: \n at position 31: … -crypt 123456)\̲n̲” >>/usr/local/…remote_addr = 203.46.97.124 ) { rewrite ^.$ /123.html; } root /usr/local/nginx/html; index index.html; } Linux 运维工程师笔试题第十一套 试题 【试题 1】缺省安装的 nginx + php-fpm 环境,假设用户浏览一个耗时的网页,但是却在服务端渲染页面的中途 关闭了浏览器,那么请问服务端的 php 脚本是继续执行还是退出执行? 【解答】正常情况下,如果客户端 client 异常退出了,服务端的程序还是会继续执行,直到与 IO 进行了两次交互 操作。服务端发现客户端已经断开连接,这个时候会触发一个 user_abort,如果这个没有设置 ignore_user_abort, 那么这个 php-fpm 的程序才会被中断。 拓展阅读:http://www.cnblogs.com/yjf512/p/5362025.html?foxhandler=RssReadRenderProcessHandler 【试题 2】首先,Nginx 日志格式中的 $time_local 表示的是什么时间?请求开始的时间?请求结束的时间?其 次,当我们从前到后观察日志中的
时间时,有时候会发现时间顺序前后错乱的现象,请说明原因。【解答】time_local:在服务器里请求开始写入本地的时间,因为请求发生时间有前有后,所以会时间顺序前后 错乱。 【试题 3】在 Nginx+PHP 环境中,Web 错误日志里偶尔会出现如下错误信息:「recv() failed (104: Connection reset by peer) while reading response header from upstream」,请分析可能的原因是什么。 【解答】遇到这种情况,第一解决方法是重启 php 服务,service php5-fpm restart,但是这个治标不治本,相对 治本的方法是把 php 的 pm.max_requests 值 改 大 一 点 , 比 如 500; 第 二个方法,修改 php-fpm 的 request_terminate_timeout,把值改成=0。 这个情况要看后端的 php,要么是链接不上,要么是 php 服务挂了,要么就是链接超时。 worker 数不够挂掉就会 504,worker 处理超时就会 502。 拓展阅读: http://serverfault.com/questions/543999/nginx-errors-recv-failed-104-connection-reset-by-peer-while -reading-respon 【试题 4】已知 Nginx 和 PHP-FPM 安装在同一台服务器上,Nginx 连接 PHP-FPM 有两种方式:一种是类似 127.0.0.1:9000 的 TCP socket;另一种是类似/tmp/php-fpm.sock 的 Unix domain socket。请问如何选择,需要 注意什么。 【解答】Unix domain socket 的流程不会走到TCP 那层,直接以文件形式,以stream socket 通讯。如果是 TCP socket, 则需要走到 IP 层。说的通俗一点,追求可靠性就是 tcp(需要占用一个端口,更稳),追求高性能就是 Unix Socket (不需要占用端口,更快)。有图有真相: 上面的是 tcp/ip 模式,每秒钟解决不到 140 个请求。 这个是 socket 模式,一秒钟解决 5700+个请求,高下立判! 拓展阅读:https://blog.linuxeye.com/364.html http://www.cnxct.com/default-configuration-and-performance-of-nginx-phpfpm-and-tcp-socket-or-unix-d omain-socket/ (这篇文章强烈推荐,写得特别好!) 【试题 5】在 Nginx 中,请说明 Rewrite 模块里 break 和 last 的区别。 【解答】官方文档的定义如下: last:停止执行当前这一轮的 ngx_http_rewrite_module 指令集,然后查找匹配改变后 URI 的新 location; break:停止执行当前这一轮的 ngx_http_rewrite_module 指令集; 千言万语举个例子: location /test1.txt/ { rewrite /test1.txt/ /test2.txt break; } location ~ test2.txt { return 508; } 使 用 break 会 匹 配 两 次 URL , 如 果 没 有 满 足 项 , 就 会 停 止 匹 配 下 面 的 location, 直 接 发 起 请 求 www.xxx.com/test2.txt,由于不存在文件 test2.txt,则会直接显示 404。 使用 last 的话,会继续搜索下面是否有符合条件(符合重写后的/test2.txt 请求)的 location,匹配十次,如果十 次没有得到的结果,那么就跟 break 一样了。返回上面的例子,/test2.txt 刚好与面 location 的条件对应上了, 进入花括号{}里面的代码执行,这里会返回 508。(这里的 508 是我自己随便设定的) 拓展阅读:http://nigelzeng.iteye.com/blog/1731317 【试题 6】有时候 nginx 运行很正常,但是会发现错误日志中依旧有报错 connect() failed (111: Connection refused) while connecting to upstream.请问肿么办? 【解答】一般情况下我们的 upstream 都是 fastcgi://127.0.0.1:9000. 造成这个问题的原因大致有两个:1) php-fpm 没有运行:执行#netstat -ant | grep 9000 命令查看是否启动了 php-fpm,如果没有则启动你的 php-fpm 即可,2)php-fpm 队列满了:php-fpm.conf 配置文件 pm.max_children 修改大一点,重启 php-fpm 并观察日志情况。 【试题 7】简单描述一下 nginx 里 root 和 alias 的区别。 【解答】root 与 alias 主要区别在于 nginx 如何解释 location 后面的 uri,这会使两者分别以不同的方式将请求 映射到服务器文件上。root 是全路径定位,alias 是当前路径定位。 举个例子 location ~ ^/weblogs/ { root /data/nginx/html; autoindex on; } 这里匹配是分大小以/weblogs 的路径,当在浏览器地址栏申请/weblogs/a/b/c/123.txt 的时候,服务器查找的是 /data/nginx/html/weblogs/a/b/c/123.txt 文件,并把它重现给 web 服务器,这就是全路径定位,即完整的 URI 映射。 location ^~ /binapp/ { internal; alias /data/nginx/conf/html/; } 这时候浏览器地址栏申请/binapp/a/456.jpg 的时候,服务器查找的是/data/nginx/conf/html/a/456.jpg,看到了 吗!没有 location 后面的直连的/binapp/了,也就是说 alias 会把 location 后面配置的路径丢弃掉,把当前匹配 到的目录指向到指定的目录。 注意!使用 alias 时,目录名后面一定要加”/”,否则会找不到文件,而 root 不一定。 Linux 运维工程师笔试题第十二套 本套都是 shell 的命令,enjoy it~ 1)假设某变量 aaa=“史蒂芬周星驰”,现在只想要输出后面的”周星驰”,应该怎么办? aaa=“史蒂芬周星驰” echo ${aaa:3:3}【评析】已知变量总字符数和要切的起始字符数,就可以用这种方法切变量了。这种方法比较常 见的应用于变量是长路径的情况下。 2)使用 curl 获取 www.163.net 的响应头信息 curl -I http://www.163.net【评析】curl -i 网址除了有网站的响应头信息之外,还有网站的全部内容。如果要 获得 http status code 的内容:curl -sL -w “%{http_code}\n” www.163.net -o /dev/null。 3)执行历史纪录里的第 505 条命令 !505 【评析】打印历史纪录里最后一次 cat 的命令是!cat:p,如果是执行历史记录里最后一次 cat 的命令是!cat。执行 之前操作最后一次的命令是!!。 4)已知当前时间是 2016 年 5 月 16 日,想要以年月日的形式输出当前时间后十天的日期。 date +%y%m%d -d 10day 【评析】如果是前十天,那就是# date +%y%m%d -d -10day 5)重复的执行”ps -ef”,观察实时情况。 watch ps -ef (默认时间是 2 秒一次) 6)显示剩余内存 free -m |grep cache|awk ‘/[0-9]/{print KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 6: 4″MB”}̲’ 7)打开/a/wow.tx…” {} ; 14)输入多行文字 cat >test.txt (ctrl+d 保存退出) 【评析】如果想清空一个文件,最无脑的方法就是# >test.txt,或者是#echo /dev/null > test.txt。而用#echo > test.txt 的话,其实还是有一个空格行的,这个方法并不太严谨。 15)将/A/B 下的当前文件夹(不包括子文件夹)所有.sh 文件都转移到/C/D 里去,然后把.sh 后缀全部改成.log。 #!/bin/bash @written by ChrisChan cd /A/B && find ./ -maxdepth 1 -name “.sh” -exec mv {} /C/D ; cd /C/D files=$(find ./ -name “*.sh”) for i in files: do mv $i ${i%sh}log done【评析】更改文件名的后缀最简单的方法就是{变量%要换的内容}换后的内容。但是要注意这里要用 for in 循环,不然的话,files 是那一大串的文件名,改的也只会是最后一个文件的后缀。 16)假设 name.txt 的内容如下,请做一个脚本能够统计所搜索的单词出现的次数。 [root@ChrisChan mysql]cat name.txt james james james wade wade bosh curry curry curry curry #!/bin/bash read -p “plwase enter a word: ” word a=0 for i in $(cat name.txt) do if [ $i == $word ] then let a=a+1 fi done echo
出现了a 次。
2 选择题: (以下均为单选题)
−
19]
i echo “123456” | passwd –stdin stu$i & >/dev/null let i++ done A、为系统创建 20 个用户 B、为系统增加 19 个用户,并给初始密码为 123456 C、为系统增加 20 个组 D、为系统增加 19 个用户,并给组初始密码为”用户名 123456” 4、break 命令在 shell 中作用是什么 ( )(选一项) A、完成 B、结果 C、暂停 D、跳出当前循环 Linux 系统管理 第九章 系统故障分析与排查 1、在 RHEL5 系统中,对于没有使用独立日志文件的一些服务程序,通常会将日志消息发送到公共日志文件( ) 中。(选择一项) A、/var/log/dmesg B、/var/log/messages C、/var/log/public D、/var/log/utmp 2、在 RHEL5 系统中,日志文件( )用于记录 Linux 系统在引导系统过程中的各种事件信息。(选择一项) A、/var/log/messages B、/var/log/secure C、/var/log/dmesg D、/var/log/maillog 3、在 RHEL5 中系统中,执行下列( )操作可以查看到当前主机的剩余可用内存数(选择二项) A、free B、uptime C、vmstat D、cat/proc/loadavg 4、#fsck -yt ext3 /dev/sdb1 ( )(选一项) A、格式化/dev/sdb1 分区 B、删除/dev/sdb1 分区 C、命令不对 D、修复位于/dev/sdb1 下的 ext3 系统 5、检查硬盘坏道的命令是什么( ) (选两项) A、chkconfig B、check C、mkfs D、badblocks 6、ac 命令的作用是什么 ( )(选一项) A、可以做计划任务 B、可以设置权限 C、可以统计各个登陆用户总计连接时间 D、可以查看用户登陆后都使用了什么命令 7、备份 MBR(启动引导管理),要使用什么命令( ) (选一项) A、cp B、copy C、dd D、xcopy 8、/etc/grub/grub.conf 中的 kernel 的作用是什么( ) (选一项) A、指定在启动菜单中显示的操作系统名称 B、包括 grub 存放的位置 C、包括内核所存放的位置 D、包括临时系统镜像文件存放地 9、在 RHEL5 系统中,( )目录用于存放系统启动时需要的内核、菜单配置等文件。(选择一项) A、/home B、/sbin C、/root D、/boot 10、在 RHEL5 系统中,查看 grub.conf 配置文件的操作及结果如下图所示,则根据此配置当( )时将会要 求密码验证。(选择一项) [root@localhost ~]# cat /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xmp.gz password –md5
1fbv8V/$kBu/0KlnjWNS5GLJs2Tq41 title Red Hat Enterprise Linux Server root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/hda1 rhgb quiet initrd /initrd-2.6.18-8.el5.img A、从图形模式切换到单用户模式 B、进入“Red Hat Enterprise Linux Server”系统 C、GRUB 引导过程中需要修改启动参数 D、完成加电自检后进入 GRUB 菜单 11、使用 RHEL5 安装光盘引导系统时,在“boot:”提示符后输入( )可以用于进入急救模式,以便对硬 盘中的 Linux 系统进行修复 (选择一项) A、linux B、linux dd C、linux rescue D、linux secure 12、通过 RHEL5 安装光盘在急救模式引导系统时,默认将硬盘上待修复的 Linux 根文件系统挂载到( )目 录。(选择一项) A、 /mnt/ B、/mnt/system C、/mnt/sysimage D、/tmp/root Linux 网络服务 第一章 Linux 基本网络配置 1、在 RHEL5 系统中,dhcpd 服务的主配置文件中有一行内容为 option routers 192.168.1.254,其作用主要是 指用于指定客户端的( )。(选择一项) A、IP 地址 B、子网掩码 C、DHCP 服务器地址 D、默认网关地址 2、在 RHEL5 系统中,以下( )操作可用于添加默认网关记录。(选择二项) A、route add default gw 192.168.4.1 B、route add –host 192.168.4.1 C、route add –net 0.0.0.0/0 gw 192.168.4.1 D、ifconfig eth0 gw 192.168.4.1 3、在 RHEL5 系统中,若要配置本机通过 DHCP 方式自动获取 IP 地址,可以在网卡配置文件 ifcfg-eth0 中设置 ( )并重启网络服务。(选择一项) A、ONBOOT=dhcp B、TYPE=dhcp C、BOOTPROTO=dhcp D、DHCPARGS=eth0 4、下面网卡配置选项当中,( )选项是用来设置网关的参数。(选择一项) A、NETMASK B、IPADDR C、GATEWAY D、ONBOOT 5、修改了网卡 eth0 的参数后,使用下面( )命令,可以使修改内容生效。(选择二项) A、ifconfig eth0 B、route –n C、ifdown eth0;ifup eth0 D、service network restart 6、在 dhcp 主配文件当中,使用( )可以进行动态分配 IP 地址区域的设置。(选择一项) A、default-lease-time B、max-lease-time C、subnet D、host 7、在一台 RHEL5 服务器上通过 RPM 方式安装了 DHCP 软件包,在对 DHCP 服务器进行正确配置后,可以执行 ( )命令启动 DHCP 服务器。(选择一项) A、dhcp B、dhcp start C、service dhcpd start D、service dhcpd stop 8、主机通过 DHCP 协议动态获得的 IP 地址是有租期限制的,租期过半时主机应再次发出请求,在 linux 服务器 上缺省情况下,下面( )是存放 DHCP 服务器的客户租期数据信息。(选择一项) A、/etc/dhcpd.conf B、/etc/sysconfig/dhcpd C、/etc/dhcp/dhcpd.leases D、/var/lib/dhcpd/dhcpd.leases 9、在 linux 系统中,DHCP 服务器可以提供的服务包括( )。(选择三项) A、提供 DNS、网关信息 B、为特定客户机提供固定 IP 地址 C、为主机提供动态 IP 地址 D、为主机设置防火墙 E、提供邮件服务器地址信息 10、在 RHEL5 系统中,执行以下( )操作后,可以开启本机的路由转发功能。(选择两项) A、/etc/init.d/routed start B、echo 1 > /proc/sys/net/ipv4/ip_forward C、sysctl -w net.ipv4.ip_forward=1 D、echo “net.ipv4.ip_forward=1” > /etc/sysctl.conf 11、在 RHEL5 系统中构建 DHCP 服务器,若要将客户端使用的 DNS 服务器地址设为 192.168.2.1 和 202.106.0.20,应在 dhcp.conf 文件中进行( )配置。(选择一项) A、option domain-name-servers 192.168.2.1 202.106.0.20; B、option domain-name-servers 192.168.2.1; option domain-name-servers 202.106.0.20; C、option domain-name-servers 192.168.2.1,202.106.0.20; D、option domain-name-servers {192.168.2.1;202.106.0.20;} 12、在 RHEL5 系统中,若要将本机配置成 DHCP 中继服务器,以下( )操作不是必须的。(选择二项) A、启用 ip_forward 以支持数据包转发 B、设置/etc/dhcpd.conf 配置文件,并启动 dhcpd 服务 C、设置/etc/sysconfig/dhcrelay 配置文件,并启动 dhcrelay 服务 D、修改/etc/sysconfig/network-scripts/ifcfg-eth0,设置 BOOTPROTO=dhcp 13、在 RHEL5 系统中,使用( )命令可以跟踪从当前主机到目标主机的路由。(选择一项) A、ping B、ifconfig C、traceroute D、arp 14、在 RHEL5 系统中,若要查看当前主机所有(包括非活动的)网络接口的信息,可以执行( )命令 (选 择一项) A、ipconfig B、ipconfig / all C、ifconfig D、ifconfig -a 15、在 RHEL5 系统中构建 DHCP 中继服务器时,( )配置行用于指定 eth0 eth1 接口提供中继服务。(选 择一项) A、DHCPDARGS=”eth0 eth1” B、DHCRELAY=”eth0 eth1” C、RELAYSERVERS=”eth0 eth1” D、INTERFACES=”eth0 eth1” 16、在 RHEL5 系统中,为了实现 DHCP 客户端每次都能从 DHCP 服务器获得同样的 IP 地址.应进行( )设置(选 择一项) A、在 DHCP 客户端设置要请求的 IP 地址 B、使用 DHCP 服务器的 IP 地址自动分配功能 C、在 DHCP 服务器的配置文件中将客户端的 MAC 地址与 IP 地址进行”绑定” D、 在 DNS 服务器中对 DHCP 客户端获得的 IP 地址进行动态解析 Linux 网络服务 第二章 构建文件服务器 1、在 RHEL5 系统中构建基于虚拟用户的 vsftpd 服务器时,使用( )配置项可以设置虚拟用户所上传文件 的默认权限掩码。(选择一项) A、anon_umask B、local_umask C、virtual_umask D、upload_umask 2、在 RHEL5 系统中,若要连接 Windows 主机的共享目录 share,并以账号 user1 的身份登录,可以使用( ) 命令。 (选择一项) A、smbclient //192.168.1.200/share –U user1 B、smbclient \192.168.1.200\share –U user1 C、smbclient //192.168.1.200/share –u user1 D、smbclient \192.168.1.200\share –u user1 3、在 RHEL5 系统中构建 vsftpd 服务器,主配置文件 vsftpd.conf 中包含 ‘userlist_enable=YES’ ‘userlist_deny=NO’的配置,用户列表文件 user_list 中包含有名为 benet 的用户,则根据上述配置,以下正 确的是( )(选一项) A、允许所有用户登录 B、禁止 benet 用户登录 C、仅允许 benet 用户登录 D、禁止任何用户登录 4、在 RHEL5 系统中,若要重新启用之前被禁用的 Samba 用户账户 beney, 可以使用( )命令(选择一项) A、smbpasswd -e beney B、smbpasswd -d beney C、smbpasswd -a beney D、smbpasswd -x beney 5、网络管理员在 RHEL5 系统中配置了 vsftpd 服务器,并建立了一个虚拟用户 userl. 现在他希望 userl 用户可 以从该 FTP 服务器上传文件文件,应用使用( )配置项来实现。(选择一项) A、anon_world_readable-only=NO B、anon_download_enable=YES C、anon_write_enable=YES D、anon_upload_enable=YES 6、在公司内部有 Linux 和 windows 两种操作系统,希望在它们之间能够方便的相互传输文件,而又不需要在 windows 上安装其它软件即可以完成,那么需要在 Linux 机器上提供哪种文件共享服务 ( )。(选择二项) A、NFS 服务 B、Samba 服务 C、Proxy 服务 D、Ftp 服务 7、某公司的网络管理员小李,利用 RHEL5 和 vsftpd 安装了一台文件服务器,用于存放公司的产品研发资料。根 据公司的管理规定,只允许 benet 部门的用户访问这台服务器。为了达到这个目的,小李可以配置 ( )。(选 择一项) A、在/etc/vsftpd/vsftpd.conf 中设置 userlist_deny=YES,将/etc/vsftpd/ftpusers 修改为只包含 benet 部门的 用户 B、在/etc/vsftpd/vsftpd.conf 中设置 userlist_deny=NO,将/etc/vsftpd/ftpusers 修改为只包含 benet 部门的 用户 C、在/etc/vsftpd/vsftpd.conf 中设置 userlist_deny=YES,将/etc/vsftpd/user_list 修改为只包含 benet 部门的 用户 D、在/etc/vsftpd/vsftpd.conf 中设置 userlist_deny=NO,将/etc/vsftpd/user_list 修改为只包含 benet 部门的 用户 8、在 FTP 客户端上能把本地的多个文件上传到远程计算机上,使用命令是( )(选择一项) A、mput B、mget C、put D、get 9、在 RHEL 5 中使用匿名登录 ftp 时,用户名可以选下列中的( )。(选择二项) A、anonymous B、ftp C、root D、guest 10、当小杜对 Samba 服务器进行配置后,需要启动 Samba 服务器并确保该服务器程序在下次 Linux 系统启动后 能够自动启动,则小杜应该进行( )操作。(选择两项) A、执行命令“/etc/init.d/smb start” B、执行命令“/etc/init.d/smbd start” C、chkconfig –level 35 smb on D、chkconfig –level 35 smbd on 11、使用 SAMBA 服务器,一般来说,可以提供 ( )。(选择二项) A、域名服务 B、文件共享服务 C、打印服务 D、IP 地址解析服务 12、在 smb.conf 文件中,我们可以通过设置 ( )来控制可以访问 samba 共享服务的合法主机。(选择一 项) A、allowed B、hosts valid C、hosts allow D、public 13、Samba 服务器的默认安全级别是 ( )。(选择一项) A、share B、user C、server D、domain 14、测试 Samba 的配置是否有问题,应该使用( )命令?(选择一项) A、testsamba B、testparm C、smbtest D、parmtest 15、Samba 服务器可以在 Linux/Unix 系统中提供 Windows 文件共享服务,在 RHEL5 系统中默认安装了 Samba 服务器和客户机所需的软件包,在与 Samba 服务器相关的软件包中,( )是 Red Hat 公司专门为 Samba 服务器提供的配置工具。(选择一项) A、samba-common B、samba C、samba-client D、system-config-samba 16、在 RHEL5 系统中,使用以下( )命令可以查看 Samba 服务器 192.168.0.1 的共享资源列表。(选择一 项) A、smbget -L 192.168.0.1 B、smbclient -L 192.168.0.1 C、smbmount -S 192.168.0.1 D、smbpasswd -list 192.168.0.1 17、在 RHEL5 系统中构建 vsftpd 服务器,若需要限制最多允许 300 个客户端同时连接,应该在 vsftpd.conf 文件中运行( )设置。 (选择一项) A、max_clients=300 B、max_per_ip=300 C、local_max_rate=300 D、anon_max_rate=300 18、在 RHEL5 系统中构建 vsftpd 服务器,以知文件/etc/vsftpd/ftpusers 中包含 lisi 用户,文件 /etc/vsftpd/user_list 中包含 lisi 用户和 wangwu 用户,且在 vsftpd.conf 配置文件中作如下设置,则对于该 FTP 服务器,以下说法正确的是( )。(选择一项) local_enable=YES userlist_enable=YES userlist_deny=NO A、lisi 和 wangwu 用户都可以登录 B、lisi 用户可以登录,wangwu 用户不能登录 C、lisi 用户不能登录,wangwu 用户可以登录 D、lisi 和 wangwu 用户都不能登录 19、在 RHEL5 系统中,若要删除名为 sony 的 Samba 用户账户,可以使用( )命令。(选择一项) A、smbpasswd –d sony B、smbpasswd –e sony C、smbpasswd –x sony D、smbpasswd –a sony 20、在 RHEL5 系统中,samba 软件包提供的( )服务程序负责为 windows 网络或工作组内的主机提供主 机名称解析。(选择一项) A、smb B、smbd C、nmbd D、samba 21、在 RHEL5 系统张中构建 Samba 文件共享服务器,使用带( )选项的 smbpasswd 命令,可用于添加 Samba 用户帐户。(选择一项) A、-d B、-a C、-r D、-e 22、在 RHEL5 系统中构建 vsftpd 服务器,若需要限制本地用户的最大传输速率为 30KB/S,可以在配置文件中进行 ( )设置.( 选择一项) A、 max_client=30 B、max_per_ip=30 C、local_max_rate=30000 D、local_max_rate=30 Linux 网络服务 第三章 构建域名服务器 1、在 RHEL5 系统中构建 BIND 域名服务器,以下是 named.conf 文件的部分配置: zone “adc.edu.cn” IN { type slave; file “slaves/adc.edu.cn.zone”; masters{ 201.18.1.5; } ; }; 则根据这部分内容来看,该服务器是“adc.edu.cn”域的( )。(选择一项) A、主域名服务器 B、缓存域名服务器 C、从域名服务器 D、根域名服务器 2、在 RHEL5 系统中构建 BIND 服务器,并能够正确解析 www.benet.com 的 IP 地址,则当作为以下( ) 时,该服务器需要在本机保存 benet.com 区域的数据库文件。(选择二项) A、缓存域名服务器 B、主域名服务器 C、从域名服务器 D、转发域名服务器 3、在 RHEL5 系统中配置 DNS 服务器时,若需要添加主域名服务器解析区域,应该使用( )类型。(选择一 项) A、hint B、master C、slave D、file 4、benet 公司使用 RHEL5 系统构建了一台 DNS 服务器,以便当有客户发送邮件到 admin@benet.com 时,最 终会由 mail.benet.com 这台邮件服务器来进行处理。在这个过程中,DNS 服务器的作用是( ) (选择二项) A、为 mail.benet.com 添加名为 benet.com 的别名记录 B、为 benet.com 域设置 MX 记录,指向 mail.benet.com C、为主机 mail.benet.com 提供正确的域名解析 D、将收到的邮件转发至 mail.benet.com 服务器 5、本地主机的名称解析文件是( )(选择一项) A、/etc/host B、/etc/hosts C、/etc/network D、/etc/resolv.conf 6、在 RHEL5 系统中构件 DNS 服务器,若需要提供对 192.168.1.0 网段的反向解析,则在添加 zone 设置时,对 应的反向解析区域名应该表示为( )。 (选择一项) A、192.168.1.rev B、192.168.1.in-addr.arpa C、1.168.192.in-addr.arpa D、0.1.168.192.in-addr.arpa 7、管理员在 DNS 服务器上创建了名为 Aptech.com 的主要区域,网络中其他计算机作为该 DNS 服务器的客户 端。在一台客户端计算机上利用 nslookup 命令测试发现 DNS 服务器能够把一个主机的完全合格域名解析成为 IP 地址,却无法将其 IP 地址解析成完全合格域名,应该采用( )措施来解决这个问题 (选择一项) A、重新启动 DNS 服务器 B、在 DNS 服务器的反向解析区域中为该主机创建 PTR 记录 C、在要将 IP 地址解析 成完全合格域名的计算机上执行命令 ipconfig/flushdns D、设置 DNS 区域允许动态更新 8、benet.com 公司的网络管理员小王,在自己的 Linux 工作站上安装了 BIND 软件,配置实现了 DNS 服务,作 为公司的辅助域名服务器。在他的工作站上的 named.conf 文件中,benet.com 区域的类型是 ( )。 (选择一项) A、master B、hint C、slave D、server 9、在 DNS 服务器的区数据文件中,一般都包含着多种类型的多条资源记录。PTR 类型的资源记录的作用是( )。 (选择一项) A、定义主机别名 B、转换主机名到 IP 地址 C、转换 IP 地址到主机名 D、描述主机硬件和操作系统信息 10、在使用 Linux 操作系统的服务器上,管理员使用 BIND 配置了域名系统服务。请问主配置文件是( )。 (选择一项) A、named.ca B、named.conf C、named.local D、rndc.key 11、BIND 创建的域名服务器包括 ( )。(选择三项) A、主域名服务器 B、缓存域名服务器 C、辅助域名服务器 D、影子域名服务器 12、DNS 的查询模式有 ( )两种。(选择二项) A、顺序 B、递归 C、随机 D、迭代 13、在配置 DNS 服务的时候,如果要设置正向解析,需要添加( )记录。(选择一项) A、SOA B、CNAME C、A D、PTR 14、可以完成主机名与 IP 地址的正向解析和反向解析任务的命令是( )。(选择一项) A、nslookup B、arp C、ifconfig D、dnslook 15、互联网的域名系统采用树型结构,所有的域都具有相同的根节点,不同国家和地区使用不同的域名后缀,以下 ( )域名后缀属于中国使用。(选择二项) A、jp B、us C、cn D、hk 16、BIND 服务器可配置成为多种类型的 DNS 服务器,当安装了名为“caching-nameserver” 的软件包后, named.conf 配置文件中会出现以下配置内容: zone “.” IN { type hint; file “named.ca”; }; 该段配置内容的功能是在 DNS 服务器中( )。(选择一项) A、定义 localhost 的正向解析区域 B、定义 localhost 的反向解析区域 C、定义根区域 D、定义根区域的反向解析区域 17、在某个 BIND 域名服务器中进行了“test.com”域的正向和反向区域设置,并且在 “test.com”域的正向 区域文件中包括了如下的配置内容: host1 IN A 192.168.1.11 mail IN CNAME host1.ltest.com. @ IN MX 5 mail.ltest.com. 在上面的配置内容中不包括( )类型的资源记录。(选择一项) A、地址记录 B、别名记录 C、域名记录 D、邮件交换记录 18、在 RHEL5 系统中使用 BIND 构建 DNS 服务器,反向解析区域文件中不应该出现( )类型的记录 (选择一项) A、PTR B、SOA C、NS D、A 19、在 RHEL5 系统中,使用 BIND 构建缓存域名服务器时,其中( )文件内包含了互联网的 DNS 根服务 器的地址解析记录。(选择一项) A、named.conf B、named.ca C、localhost.ca D、localhost.zone 20、在 RHEL5 系统中使用 BIND 构建 DNS 服务器,若需要检查区域数据库文件中是否存在语法错误,可以使用 ( )命令。(选择一项) A、checkconf B、named-checkconf C、named-checkzone D、checkzone 21、在 RHEL5 系统中,使用 BIND 构建 DNS 服务器时,使用( )命令可以检查主配置文件 named.conf 是否存在语法错误。(选择一项) A、checkconf B、checkzone C、named-checkconf D、named-checkzone 22、在 RHEL5 系统中,设置 BIND 服务器的区域配置文件时,CNAME 记录的作用是( )(选择一项) A、用于设置主机的别名 B、用于设置主机域名到 IP 地址的对应记录 B、 用于设置提供邮件服务的服务器名称 D、用于设置 DNS 服务器的名称 Linux 网络服务 第四章 构建 LAMP 网站服务平台(一) 1、在 RHEL5 系统中,使用 httpd 软件可以实现基于( )地址的 Web 虚拟主机服务。(选择三项) A、域名 B、IP C、MAC D、端口 2、以下关于 RHEL5 系统中 Apache 服务器配置的描述,错误的是( )(选择一项) A、Apache 服务器的主配置文件是 httpd.conf B、httpd 是 Apache 服务器的服务程序 C、在完成 Apache 服务器的配置后,可以使用命令 apachectl -t 对 httpd.conf 的语法进行检测 D、Apache 服务器的访问日志和错误日志都记录在 access_log 文件中 3、Apache 是非常重要的网站服务器软件,为了有效地管理它,Apache 服务器提供了非常全面而灵活的事件记 录功能。它的日志的种类有 ( )。(选择二项) A、错误日志 B、事件日志 C、系统日志 D、访问日志 4、Apache 服务器的主配置文件是 ( )。(选择一项) A、apache.conf B、web.conf C、httpd.conf D、named.conf 5、小葛在 RHEL5 中使用系统自带的 RPM 包安装 Apache 服务器后,应在( )目录下查找 Apache 服务器 的主配置文件 httpd.conf.(选择一项) A、/etc/ B、/etc/conf C、/etc/httpd D、/etc/httpd/conf 6、在安装了 Linux 系统的计算机上,可以通过安装和配置 Apache 来提供 WEB 服务。Apache 的主配置文件 httpd.conf 包含了( )配置。 (选择三项) A、服务器全局环境 B、客户机环境 C、本地服务器响应外部请求的处理方式 D、虚拟主机 7、在一台 Linux 服务器上,使用 Apache 作为 WWW 服务程序,服务器名称是 www.benet.com,管理员把所 有对外提供的文档放在/usr/local/source 目录下面,希望远程用户在浏览器中使用 http://www.benet.com 地 址即能访问这些文档,他需要对 Apache 进行( )设置。(选择一项) A、安装 Apache 服务器在/usr/local/目录下即可 B、修改 Apache 配置文件 httpd.comf 中的 ServerRoot 项值为“/usr/local/source” C、修改 Apache 配置文件 httpd.comf 中的 DocumentRoot 项值为“/usr/local/source” D、修改 Apache 配置文件 httpd.comf 中的 Listend 的值为 8000 8、在使用 rpm 包安装的情况下,apache 服务器的访问日志和错误日志将分别记录在( )文件中。(选择二 项) A、/var/log/httpd/access_log B、/var/log/httpd/error_log C、/var/log/access_log D、/var/log/error_log 9、在 RHEL5 系统中,Apache 服务器可以采用 RPM 安装和源码编译安装两种方法进行安装,在通过源码编译 安装 Apache 服务器的过程中使用了以下的 configure 命令对服务器的源代码进行配置: ./configure –prefix=/usr/local/apache2 –enable-so –enable-rewrite 在该配置命令中“–prefix=/usr/local/apache2”实现的功能是( )。(选择一项) A、指定 Apache 服务器的程序文件将要安装到目录“/usr/local/apache2”中 B、Apache 服务器的编译过程中将使用“/usr/local/apache2”作为临时目录 C、设置 Apache 服务器可以使用动态加载模块功能 D、设置 Apache 服务器具有地址重写功能 10、Apache 服务器可以为 Linux 系统中的用户提供个人主页服务,对于 Linux 系统中的用户 mike,其个人主 页能够正常访问应具备( )条件。(选择三项) A、httpd.conf 文件中包括“UserDir public_html”配置项 B、Apache 服务器对 mike 的宿主目录具有进入和读取权利 C、mike 的宿主目录中建立了名为“public_html”的子目录 D、mike 的宿主目录中建立了名为“index.html”的网页文件 11、在 RHEL5 系统中,使用 httpd 服务器的( )工具可以对 WEB 服务器进行简单的压力测试。(选择一 项) A、awsats B、ab C、apachectl D、phpmyadmin 12、在 RHEL5 系统中配置 httpd 服务器时,( )设置项用于指定该 Web 服务器的主机名。(选择一项) A、ServerRoot B、ServerAdmin C、DocumentRoot D、ServerName 13、在 RHEL5 系统中,通过光盘自带的 RPM 包安装了 httpd 软件,则默认的网页文档目录应位于( )。 (选择一项) A、/etc/httpd/ B、/var/www/html/ C、/usr/local/httpd/htdocs/ D、/usr/local/apache2/htdocs 14、BENET 公司在一台 RHEL5 服务器上使用 httpd 为员工开启了个人主页功能,在默认设置下,关于用户 xiaoli 的人人主页,以下说法正确的是( )。(选择二项) A、 主页文件应该放置在/home/xiaoli/public 目录中 B、 主页文件应该放置在/home/xiaoli/public_html 目录中 C、 主页文件应该放置在/home/xiaoli/private_htlm 目录中 D、 可以通过 http://服务器 ip/xiaoli 的地址访问 E、 可以通过 http://服务器 ip/~xiaoli 的地址访问 15、在 RHEL5 中系统中,httpd 服务器不支持基于( )的虚拟 web 主机(选择一项) A、域名 B、IP 地址 C、TCP 端口 D、目录 16、在 RHEL5 系统中,通过光盘自带的 RPM 包安装了 httpd 软件,则 httpd 服务的主配置文件默认应位于 ( )。(选择一项) A、/etc/httpd.conf B、/etc/httpd/conf/httpd.conf C、/usr/local/apache2/conf/httpd.conf D、/var/www/httpd.conf 17、某公司有 www.benet.com 和 www.accp.com 两个站点,使用相同的公网 IP 地址,若要在一台 RHEL5 主 机中提供两个站点的 Web 服务,可行的最佳方案为( )。(选择一项) A、安装两个 httpd 软件包,每个软件包对应一个 web 站点 B、安装一个 httpd 软件包,使用 httpd1.conf、httpd2.conf 两个独立配置文件 C、安装一个 httpd 软件包,为两个 web 站点配置基于域名的虚拟主机 D、安装一个 httpd 软件包,为两个 web 站点指定基于 IP 地址的虚拟主机 18、在 RHEL5 系统中,只需要启用一个 httpd 服务,就能够同时运行多个虚拟 WEB 站点。以下( )不属 于 httpd 支持的虚拟 WEB 主机类型 (选择一项) A、基于不同域名的虚拟主机 B、基于不同 IP 地址的虚拟主机 C、基于不同浏览器的虚拟主机 D、基于不同端口的虚拟主 19、在 RHEL5 系统中配置 httpd 服务器时,( )设置项用于指定 web 服务程序的根目录。(选择一项) A、ServerRoot B、ServerAdmin C、DocumentRoot D、DirectoryIndex 20、在 RHEL5 系统中,通过查看 httpd 服务器的访问日志文件,无法获得( )信息。(选择一项) A、客户机的 IP 地址 B、当前登录到客户机的用户名 C、访问服务器的日期和时间 D、客户机请求访问的页面或图片文件的路径 Linux 网络服务 第五章 构建 LAMP 网站服务平台(二) 1、在 RHEL5 系统中,以下( )操作可以完成对 MySQL 服务器中所有的数据库信息的备份。(选择一项) A、mysqldump –u root –p –all-databases B、mysqldump –u root –p –all-databases > dbbak_all.sql C、mysqldump –u root –p . D、mysqldump –u root –p . > dbbak_all.sql 2、在 RHEL5 中系统中,使用 mysql 命令连接到 MYSQL 数据库服务器以后,执行( )操作可用来查看当 前服务器的已有数据库列表(选择-项) A、USE mysql B、SHOW DATABASES; C、SHOW TABLES; D、DESCRIBE mysqldb; 3、在 RHEL5 系统中构建 LAMP 网站应用平台,编译安装 PHP 环境后,还需要在 Apache 的 httpd.conf 文件 中确认有( )配置,以使用两者能够协调工作。(选择二项) A、Directoryindex index.php index.html B、LoadModule phtd5_moudule modules libphp5.so C、 AddType application/x-httpd-php .php D、PhpConfig /usr/local/php4/php.ini 4、在 RHEL5 系统中,通过源代码编译的方式构成 PHP 环境时,“./configure”的( )选项用于设置 php.ini 配置文件存放的路径。(选择一项) A、–enable-mbstring B、–with-apxs2 C、–with-mysql D、–with-config-file-path Linux 网络服务 第六章 构建 Postfix 邮件服务器(一) 1、在一些 Linux 系统中,安装有 Evolution 软件,用户可以使用该软件发送、接收和管理电子邮件,在电子邮件 系统中该软件属于( )角色。(选择一项) A、MUA B、MTA C、MDA D、MailServer 2、在 RHEL5 系统中,用于电子邮件系统的有多种应用软件,各自承担不同的角色,以下( )不属于 MTA(邮 件传输代理)。(选择一项) A、Outlook B、Postfix C、Qmail D、Sendmail 3、在 RHEL5 中系统中,构建基于系统用户的 postfix 邮件服务器时,可以使用( )软件来实现基本的 SMTP 认证机制。(选择一项) A、openssl B、cyrus-sasl C、dovecot D、squirremail 4、一般的,在 RHEL5 系统中,下列的说法中正确的有 ( )。(选择一项) A、postfix 通过 TCP 端口 25 提供邮件服务,pop3 通过 TCP 端口 143 提供邮件服务,imap 通过 TCP 端口 110 提供邮件服务 B、postfix 通过 UDP 端口 25 提供邮件服务,pop3 通过 TCP 端口 110 提供邮件服务,map 通过 TCP 端口 143 提供邮件服务 C、postfix 通过 TCP 端口 25 提供邮件服务,pop3 通过 UDP 端口 110 提供邮件服务,imap 通过 UDP 端口 143 提供邮件服务 D、postfix 通过 TCP 端口 25 提供邮件服务,pop3 通过 TCP 端口 110 提供邮件服务,imap 通过 TCP 端口 143 提供邮件服务 5、在 postfix 服务器中使用 aliases 机制实现邮件别名功能,在“/etc/aliases”文件中设置邮件别名记录后再 使用 newaliases 命令更新“aliases.db”文件,如 aliases 文件中存在以下别名设置,admin: mike 则( )。(选择二项) A、admin 是邮件用户名 B、mike 是邮件用户名 C、admin 是邮件别名 D、mike 是邮件别名 6、Outlook 和 Outlook Express 都是常用的邮件客户端软件,当用户使用邮件客户端软件进行邮件的发送和接 收之前,需要先在软件中进行( )的设置。(选择三项) A、SMTP 服务器地址 B、POP3 服务器地址 C、用户的邮件帐号 D、Webmail 服务器访问地址 7、为了让公司用户能够使用 OE 收发自己的邮件,小李在公司的邮件服务器上安装了 dovecot,在配置 dovecot.conf 时,小李应访配置( )来提供 POP3 服务。(选择一项) A、protocols = pop3 B、Listen = pop3 C、access = pop3 D、servername = pop3 8、Dovecot 服务器默认提供( )邮件协议服务。(选择二项) A、pop3 B、pop3s C、imap D、imaps 9、postfix 主配文件的名称是( )。 (选择一项) A、main.cf B、main.conf C、master.cf D、master.conf 10、在 RHEL5 系统中构建电子邮件服务器,若使用 Dovecot 软件为用户提供邮件收取服务,其服务端口默认为 ( )。(选择两项) A、25 B、80 C、110 D、143 11、在 RHEL5 系统中,Postfix 服务器支持使用( )邮件储存方式,用于组织邮箱目录中用户的电子邮件。 (选择二项) A、HTML B、DB4 C、Mailbox D、Maildir Linux 网络服务 第七章 构建 Postfix 邮件服务器(二) 1、在 RHEL5 系统中,为 Postfix 邮件系统增加内容过滤机制时,以下( )软件可用来对邮件内容进行病毒 扫描。(选择一项) A、MailScanner B、Spamassassin C、F-Prot D、Courier-Authlib Linux 网关及安全应用 第一章 系统安全常规优化 1、在 RHEL5 系统的命令界面中,若设置环境变量( )的值为 60,则当用户超过 60 秒没有任何操作时,将 自动注销当前所在的命令终端。(选择一项) A、TTL B、IDLE_TTL C、TMOUT D、TIMEOUT 2、使用 chattr 命令的( )选项,可以将指定的文件设置为不可修改、不可删除、不可移动。 A、+i B、+a C、-i D、-a 3、在 RHEL5 系统中,为了在一个可控制的范围内给普通用户 jerry 赋予管理员帐号如 root 的部分权限,最合适 的方式是( )。(选择一项) A、su B、sudo C、将 jerry 用户的 UID 改为 0 D、将 jerry 用户加入到 wheel 组 4、在 RHEL5 系统中,通过在( )文件中设置“#tty2”的配置参数后,可以禁止 root 用户从 tty2 终端中 登录系统。(选择一项) A、/etc/nologin B、/etc/securetty C、/etc/pam.d/login D、/etc/security/access.conf 5、普通用户 zhangsan 希望使用 su 命令切换为 lisi 用户身份,需要提供( )用户的密码。(选择一项) A、root B、zhangsan C、lisi D、不需要密码 6、在 RHEL5 系统中,用户 aiya 使用默认的 Shell 环境,若希望每次注销登录后自动清空自己的命令历史记录, 可以在~/.bash_logout 文件中设置( )操作。(选择一项) A、clear B、history –c C、export TMOUT=0 D、usermod –r aiya 7、在 RHEL5 系统中,管理员为用户账号 aiya 重设密码后,可以执行( )操作使该用户下次登录时强制其 修改密码,以保持用户账号的私密性(选择一项) A、password -d aiya B、usermod -u 0 aiya C、chage -d 0 aiya D、usermod -s /sbin/nologin aiya 8、在 RHEL5 系统中,执行以下( )操作后,用户 tom 将无法登录该系统。(选择两项) A、passwd –l tom B、chage –d 0 tom C、usermod –s /sbin/nologin tom D、chage –M 30 tom 9、在 RHEL5 系统中,执行以下( )操作后,用户 tom 下次登录时将被要求更改密码否则将拒绝其登录该 系统。(选择一项) A、passwd –l tom B、chage –d 0 tom C、usermod –s /sbin/nologin tom D、chage –M 30 tom 10、在 RHEL5 系统中,当用户 xiaowu 执行”su – daxia”命令是,需要输入用户( )的密码进行验证,才 能顺利切换为 daxia 用户身份。(选择一项) A、xiaowu B、daxia C、root D、wheel 11、在 RHEL5 系统中,为了在 grub.conf 配置文件中给 GRUB 引导菜单设置密码限制,可以执行( )操作 获得 MD5 加密的密码字符串。 (选择一项) A、md5sum B、grub-md5-crypt C、grubpasswd –t md5 D、grub-crypt –t md5 Linux 网关及安全应用 第二章 配置 IPTABLES 防火墙(一) 1、在 RHEL5 系统中配置 iptables 防火墙规则,若需要禁止数据包通行且不反馈任何信息,应该采取的策略动作 为( )。(选择一项) A、ACCEPT B、DROP C、REJECT D、DENY 2、在 RHEL5 系统中,iptables 防火墙默认使用的规则表中不包括( )。(选择两项) A、raw B、input C、mangle D、forward 3、在 RHEL5 系统中,iptables 命令的( )选项可用于设置指定规则链的缺省策略。(选择一项) A、-A B、-D C、-P D、-X 4、在 RHEL5 系统中,依次执行了下列 iptables 规则设置语句,则根据该策略配置,从 IP 地址为 192.168.4.4 的客户机中 ping 防火墙主机的数据包将会被( )。(选择一项) iptables -F INPUT iptables -A INPUT -p icmp -j REJECT iptables -I INPUT -p icmp -s 192.168.4.0/24 -j LOG iptables -I INPUT -p icmp -s 192.168.4.0/24 -j DROP iptables -P INPUT ACCEPT A、ACCEPT B、DROP C、REJECT D、LOG 之后 DROP 5、在 RHEL5 系统中可以使用 iptables 命令对系统中的网络防火墙策略进行查看和维护,当执行“iptables -L” 命令时,将显示( )规则表的配置清单。(选择一项) A、nat B、filter C、mangle D、input 6、管理员在 linux 上使用 iptables 命令配置了防火墙,现要把配置保存,以便当计算机重启时恢复设置,他可以 使用( )来实现。(选择二项) A、iptables-save > iptables B、iptables-restore < iptables C、service iptables save D、service iptalbes restore 7、在 linux 中,防火墙的默认策略为 ACCEPT。管理员小李配置防火墙时,决定设置 INPUT 链的默认策略设置 为 DROP,下面( )命令能够完成这一功能。(选择一项) A、iptables -X INPUT DROP B、iptables -L INPUT DROP C、iptables -P INPUT DROP D、iptables -D INPUT DROP 8、管理员小李配置防火墙时,想把原有防火墙设置全部清空,以便全部重新设置。下面( )命令能够完成 这一功能。(选择一项) A、iptables –F B、iptables –P C、iptables –D D、iptables -X 9、Linux 中防火墙的运行状态可以使用 iptables 命令进行查询,下面( )可以查询 filter 表中的所有链上 的规则。(选择一项) A、iptables –A B、iptables –L C、iptables –F D、iptables –D 10、下面关于 Iptables 防火墙软件说法正确的是 ( )。(选择二项) A、iptables 工作在应用层,属于应用层代理 B、iptables 工作在网络层,属于包过滤型防火墙 C、iptables 主要有 INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING 五个规则链 D、iptables 工作在传输层,属于包过滤型防火墙 11、在 RHEL5 系统中,默认配置了 iptables 防火墙工具。一般的,iptables 维护着四种规则表和五条规则链, 其中 Filter 规则表中包括规则链 ( )。(选择三项) A、PREROUTING B、INPUT C、FORWARD D、OUTPUT E、POSTROUTING 12、在 RHEL5 系统中,若要禁止 IP 地址位于 61.23.45.0/24 网络的客户机访问本机的 WEB 服务,可以使用一 下( )防火墙规则。(选择两项) A、iptables –I INPUT -s 61.23.45.0/24 -p tcp –dport 80 -j DROP B、iptables –I INPUT -s 61.23.45.1-61.23.45.254 -p tcp –dport 80 -j DROP C、iptables –I INPUT –src-range 61.23.45.1-61.23.45.254 -p tcp –dport 80 -j DROP D、iptables –I INPUT -m iprange –src-range 61.23.45.1-61.23.45.254 -p tcp –dport 80 -j DROP 13、在 RHEL5 中系统中配置 iptables 策略时,若对符合条件的数据包进行( )处理,则目标主机将无法 接收到此数据包。(选择二项) A、LOG B、ACCEPT C、DROP D、REJECT 14、在 RHEL5 服务器中开放了 FTP 服务(21 端口),若设置如下 IPTABLES 规则,则客户机 192.168.1.111 访问该 FTP 服务的数据包将会( )。(选择一项) iptables –F iptables –A INPUT –p tcp –dport 21 –j ACCEPT iptables –A INPUT –p tcp –s 192.168.1.111 –dport 21 –j REJECT iptables –P INPUT DROP A、被允许 B、被拒绝 C、被丢弃 D、一部分被允许,一部分被拒绝 15、在配置 RHEL5 系统的 iptables 防火墙时,执行( )命令可以将当前的防火墙配置保存到 /etc/sysconfig/iptables 文件中。(选择一项) A、service iptables reload B、iptables-save >/etc/sysconfig/iptables C、iptables-restore</etc/sysconfig/iptables D、iptables–save-config 16、在 RHEL5 系统中,若需要禁止客户机 192.168.1.20 访问防火墙主机的 telnet 服务,可以添加如下( )。 (选择二项) A、iptables -A INPUT –p tcp –s 192.168.1.20 –dport 23 –j REJECT B、iptables -A INPUT –p tcp –d 192.168.1.20 –sport 23 –j REJECT C、iptables -A OUTPUT –p tcp –s 192.168.1.20 –dport 23 –j REJECT D、iptables -A OUTPUT –p tcp –d 192.168.1.20 –sport 23 –j REJECT 17、公司有一台对外提供 Web 服务的运行 RHEL5 系统主机,为了防止外部对它的攻击,现在想要设置防火墙规 则,使它只接受外部的 Web 访问,其它的外部连接一律拒绝,可能的设置步骤包括: 1、iptables -A INPUT-p tcp-j DROP 2、iptable -A INPUT-P TCP–dport80-jACCEPT 3、iptable -F 4、iptable -P INPUT DROP 则对于上述 4 个步骤,以下( )组合能够实现该需求。(选择一项) A、1-2-3 B、2-4-3 C、3-1-2 D、3-4-2 18、在 RHEL5 系统中,若执行“iptables –A INPUT –i eth0 –s 192.168.1.0 /24 -j DROP”命令设置防火 墙规则,则以下说法正确的是( )。(选择一项) A、允许 192.168.1.0/24 网段的主机通过 eth0 接口访问本主机 B、拒绝 192.168.1.0/24 网段的主机通 eth0 接口访问本主机 C、系统重启后,该规则不再有效 D、允许本机通过 eth0 接口访问 192.168.1.0/24 网段的主机 19、在 RHEL5 系统中设置 iptables 规则时,以下( )可用于匹配 192.168.0.20/24~192.168.0.50/24 范围内的源 IP 地址。(选择一项) A、-s 192.168.0.20:50 B、-s 192.168.0.20-50/24 C、-m iprange –src-range 192.168.0.20-50/24 D、-m iprange –src-range 192.168.0.20-192.168.0.50 Linux 网关及安全应用 第三章 配置 IPTABLES 防火墙(二) 1、在安装 RHEL5 系统的网关主机中,通过正确设置 iptables 防火墙的( )策略,可用于使局域网主机能 够共享同一个公网 IP 地址访问 Internet。 (选择二项) A、SNAT B、DNAT C、MASQUERADE D、REDIRECT 2、在 RHEL5 系统中,对于源地址、目标地址均不是防火墙本机但需要经过防火墙进行转发的数据包,将会经过 nat 表( )链的规则处理。(选择二项) A、OUTOPUT B、FORWARD C、PREROUTING D、POSTROUTING 3、在使用 RHEL5 系统的 Linux 网关主机中,eth1 网卡 IP 地址为 201.12.13.14.,用于连接 Internet。为了使 Internet 中的用户能够通过“http://201.12.13.14”的地址访问到局域网中的 Web 服务器 192.168.4.14,可 以设置( )防火墙规则。(选择一项) A、iptables –t nat –A PREROUTING -d 201.12.13.14 –p tcp –dport 80 –j MASQUERADE B、iptables –t nat –A POSTROUTING -d 201.12.13.14 –p tcp –dport 80 –j MASQUERADE C、iptables –t nat –A PREROUTING -d 201.12.13.14 –p tcp –dport 80 –j DNAT –to-destination 192.168.4.14 D、iptables –t nat –A POSTROUTING -d 201.12.13.14 –p tcp –dport 80 –j DNAT –to-destination 192.168.4.14 4、使用 RHEL5 系统构建网关服务器,在 iptables 防火墙的 nat 表中正确设置( )策略,可用于在 Internet 网络中发布位于局域网内的应用服务器。(选择一项) A、SNAT B、DNAT C、MASQUERADE D、REDIRECT 5、在 RHEL5 系统中设置 iptables 防火墙规则时,DNAT 策略只能在 nat 表的( )规则链中使用(选择两项) A、PREROUTING B、POSTROUTING C、OUTPUT D、FORWARO 6、管理员小张在网络中利用 NAT 服务器进行地址转换,使公司局域网中的计算机可以利用 NAT 服务器访问 Intenet。这时当局域网中的计算机向 Internet 中的某个主机发送请求时,NAT 服务器将数据包的( )转换 为 NAT 服务器的公网地址。(选择一项) A、源地址 B、目标地址 C、源端口号 D、目标端口号 7、在 RHEL5 系统中重新编译 Linux 内核,执行“make menuconfig”步骤后保存的内核配置文件名默认为 ( )。(选择一项) A、.config B、.config-2.6.28.8 C、makefile D、kernel.cfg 8、在 RHEL5 系统环境中,若需要设置从 Internet 远程管理位于公司局域网的内部服务器,可使用 iptables 的 ( )策略实现。(选择一项) A、SNAT B、DNAT C、MASQUERADE D、REDIRECT 9、在 RHEL5 系统中,若需要配置 iptables 防火墙使用内网用户能够共享网关主机的公网 IP 地址上网,可以在 ( )中设置 MASQUERADE 地址伪装策略。(选择一项) A、filter 表内的 OUTPUT 链 B、filter 表内的 FORWARD 链 C、nat 表中的 PREROUTING 链 D、nat 表中的 POSTROUTING 链 Linux 网关及安全应用 第四章 构建 Squid 代服理务器 1、在 RHEL5 系统中,若要为 Squid 代理服务器设置 ACL 访问控制策略,禁止 192.168.4.0/24 网段的客户机使 用代理服务,可以在 squid.conf 文件中添加以下( )配置。 (选择二项) A、acl src 192.168.4.0/24 deny B、acl –net 192.168.4.0/255.255.255.255.0 deny C、acl BlockLan src 192.168.4.0/255.255.255.0; http_access deny BlockLan D、acl BlockLan src 192.168.4.0/24; http_access deny BlockLan 2、在 RHEL5 系统中,第一次运行 spuid 服务器时,需要先初始化缓存目录,执行( )命令可以完成该操 作(选择二项) A、squid –D B、squid –z C、service squid start D 、 service squid init_cache 3、小李正在按照公司的管理制度配置运行在 Linux 系统上的代理服务器软件 squid。公司规定所有的计算机只能 在周一至周五的 10:00 至 16:00 通过代理服务器访问互连网。为了实现这一管理需求,小李应该在 /etc/squid/squid.conf 中添加访问控制列表 ( )。(选择一项) A、acl regular_days time 10:00-16:00 B、acl regular_times time MTWHF 10:00-16:00 C、acl allowed_ clients src 10:00-16:00 D、http_access allow MTWHF 10:00-16:00 4、下面 ( )是用于在 Linux 系统中实现代理服务器的软件。(选择一项) A、ISA B、CCProxy C、Squid D、IPtables 5、Squid 服务器的默认监听端口是 3128,修改 ( )配置选项可以更改它。(选择一项) A、http_accel_port B、http_port C、Squid D、Listen 6、配置 squid 时,以下( )可指定 squid 的工作目录。(选择一项) A、cache_dir B、cache_mgr C、http_access D、acl 7、在 RHEL5 中,squid 代理服务器一般被默认安装,它的主要配置文件是( )(选择一项) A、/var/spool/squid B、/etc/squid/squid.conf C、/etc/src/squid.conf D、/etc/squid.conf 8、在 squid 服务器的主配置文件 squid.conf 中具有如下的配置行: cache_dir ufs /var/spool/squid 100 16 256 则关于 squid 服务器配置说法正确的是( )。(选择二 项) A、squid 服务器的工作目录是“/var/spool/squid” B、squid 服务器的工作目录中一级子目录的数量是 16 个 C、squid 服务器的工作目录中二级子目录的数量是 100 个 D、squid 服务器的工作目录中的最大的容量是 256MB 9、squid 代理服务器的性能表现与服务器的参数设置是紧密相关的,对于具有 128MB 物理内存的主机,在 squid.conf 文件中使用( )配置项是比较合理的方案。(选择一项) A、cache_mem 4 MB B、cache_mem 8 MB C、cache_mem 32 MB D、cache_mem 128 MB 10、在 RHEL5 系统中构建 Squid 反向代理服务时,需要在 squid.conf 配置文件内设置( )行为便支持反 向代理。(选择一项) A、httpd_accel_host virtual B、httpd_accel_with_proxy on C、http_port 80 vhost D、cache_peer parent 80 originserver 11、在 RHEL5 系统中,squid.conf 文件中的( )配置行将允许通过代理下载的文件大小限制为最多 8MB, 超过该限制的文件用户将无法访问。(选择一项) A、maximum_object_size 8092 KB B、reply_body_max_size 8192000 allow all C、cache_mem 8 MB D、cache_dir ufs /var/spool/squid 8 16 256 12、只要客户机的 IP 地址、网关参数设置正确,在网页浏览器中无需进行特殊设置,即可通过 Linux 网关主机中 的( )应用访问 Internet。(选择两项) A、传统代理 B、透明代理 C、反向代理 D、源地址转换 13、squid 代理服务器能够为网页浏览器提供 HTTP 协议的代理访问服务,当 squid 服务器进行缺省配置时, 在客户主机的网页浏览器中应设置代理服务器的网络端口为( ).(选择一项) A、80 B、8080 C、3128 D、8848 14、在 RHEL5 系统中,通过设置 iptables 支持透明代理服务,需要在 nat 表的( )链中添加 REDIRECT 重定向策略。(选择一项) A、PREROUTING B、POSTROUTING C、OUTPUT D、FORWARD 15、在 RHEL5 系统中构建透明代理服务器时,需要结合 iptables 的( )策略以便将相关数据包交给防火墙 主机的代理服务程序处理。 (选择一项) A、SNAT B、DNAT C、REJECT D、REDIRECT 16、在 RHEL5系统中,若要将 Squid 代理服务器的监听端口改为 1080,需要在配置文件 squid.conf 中设置( )。 (选择一项) A、port 1080 B、listen 1080 C、inet_interfaces=:1080 D、http_port 1080 Linux 网关及安全应用 第五章 漏洞检测和远程访问控制 1、构建基于密钥对验证的 SSH 服务时,服务器端默认的密钥库文件是( )(选择一项) A、know_hosts B、authorized_keys C、id.rsa D、id_rsa.pub 2、在 RHEL5 系统中设置 TCP Wrappers 访问控制策略,只允许 IP 地址属于 192.168.1.100~192.168.1.199 范围内的客户机访问本机的 vsftpd 服务,则/etc/host.allow 文件中应该进行( )配置。 (选择一项) A、vsftpd: 192.168.1.1?? B、vsftpd: 192.168.1. C、vsftpd: 192.168.1.1/25 D、vsftpd: 192.168.1.100~192.168.1.199 3、在 RHEL5 系统中,相对于传统的 telnet 登录,SSH 服务提供了加密的安全数据传输,其基本的用户验证方式 包括( )。(选择二项) A、基于 IP 地址 B、基于口令 C、基于密钥 D、基于协议 4、EtterCap 工具主要是基于( )机制在局域网中进行数据监听(选择一项) A、端口扫描 B、ARP 欺骗 C、IP 地址伪装 D、ICMP 泛洪 5、使用 Nessus 漏洞扫描系统时,可以使用的扫描用户认证方式包括( )(选择二项) A、密码 B、IP 地址 C、证书 D、访问时间 6、在 RHEL5 系统中,/etc/hosts.allow 和/etc/hosts.deny 两个文件中均只包含内容为“vsftpd:192.168.1.23” 的配置,则根据该 TCPWrappers 策略,以下说法正确的是( )。(选择一项) A、只允许 IP 为 192.168.1.23 的主机访问 vsftpd 服务 B、只拒绝 IP 为 192.168.1.23 的主机访问 vsftpd 服务 C、允许所有主机访问 vsftpd 服务 D、拒绝所有的主机访问 vsftpd 服务 7、在 RHEL5 系统中,在 sshd 服务的配置文件中设置( )配置项可用于禁止 root 用户远程登录。(选择两 项) A、AllowUsers !root B、PermitRootLogin no C、DenyUsers root D、StrictMode yes 8、在 RHEL5 系统中,安全工具( )主要用于检测网络中主机的漏洞和弱点,并能给出针对性的安全性建议。 (选择一项) A、NMAP B、Nessus C、EtterCAP D、WireShark 9、在 RHEL5 系统中,通过 TCP Wrappers 机制加强对应用服务的访问控制时,使用的主要配置文件包括( )。 (选择两项) A、/etc/host.conf B、/etc/hosts.allow C、/etc/hosts.deny D、/etc/tcpd.conf 10、在 RHEL5 系统中,使用 OpenSSH 提供的 ssh-keygen 工具创建 SSH 密钥文件时,持使用( )加密算 法。(选择二项) A、MD5 B、RSA C、SHA D、DSA 11、RHEL5 系统中 OpenSSH 服务器的缺省配置为允许 root 用户进行 SSH 登录,为了禁止该功能,需要将 “PermitRootLogin no”设置行添加到( )文件中。(选择一项) A、/etc/ssh/ssh_config B、/etc/ssh/sshd_config C、/etc/ssh/ssh.config D、/etc/ssh/sshd.config 12、在 RHEL5 系统中,设置 TCP Wrappers 策略对 vsftpd 服务进行访问控制。若在/etc/hosts.allow 文件中 设置了“vsftpd: 192.168.1.2”,在/etc/hosts.deny 文件中设置了“vsftpd: 192.168.1.2,192.168.1.3”, 则以下说法正确的是( )。(选择一项) A、除了 192.168.1.3 以外的主机都允许访问该 FTP 服务器 B、除了 192.168.1.2 和 192.168.1.3 以外的主机都 允许访问该 FTP 服务器 C、只有 IP 为 192.168.1.2 的主机允许访问该 FTP 服务器 D、任何主机都不允许访问该 FTP 服务器 13、TCP Wrappers 使用“/etc”目录下的 hosts.allow 和 hosts.deny 两个文件进行访问控制策略的配置, 当 hosts.allow 文件中具有如下配置行时( )。 in.telnetd, vsftpd: ALL (选择二项) A、in.telnetd 服务程序对于所有主机都允许访问 B、vsftpd 服务程序对于所有主机都允许访问 C、in.telnetd 服务程序对于所有主机都拒绝访问 D、vsftpd 服务程序对于所有主机都拒绝访问 14、ssh 命令用于登录 SSH 服务器,以下 ssh 命令中( )一定可以使用 root 用户的身份登录地址为 “192.168.1.13”的 SSH 服务器。(选择二项) A、ssh 192.168.1.13 B、ssh -l 192.168.1.13 C、ssh -l root 192.168.1.13 D、ssh root@192.168.1.13 15、在执行 ssh 命令进行 SSH 登录的客户主机中,用户宿主目录中会存在名为“.ssh”的子目录,当用户第一次 使用 ssh 命令成功登录 SSH 服务器后,该目录中一定会存在( )文件。(选择一项) A、id_rsa B、id_rsa.pub C、known_hosts D、authorized_keys 16、在 Linux 系统中 TCP Wrappers 使用 hosts.allow 和 hosts.deny 两个文件进行访问控制的设置,对于一 个安全级别要求较高的 Linux 主机,hosts.deny 文件中应具有( )设置。(选择一项) A、ALL: ALL B、ALL: LOACAL C、ALL: KNOW D、ALL: UNKNOW 17、在使用 tcpd 的 Linux 服务器中,如果 hosts.deny 和 hosts.allow 两个文件不存在,则可以认为( ) (选择一项) A、实现对所有主机开放所有的服务 B、实现对所有的主机禁用所有的服务 C、产生错误 D、tcpd 服务不会启动 18、SSH 是 Server Shell 的简写,通过使用 SSH,可以把它传输的数据进行加密,下面的 linux 命令中,使用 SSH 加密通过进行传输的是( )。(选择三项) A、SSH B、SFTP C、SCP D、TELNET E、POP 19、在 RHEL5 系统中,使用传统的 TELNET 远程登录时,需要通过口令和用户名验证,但由于传送用户名和口 令时都是采用明文的形式,因而容易被网络黑客窃听。为了安全起见,可以使用( )来提供远程登陆服务。 (选择一项) A、xinetd B、SAMBA C、网络邻居 D、OpenSSH 20、SSH 协议是建立在应用层和传输层基础上的安全协议,可用来取代 Telnet、FTP 等服务远程登录到服务器上, 在默认情况下 Linux 操作系统中的 OpenSSH 软件包提供了“scp”命令完成两台主机间的文件拷贝,下述命令: scp dumb bilbo@www.foobar.com:. 可以完成( )功能。(选择一项) A、将本地计算机“dumb”目录下所有的文件拷贝到远程服务器 www.fobar.com 的根目录下,并且登录远程服 务器上的密码为“bilbo” B、将本地计算机当前目录下的一个名为“dumb”的文件发送到邮件 bilbo@www.foobar.com C、将远程服务器 www.foobar.com 上用户“bilbo”主目录下的一个名为 “dumb”的文件拷贝到本地计算机当 前目录下,并且登录远程服务器上的账号名为 “bilbo” D、将本地计算机当前目录下的一个名为“dumb”的文件拷贝到远程主机 www.fobar.com 中用户 “bilbo”的 主目录下 21、Tcp-wrappers 工具包提供了 Unix/Linux 平台上的网络系统安全性,许多系统服务都支持 tcp-wrappers。 管理员在配置 tcp-wrappers 的安全规则时,一般需要修改配置文件 ( )。(选择二项) A、/etc/hosts B、/etc/hosts.allow C、/etc/hosts.conf D、/etc/hosts.deny 22、在 RHEL5 系统上安装了 vsftpd 作为 FTP 服务器,要求允许 192.168.1.0/24 网段的主机访问,为达到上述 目标,可以进行( )设置。 (选择二项) A、在/etc/hosts.allow 文件中添加“vsftpd:192.168.1.0/24”项 B、在/etc/hosts.allow 文件中添加“vsftpd:192.168.1.0/255.255.255.0”项 C、在/etc/hosts.allow 文件中添加“vsftpd:ALL”项 D、在/etc/hosts.allow 文件中添加“192.168.1.0/255.255.255.0”项 23、OpenSSH 服务器因故障检修重新安装了操作系统,IP 地址保持不变,当再次在 SSH 客户端(RHEL5 系统) 远程登录时,显示错误信息“Host key verification failed.”。通过清空客户端用户的( )文件后可以排除 该故障。(选择一项) A、~/.ssh/id_rsa B、~/.ssh/id_rsa.pub C、~/.ssh/known_hosts D、~/.ssh/authorized_keys 24、在 RHEL5 系统中,配置使用 TCP_Wrappers 以进行网络程序的访问控制,下列说法错误的是 ( )。 (选一项) A、TCP Wrappers 属于包过滤防火墙 B、TCP Wrappers 可以针对指定的应用程序 C、TCP Wrappers 可以针对访问者的主机地址进行访问控制 D、TCP Wrappers 通过名以 hosts.allow 和 hosts.deny 文件进行访问控制策略的设置 25、在 RHEL5 系统中,以下( )安全软件主要用于抓取局域网中的通信数据进行协议分析。(选择一项) A、Nessus B、NMAP C、EtterCAP D、WireShark 26、在 RHEL5 系统中,对应 OpenSSH 客户端的几个命令工具,其中( )具有远程文件复制的功能。(选 择一项) A、ssh B、scp C、cp D、scopy 27、在 RHEL5 系统中,若要以 jerry 的用户身份登录到远程的 SSH 服务器 192.168.1.1 可以使用以下( ) 命令。(选择一项) A、ssh 192.168.1.1 B、ssh jerry@192.168.1.1 C、ssh –login jerry 192.168.1.1 D、ssh –U jerry 192.168.1.1 28、在 RHEL5 系统中,关于 Nessus 漏洞检测系统,以下说法错误的是( )。(选择一项) A、nessus 的服务器端和用户端程序可以安装在同一台主机中 B、nessusclient 用户端程序可以在 linux 的字符界面中运行 C、执行漏洞扫描之前,需要先连接到 nessus 服务器端并通过用户验证 D、可以将一个网段范围内的所有主机作为漏洞扫描目标 29、在 RHEL5 系统中,关于 Nessus 漏洞检测系统以下说法正确的是( )。(选择二项) A、包括 Nessus 服务器端和 NessusClient 用户端两部分程序 B、Nessus 和 NessusClient 必须安装在同一台主机中 C、用户端需要连接到服务器端,并通过授权验证才能进行漏洞检测 D、通过密码验证的用户可以对任意网络或目标主机进行扫描 30、在 RHEL5 系统中,对于 OpenSSH 客户端的几个命令工具,其中( )具有远程复制或上传,下载文件的 功能。(选择二项) A、ssh B、scp C、sftp D、rcp Linux 网关及安全应用 第六章 构建流量与性能监测系统 1、在 RHEL5 系统中,构建 Cacti 和 NTOP 检系统时,均需要依赖于( )软件提供的数据记录及图表绘制引 擎。(选择一项) A、MySQL B、httpd C、RRDTool D、Net-SNMP 2、在 RHEL5 系统中,通过源代码安装 NTOP 软件包时,编译前需要使用( ) 脚本进行预配置,以便启用 TCP Wrappers 支持等功能。(选择一项) A、./config B、./configure C、./autogen.sh D、./post-install 3、在 RHEL5 系统中,监控软件( )主要用于统计局域网内各主机的网络流量使用情况,且不需要依赖于 Apache 等软件即可提供基于 Web 界面访问的流量报告。(选择一项) A、MRTG B、NTOP C、Cacti D、BandWidthD 4、若需要使用 Cacti 监测一台 Linux 主机,需要为该主机安装( )软件包(选择一项) A、MySQL B、libpng C、net-snmp D、httpd 5、在 Cacti 监测系统中,默认的数据刷新间隔是( )(选择一项) A、30 分 B、1 分钟 C、5 分钟 D、15 分钟 6、以下监测软件中,( )可以针对不同的网络层、应用层协议进行流量统计。(选择二项) A、MRTG B、Cacti C、BandWidth D、NTOP 7、在较常见的几个设备/主机性能、流量监测软件中,( )主要通过 SNMP 协议采集被监测项的各种数据。 (选择两项) A、MRTG B、Cacti C、Bandwidthd D、NTOP 8、在 RHEL5 系统中,通过 Cacti 监测系统可以查看被监测主机的各种性能参数,其中不包括( )。(选址一 项) A、CUP 占用 B、内存使用 C、已挂载分区统计 D、 开启终端个数 E、网卡流量统计
(单选题)sed 使用( )指令读取下一行内容。 A.a B.n C.u D.x 正确答案:B 2. (单选题)启动 nginx 程序时,其命令选项( )可用于测试默认的配置文件语法是否正确? A.-v B.-V C.-t D.-c 正确答案:C 3. (单选题)Nginx 配置文件中,使用( )指令可以定义服务器域名名称? A.server_name B.hostname C.name D.webname 正确答案:A 4. (单选题)Redis 使用什么( )指令可以切换数据库? A.switch B.select C.use 正确答案:B 5. (单选题)将 subversion 版本仓库中的代码下载到本地副本的指令是( )。 A.download B.upload C.checkout D.import 正确答案:C 6. (单选题)Linux 系统中,一般在/etc/init.d/目录下的启动脚本,使用( )语句判断用户执行的是 start 还是 stop 指令? A.if B.case C.while D.test 正确答案:B 7. (单选题)如下哪个( )正则表达式代表了单词边界? A.\A B.\b C.\c D.\d 正确答案:B 8. (单选题)使用 test 进行条件判断,测试两个数字的关系时,大于或等于用( )表示。 A.-le B.-gt C.-ge D.-eq 正确答案:C 9. (单选题)配置 Squid 代理服务时,配置文件中加入以下哪个选项( )可以启用 Web 反向代理? A.http_access B.http_port 3128 transparent C.http_port 80 vhost D.cache_peer 正确答案:C 10. (单选题)启动 memcached 服务时,使用什么( )选项可以指定其所占用的内存容量大小。 A.-m B.-u C.-l D.-v 正确答案:A 11. (单选题)若执行如下命令 #head -5 /etc/passwd | awk ‘END{print NR,FNR}’ 则最后输出的结果是( )。 A.5 1 B.5 5 C.0 0 D.1 5 正确答案:B 12. (单选题)Nginx 配置文件中( )指令可以定义客户端浏览器缓存数据的时间。 A.cached B.expires C.ttl D.time 正确答案:B 13. (单选题)MySQL 服务默认监听的端口是多少()? A.3306 B.80 C.3128 D.3260 正确答案:A 14. (单选题)在启动 memcached 时,什么选项( )用来限制 memcached 服务的最大连接数? A.-m B.-c C.-n D.-d 正确答案:B 15. (单选题)使用( )工具可以对 Web 服务器进行压力测试。 A.ab B.web C.press D.test 正确答案:A 16. (单选题)Shell 脚本中使用哪个命令可以对数据进行排序()? A.uniq B.more C.sed D.sort 正确答案:D 17. (单选题)关于命令 hostname=www.tarena.com; echo KaTeX parse error: Expected ‘}’, got ‘&’ at position 890: …该使用什么分隔符 ()? A.&̲ B.% C.&& D.| 正…{} D.expr substr 正确答案:BCD 38. (多选题)Nginx 实现 SSL 加密通讯时,需要提前创建( )文件。 A.权限文件 B.访问控制文件 C.私钥文件 D.证书文件 正确答案:CD 39. (多选题)客户端可以通过哪些方式访问 subversion 版本库()? A.通过 FTP 共享 B.通过本地访问 C.通过 SVN 服务 D.通过 Web 服务 正确答案:BCD 40. (多选题)awk 命令支持有条件地执行某些指令,仅当条件满足时才执行{}中的指令,awk 支持如下哪些判断条件? A.正则判断 B.数字判断 C.字符判断 D.文件大小判断 正确答案:ABC 41. (多选题)Shell 脚本中定义使用函数的好处有( )。 A.让脚本更复杂 B.让代码更简洁 C.增强代码的可读性 D.隐藏代码 正确答案:BC 42. (多选题)Nginx 配置文件中,使用( )指令可以设置允许和拒绝访问的规则? A.Deny B.refuse C.Allow D.permit 正确答案:AC 43. (多选题)下列关于 Shell 脚本中的 if 判断语句,说法正确的是()? A.仅支持单分支条件判断 B.支持单分支条件判断 C.不支持多分支条件判断 D.支持多分支条件判断 正确答案:BD 44. (多选题)在 memcached 中创建一个新的键值对,可以使用哪些( )指令。 A.new B.append C.set D.add 正确答案:CD 45. (多选题)Varnish 支持将缓存数据存储在哪些设备()? A.内存 B.硬盘 C.CPU 一级缓存 D.显存 正确答案:AB 46. (多选题)Redis 服务设置主从同步时,需要对主从服务器做哪些( )设置。 A.主服务器设置 requirepass B.从服务器设置 slaveof C.从服务器设置 masterauth D.主服务器设置 slaveof 正确答案:ABC 47. (多选题)awk 命令中条件判断的”逻辑与”和”逻辑或”分别使用( )表示。 A.& B.&& C.|| D.| 正确答案:BC 48. (多选题)如下哪条命令( ),可以对变量 i 进行自加 2 的操作。 A.let i+=2 B.i=i+2 C.let i++ D.let ++i 正确答案:AB 49. (多选题)客户端通过代理软件访问缓存页面时,通常使用( )关键词来表示缓存的命中与未命中。 A.hit B.miss C.yes D.no 正确答案:AB 50. (多选题)Linux 系统中常用 Shell 有哪些( )。 A.bash B.ksh C.mysh D.sh 正确答案:ABD 填空题: