LINUX系统管理白皮书 第8章 — 各种网络应用
原始路径: /田浩然上传的资料/电子书/Linux/LINUX系统管理白皮书/LINUX系统管理白皮书/008.PDF 提取时间: 2026-09-21 大小: 298KB 提取方式: pdftotext(pdf-inspector解析失败)
核心概述
本章是《LINUX系统管理白皮书》的第8章,主要讨论如何配置各种网络应用服务,包括inetd超级服务器、tcpd访问控制工具、服务和协议文件以及远程过程调用(RPC)。
主要内容
8.1 inetd超级服务器
- 问题:每个daemon都需要在端口监听,浪费系统资源(交换空间)
- 解决方案:使用”超级服务器”(super-server)创建套接字,用select()同步监听所有服务
- inetd:最常用的超级服务器,启动时读取
/etc/inetd.conf
inetd.conf条目格式:
service type protocol wait user server cmdline
| 字段 | 含义 |
|---|---|
| service | 服务名,在/etc/services中查找端口号 |
| type | stream(TCP)或dgram(UDP) |
| protocol | 传输协议名 |
| wait | 仅dgram有效,wait=单线程,nowait=多线程 |
| user | 进程执行的用户ID(通常root) |
| server | 服务器程序完整路径 |
| cmdline | 传给服务器的命令行参数 |
8.2 tcpd访问控制工具
- 作用:Wietse Venema编写的”daemon封装器”,用于监控和保护TCP服务
- 工作原理:拦截请求 → 记入系统日志 → 检查
/etc/hosts.allow和/etc/hosts.deny→ 允许后才执行真正服务器 - 不适用于UDP服务
访问控制文件格式:
servicelist: hostlist [:shellcmd]
关键字:
ALL:所有主机LOCAL:不含句点的主机名UNKNOWN:无法解析地址的主机.domain.com:匹配该域下所有主机
安全建议:
- 禁用finger服务(防止用户名泄露)
- 限定tftp可访问目录(防止passwd等敏感文件被下载)
- 在hosts.deny中添加:
in.tftpd, in.fingerd: ALL EXCEPT LOCAL, .your.domain
8.3 服务和协议文件
/etc/services:服务名→端口号映射/etc/protocols:协议名→协议编号映射
8.4 远程过程调用(RPC)
- 由Sun微系统开发
- NFS和NIS基于RPC实现
- 支持多版本接口(同时提供多个版本兼容性)
- 每个程序有唯一程序编号,保存在
/etc/rpc
实践要点
- 使用tcpd封装需要访问控制的服务
- 将不常用服务(finger、tftp)在inetd.conf中注释掉
- 合理配置hosts.allow/hosts.deny实现白名单/黑名单机制
- 通过shellcmd字段可布置诱饵(honeypot)