table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}
144、如果将系统的网络掩码设置为255.255.255.0,在不使用路由器的情况下,该网络可以连接多少台计算机?
网络掩码
255.255.255.0
对应的二进制为
11111111.11111111.11111111.00000000
,主机位有 8 位。
可分配的 IP 地址数量为 $2^8 – 2 = 254$ 个,所以可以连接 254 台计算机。
145、哪个文件存储了系统使用哪些 DNS 服务器的信息?
resolv.conf 文件存储了系统使用哪些 DNS 服务器的信息。
146、什么是Cacti?它如何传达所提供的信息?
Cacti网络监控工具简介
Cacti 是一个网络监控工具,能绘制系统和网络信息的时间序列数据图表,并提供一个全面的 Web 界面,用于浏览和检查网络中设备的持续性能。
它通过其 Web 界面传达信息,该界面允许用户:
浏览设备和图表列表
查看设备活动随时间变化的可视化表示
147、列出使用虚拟机(VM)相对于物理机的三个优点
隔离性
:每个虚拟机与运行在同一主机上的其他虚拟机相互隔离,若一个虚拟机崩溃或被入侵,其他虚拟机不受影响。
安全性
:当运行多个服务器的单个系统被入侵时,所有服务器都会受影响;若每个服务器运行在自己的虚拟机上,则只有被入侵的服务器受影响,其他服务器保持安全。
功耗
:使用虚拟机,一台强大的机器可以取代多台性能较弱的机器,从而降低功耗。
148、虚拟机比物理机需要的资源更少吗?
不是,设置主机运行虚拟机时,每个虚拟机所需资源与物理机相同,在单台主机上运行多个虚拟机时,
至少需要各虚拟机所需资源之和
。
149、什么是KVM?
KVM(Kernel-based Virtual Machine)内核模块允许运行在用户空间的程序(如 QEMU)利用包括英特尔、AMD、PPC 和 ARM 等处理器的硬件虚拟化功能。当主机和客户机架构相同时,QEMU 使用 KVM 为虚拟机提供硬件加速,使其运行更快并减少对主机资源的使用。
150、什么是QEMU?
QEMU简介
QEMU(Quick EMUlator)由Fabrice Bellard编写,是一种开源虚拟机管理程序,作为用户应用程序运行,对CPU无要求,能运行与主机CPU不同的代码。当主机和客户机架构相同时,QEMU会使用KVM为虚拟机提供硬件加速。
151、什么是libvirt?
libvirt 是一个库和管理工具,许多虚拟机平台(包括 QEMU、KVM、Xen 和 VMware)可利用它,它能提供一致的接口来创建、监控和控制虚拟机。虽通常不是必需的,但可让管理员的工作更轻松。
152、列出虚拟机相对于物理机的三个优点。
沙盒
:虚拟机提供一个沙盒,可在其中工作而无需考虑工作结果或清理问题。
快照
:可以对虚拟机进行快照,并通过从快照重新加载虚拟机,使其恢复到拍摄快照时的状态。
迁移和复制
:可以快速轻松地将虚拟机迁移和复制到其他主机。
153、VMware Tools 的用途是什么?在 Linux 系统上运行 vmplayer 时是否需要安装 VMware Tools?为什么需要或不需要?
VMware Tools 是驻留在虚拟机上的软件,可提高虚拟机的性能、功能以及管理便捷性,例如改善图形和鼠标性能,使虚拟机和主机能够共享文件夹、进行拖放操作、同步时间以及复制粘贴。在 Linux 系统上运行 `vmplayer` 时,若安装了 `open-vm-tools` 包,则不需要安装 VMware Tools,因为 VMware 已将 VMware Tools 的功能合并到内核和 `open-vm-tools` 中。
154、本地系统是否支持硬件虚拟化?
可在主机上运行以下命令来查看CPU是否有硬件虚拟化扩展:
$ egrep '^flags.*(vmx|svm)' /proc/cpuinfo
如果该命令没有产生任何输出,则CPU不支持硬件虚拟化或BIOS中未启用硬件虚拟化。
155、什么是virt – manager实用程序?
`virt-manager` 实用程序可用于本地和云端虚拟机的设置。在安装操作系统前能打开详细信息窗口,也可在安装后显示该窗口。高级选项部分可指定非默认网络、MAC地址、虚拟机类型和架构等,还会在分配磁盘存储和获取安装镜像时显示创建虚拟机窗口,虚拟机从ISO镜像文件启动时会显示控制台窗口。
156、关闭正在运行的虚拟机的virt – manager控制台窗口会发生什么?如果不先关闭虚拟机就重启主机系统会发生什么?
关闭正在运行的虚拟机的
virt-manager
控制台窗口不会影响虚拟机的状态。例如安装 Fedora 时关闭控制台窗口,安装会继续进行,再次打开窗口时会显示安装在继续(或等待输入),就像从未关闭过窗口一样。
但如果不先关闭或保存(挂起)虚拟机就重启主机系统,可能会导致虚拟机数据丢失。
157、scp和sftp实用程序有什么区别?
以下是调整为 Markdown 格式的内容:
文件传输工具说明
SCP(Secure Copy)
用途:用于文件复制的工具。
格式:
scp [[user@]from-host:]source-file [[user@]to-host:][destination-file]
特点:
需要时会要求输入密码。
复制目录时需使用
-r
选项。
SFTP(Secure File Transfer Protocol)
用途:安全的 FTP 客户端。
说明:
是 OpenSSH 的一部分。
功能上与 FTP 相同,但将 FTP 命令映射为 OpenSSH 命令。
使用方法:
连接系统后输入
?
可显示命令列表。
LFTP
用途:比 SFTP 更复杂的文件传输工具。
特点:
支持 SFTP。
具有类似 shell 的命令语法。
158、如何使用ssh命令查明远程系统上有哪些用户登录?
可以使用类似如下命令:
ssh [user@]host who
例如,若用户
zach
要查看在远程主机
plum
上的登录情况,可使用命令:
ssh zach@plum who
执行后输入密码,就能显示登录相关信息。
159、如何使用scp将名为plum的系统中的~/.bashrc文件复制到本地系统?
使用以下命令:
scp [用户名]@plum:~/.bashrc [本地目标文件或目录]
若不指定用户名,默认是本地执行命令的用户;
若不指定本地目标文件或目录,默认是本地用户的主目录。
例如,若本地执行命令的用户是
sam
,可使用命令:
scp sam@plum:~/.bashrc .
(将文件复制到本地当前目录)
160、当使用ssh在本地显示器上运行远程X应用程序时,启用压缩会带来什么问题?
压缩可能会增加延迟,在高带宽连接上转发X会话时,这种延迟程度可能是不可取的。
161、当你使用OpenSSH客户端尝试连接到远程系统时,看到一条消息警告你远程主机标识已更改,发生了什么?你应该怎么做?
当看到远程主机标识已更改的警告,可能是远程系统的主机密钥已被更新或存在中间人攻击。
若设置了
StrictHostKeyChecking
为
yes
或
ask
,OpenSSH 会拒绝连接主机密钥已更改的系统。
此时应先确认是否正在登录正确的系统,而非冒名顶替的系统。若不确定,可打电话给在该系统本地登录的人来核实。
若确认是正确系统且主机密钥正常更新,可使用以下命令移除
known_hosts
文件中的旧条目:
ssh-keygen -R <主机名>
或使用文本编辑器手动移除,之后再次连接时重新确认并添加新的主机密钥。
162、你会使用哪个 scp 命令将你在 plum 系统上的主目录复制到本地系统?
使用命令:
scp -r [user@]plum:~ [destination]
其中:
[user]
是 plum 系统上的用户名,若不指定则默认为本地系统当前用户;
[destination]
是本地系统上的目标位置,若不指定则默认为本地用户的主目录。
163、如何使用ssh比较远程主机plum和本地系统上~/memos目录的内容?
可以通过在本地系统上执行命令:
ssh plum cat ~/memos/文件名 | diff 本地系统上对应的文件名 -
或者:
cat 本地系统上的文件名 | ssh plum diff - ~/memos/文件名
来比较文件内容。要比较目录下所有文件,可能需要结合循环语句来对每个文件执行类似操作。
164、在什么情况下使用ftp比sftp更好?
当需要下载公共信息时,ftp是更好的选择,因为sftp不允许匿名用户下载信息。
165、如何防止本地用户使用其系统用户名和密码登录 vsftpd 服务器?
可以将
userlist_enable
设置为 YES,将
userlist_deny
设置为 YES,并把该本地用户添加到
/etc/vsftpd/user_list
文件(或
userlist_file
指定的文件)中。
这样,当用户尝试登录时,系统会参考该列表,阻止列表中的用户登录。
此外,也可将
local_enable
设置为 NO,禁止本地用户登录服务器。
166、sftp 相对于 ftp 有什么优势?
sftp
是
ftp
的安全替代方案,使用加密连接,用户密码和数据不会被窃取,能为除允许匿名用户下载信息之外的所有 FTP 功能提供更好的安全性。
167、为什么在PORT模式下连接FTP服务器可能会有问题?
在PORT模式下连接FTP服务器可能出现问题,原因包括:
防火墙未正确配置,未开放FTP使用的TCP端口21;
SELinux未正确设置,无法允许用户登录和复制文件;
配置文件中
listen
和
listen_ipv6
设置错误,二者不能同时设为 YES;
/etc/vsftpd/vsftpd.conf
中
anonymous_enable
未设为 YES(若允许匿名登录);
/var/ftp
或 ftp 用户主目录权限设置不当,若 ftp 用户可写入该目录,连接会失败;
从非局域网系统登录时,可能是网络连接问题,可使用
ping
测试,也可能是防火墙未允许 FTP 访问。
168、为什么在chroot监狱中运行vsftpd是有利的?
在
chroot
监狱中运行
vsftpd
主要是出于安全考虑。对于匿名用户,默认将其置于
chroot
监狱中,用户只能看到监狱内的文件和目录,无法访问监狱外的目录,如
/home
、
/usr/local
或
/tmp
目录,从而限制了用户的访问范围,提高了系统的安全性。
169、默认情况下,发往系统的邮件会发送给root用户。如何同时将邮件副本保存到/var/logs/systemmail?
可以在
/etc/aliases
文件中添加如下内容来实现:
system: root, /var/logs/systemmail
编辑完
/etc/aliases
文件后,需要以 root 权限运行
newaliases
命令或重启
sendmail
来重新创建
sendmail
读取的
/etc/aliases.db
文件。
170、你的邮件服务器上安装了SpamAssassin,阈值被设置为异常低的3,导致大量误判。你可以给邮件客户端什么规则,让它识别得分在5分或更高的垃圾邮件?
在邮件客户端设置两个规则:
第一个规则使用
spamc
让每封邮件通过 SpamAssassin 进行检查;
第二个规则根据
X-Spam-Flag
行是 YES 还是 NO 来过滤邮件,将阈值设为 5,以此识别得分 5 分或更高的垃圾邮件。
171、请给出一种不使用邮件用户代理(MUA)的简单阅读邮件的方法。
可以使用 Webmail 方式阅读邮件。只要有商业邮件服务提供商(如 Gmail、HotMail、Yahoo! Mail)的邮箱账号,通过网络浏览器就能读取邮件,在任何能打开浏览器上网的地方都可查看邮件,比如网吧或朋友的电脑。
172、passwd 和 yppasswd 实用程序有什么区别?
当使用 NIS 进行密码认证时,
yppasswd
实用程序可替代客户端上
passwd
的功能。普通用户使用
passwd
时实际运行的是
yppasswd
,若 root 或系统账户用户运行
passwd
(实际是
yppasswd
),
yppasswd
会显示错误提醒管理员运行
rootpasswd
。
此外,只要 NIS 主服务器上的
yppasswdd
守护进程正在运行,NIS 客户端的用户就可以使用
yppasswd
实用程序更改其 NIS 密码。具有 root 权限的用户可以更改任何用户的密码(除 root 或系统账户),还能在
yppasswdd
允许的情况下更改登录 shell 和 GECOS 信息;而
passwd
主要用于用户更改自己的系统密码,需验证旧密码,且 root 可在不知用户旧密码的情况下为其设置新密码。
173、LDAP目录中的基本信息单位是什么?属性的结构是怎样的?
LDAP目录中的基本信息单位是条目(entry)。
每个属性有一个名称(属性类型或描述)和一个或多个值。
属性名称来自标准模式,该模式存储在
/etc/openldap/schema
目录的文件中。
174、如何使用NIS来模拟小型网络中私有DNS服务器的功能?为什么在大型网络中不应这样使用NIS?
使用NIS模拟私有DNS服务器功能
使用NIS可以模拟私有DNS服务器功能,将本地系统名称和IP地址等信息存储在NIS数据库中。
NIS从本地ASCII配置文件(如
/etc/hosts
)获取信息,将其转换为dbm格式的映射文件,存储在数据库中。
客户端需要这些信息时,会向NIS服务器发起请求。
不适用于大型网络的原因
数据库维护困难
:在大型网络中,NIS存储信息的数据库文件会随着主机数量的增加而增大,导致更新和维护变得困难。
管理域限制
:NIS仅适用于单个管理域内的主机信息,域外主机无法访问。
安全性问题
:默认情况下,NIS不具备安全性,且难以保障安全。
单点故障风险
:在大型网络中,NIS主服务器可能成为单点故障,影响整个网络服务的正常运行。
175、使用NFS的三个原因是什么?
允许服务器在异构网络上与客户端系统共享选定的本地目录层次结构;
减少存储需求,通过将程序存储在单个系统上并让其他用户通过网络访问,减少维护相同数据的位置数量;
提高效率,让网络上的用户可以访问相同的数据。
176、要将位于名为 plum 的文件服务器上的 /home 目录层次结构挂载到本地系统,假设挂载的目录层次结构在本地系统上显示为 /plum.home,应该使用什么命令?如果该目录层次结构位于 IP 地址为 192.168.1.1 的文件服务器上,又该如何挂载?如何卸载 /home 目录?
挂载 plum 服务器上的
/home
目录到本地
/plum.home
:
mount plum:/home /plum.home
挂载 192.168.1.1 服务器上的
/home
目录到本地
/plum.home
:
mount 192.168.1.1:/home /plum.home
卸载
/home
目录:
umount /home
177、/etc/fstab 文件的作用是什么?
`/etc/fstab` 文件由系统管理员维护,它列出了本地和远程目录层次结构,系统启动时大多会自动挂载这些目录。该文件有六列,分别为:
1. 设备名称
2. 挂载点
3. 文件系统类型
4. 挂载选项
5. dump选项
6. fsck检查顺序
添加文件系统行后可通过挂载点或设备名挂载文件系统。
178、NFS会将客户端的用户映射到服务器上的用户。请解释为什么这种映射存在安全风险。
这种映射存在安全风险的原因有:
用户在客户端和服务器可能有不同的ID号,会导致用户对文件的访问权限异常,可能获得其他用户文件的所有者访问权限,而无法访问自己的文件;
客户端具有root权限的用户可能获得服务器上root拥有文件的所有者访问权限;
远程用户可能获得服务器上一些重要非root拥有的系统文件的所有者访问权限,从而可以执行或修改这些文件。
179、Samba套件中的哪两个守护进程是什么?它们各自的作用是什么?
以下是将给定文本内容调整为Markdown格式的结果:
Samba套件中的两个守护进程是
nmbd
和
smbd
。
nmbd
是 NetBIOS 名称服务器程序,默认以守护进程方式运行,为 Samba 客户端提供基于 IP 的 NetBIOS 命名服务,也为远程系统上的 Samba 共享提供浏览支持。
smbd
也是默认以守护进程方式运行,为 Samba 和 Windows 客户端提供文件和打印服务。
180、将Windows用户映射到Linux用户需要哪些步骤?
若映射不同用户名,需在
/etc/samba/smb.conf
的
[global]
部分添加
username map = /etc/samba/smbusers
;
在
username map
参数指向的文件中添加映射关系,如
sls = sam
,必要时创建该文件;
添加用户到文件后,使用
smbpasswd
为用户设置密码。
181、系统管理员如何为新用户添加 Samba 密码?
系统管理员需以
root
权限使用
smbpasswd
命令并加上
-a
选项,为
/etc/passwd
中列出的 Linux 用户添加 Samba 用户和密码。
例如,添加用户
sam
的命令为:
# smbpasswd -a sam
然后按提示输入新的 SMB 密码并再次输入确认,添加成功会显示:
Added user sam
182、哪种服务器会响应递归查询?这种服务器是如何工作的?
DNS服务器与递归查询的工作原理
DNS服务器可以被设置为响应
递归查询
。
当客户端(如浏览器)需要获取对应域名的IP地址时,会向解析器查询。多数解析器较为简单,因此需要DNS服务器完成大部分工作,即发送
递归查询
。
解析器与单个DNS服务器通信,该DNS服务器为响应解析器的递归查询,可能会进行多次
迭代查询
。
例如,客户端系统上的解析器要查找服务器的IP地址,会向其主DNS服务器发送递归查询。该服务器会依次询问根服务器及每个区域的一个额外服务器,直到获取最终答案,并将其返回给客户端的解析器。
实际上,查询通常不会从根服务器开始,因为大多数DNS服务器会将
com域的权威名称服务器
的位置存储在缓存中。
183、MX资源记录的作用是什么?
MX资源记录指定发往该域名的邮件的目的地。它必须始终指向A(或AAAA)记录,包含优先级数字,允许邮件传递代理在主服务器故障时使用备份服务器。多个邮件服务器可按优先级排序,数字越小优先级越高,对于相同优先级的邮件服务器,DNS会随机选择。
184、当你更改 DNS 条目时,往往要等待全球的 DNS 记录更新,这很烦人。你可以通过将 TTL(生存时间)设置为较小的数值来避免这种延迟。为什么将 TTL 设置为较小的数值不是个好主意?
设置较小的 TTL 时,会增加向 DNS 请求不存在域名的客户端的流量,尽管能让新域名快速传播,但会以增加流量为代价。
185、如何通过firewall-config和firewall-cmd将firewalld防火墙设置为紧急模式?
通过
firewall-config
设置:
选择防火墙配置菜单栏中的
“Options → Panic Mode”
,选择项旁会出现勾选标记,再次选择可移除标记并恢复到运行时配置。
通过
firewall-cmd
设置:
使用命令
su -c "firewall-cmd --panic-on"
开启紧急模式。
使用
--panic-off
选项可将防火墙恢复到之前的状态。
186、如何判断 firewalld 是否正在运行?
可以使用以下命令来判断
firewalld
是否正在运行:
使用
firewall-cmd --state
命令:
– 如果输出为
running
,则表示
firewalld
正在运行。
使用
systemctl status firewalld.service
命令:
– 如果
Active
行显示为
active (running)
,则表示
firewalld
正在正常运行。
– 如果
Active
行显示为
inactive (dead)
,则表示
firewalld
未运行。
187、你会使用哪个 firewall-cmd 命令使防火墙的运行时配置信任 FTP 服务?哪个命令会使永久配置信任 FTP 服务?
要使运行时配置信任 FTP 服务,使用命令:
# firewall-cmd --add-service=ftp
要使永久配置信任 FTP 服务,使用命令:
# firewall-cmd --permanent --add-service=ftp
188、哪个 firewall-cmd 命令可以验证 FTP 服务在运行时配置中被信任?在永久配置中呢?
验证 FTP 服务在运行时配置中被信任的命令是:
firewall-cmd --list-services
验证在永久配置中被信任的命令是:
firewall-cmd --permanent --list-services
189、如何使用 firewall-cmd 在永久配置中为 SMTP 数据包(TCP 和 UDP 端口 25)打开端口?验证这些端口是否已打开。
要在永久配置中为 SMTP 数据包打开 TCP 和 UDP 端口 25,可以使用以下命令:
$ su -c 'firewall-cmd --permanent --add-port=25/tcp'
$ su -c 'firewall-cmd --permanent --add-port=25/udp'
然后重新加载防火墙以使更改生效:
$ su -c 'firewall-cmd --reload'
要验证端口是否已打开,可以使用以下命令:
$ firewall-cmd --permanent --list-ports
此命令将列出永久配置中所有打开的端口,检查输出中是否包含
25/tcp
和
25/udp
。
190、定义一条 iptables 规则,用于拒绝 TELNET 端口的传入连接。
可使用以下命令定义规则:
iptables -A INPUT -p tcp --dport 23 --jump REJECT
此命令使用
--append
(
-A
) 命令将规则添加到
INPUT
链末尾,
-p tcp
表明使用 TCP 协议,
--dport 23
指定目标端口为 TELNET 端口(23),
--jump REJECT
表示匹配规则的数据包将被拒绝。
191、哪个 iptables 命令可以列出所有规则,并显示每个规则在链中的位置的行号?
iptables -L –line-numbers
192、编写一条 iptables(IPv4)规则,用于静默阻止来自 10.10.0.10 的传入 SMTP 连接。
# iptables -A INPUT -s 10.10.0.10 -p tcp --dport 25 -j DROP
193、如何指示 Apache 服务器监听端口 81 而不是端口 80?
在 Apache 的配置文件
httpd.conf
中添加或修改
Listen
指令,将其设置为:
Listen 81
194、如何让 Sam 从他的 ~/website 目录发布网页,同时禁止其他任何人向网络发布内容?
可以使用以下 Apache 指令来实现:
UserDir disabled
UserDir enabled sam
UserDir website
第一条指令禁止所有用户发布内容;
第二条指令允许 Sam 发布内容;
第三条指令指定 Sam 家目录下的
website
目录为发布目录。
195、Apache必须以root权限启动。为什么?为什么这样做不会带来安全风险?
Apache必须以
root
权限启动,是因为它要在特权端口(如TCP端口80和443)上提供服务。而这样做不会带来安全风险,是因为Fedora/RHEL将Apache设置为生成以用户和组
apache
身份运行的进程,即Apache的子进程(服务器)以非特权用户身份运行,以此保障系统安全。