Linux系统管理技术手册(第二版) 中文译版

qq_33905915 62 0 PDF 2018-12-09 06:12:13

###支持请购买正版书籍### 内容提要: 本书延续了本书前一版以及《UNIX系统管理技术手册》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3个方面分别介绍。第1部分全面介绍了运行单机Linux系统涉及的各种管理知识和技术,如系统引导和关机、进程控制、文件系统管理、用户管理、设备管理、系统备份、软件配置以及cron和系统日志的管理使用等。第2部分从详细讲解TCP/IP协议基本原理开始,深入讨论了网络的两大基本应用——域名系统和路由技术,然后逐章讲解Linux上的各种Internet关键应用,如电子邮件、NFS、文件共享、Web和Internet服务,在这部分里还有专门的章节介绍网络硬件、网络管理与调试以及系统安全。第3部分包括了多种不容忽视的重要主题:X窗口系统、打印系统、系统维护与环境、性能分析、与系统的协作、串行设备、操作系统驱动程序和内核、系统 守护进程以及政策与行政管理方面的知识等。   本书的几位作者是分别来自学术界、企业界以及职业培训领域的Linux/UNI X系统管理专家,这使得本书从第一版开始,即成为全面、深入而且颇富实用性的Linux系统管理权威参考书。本书适合于从Linux初学者到具有丰富经验的Linux专业技术人员使用。 第一部分 基本管理技术 1 第1章 从何处入手 2 1.1 读者的知识背景 2 1.2 Linux同UNIX的关系 3 1.3 历史上的Linux 4 1.4 Linux的发行版本 4 1.4.1 最好的发行版本是什么 6 1.4.2 特定于发行版本的系统管理工具 7 1.5 表示法和印刷约定 7 1.6 从哪里获得信息 8 1.6.1 手册页的组织 9 1.6.2 man:读取手册页 10 1.6.3 其他的Linux信息资源 10 1.7 如何找到和安装软件 11 1.8 系统管理员的基本任务 12 1.8.1 增加、删除以及管理用户账号 12 1.8.2 增删硬件 13 1.8.3 执行备份 13 1.8.4 安装和更新软件 13 1.8.5 监视系统 13 1.8.6 故障诊断 13 1.8.7 维护本地文档 13 1.8.8 时刻警惕系统安全 14 1.8.9 帮助用户 14 1.9 重压下的系统管理员 14 1.10 推荐读物 15 1.11 习题 15 第2章 引导和关机 17 2.1 引导 17 2.1.1 自动引导和手工引导 18 2.1.2 引导过程的步骤 18 2.1.3 初始化内核 18 2.1.4 配置硬件 18 2.1.5 内核线程 19 2.1.6 操作员干预(仅限手工引导) 19 2.1.7 执行启动脚本 20 2.1.8 多用户运行 20 2.2 引导PC 20 2.3 引导加载程序:LILO和GRUB 21 2.3.1 GRUB:全面统一的引导加载程序 21 2.3.2 LILO:传统的Linux引导加载程序 22 2.3.3 内核选项 23 2.3.4 PC上的多重引导 24 2.3.5 GRUB的多重引导配置 24 2.3.6 LILO的多重引导配置 25 2.4 引导单用户模式 25 2.4.1 用GRUB引导单用户模式 26 2.4.2 用LILO引导单用户模式 26 2.5 启动脚本 26 2.5.1 init和运行级 27 2.5.2 Red Hat和Fedora的启动脚本 29 2.5.3 SUSE的启动脚本 30 2.5.4 Debian和Ubuntu的启动脚本 32 2.6 重新引导和关机 32 2.6.1 关闭电源 33 2.6.2 shutdown:停止系统的妥善方式 33 2.6.3 halt:关闭系统的更简单方式 33 2.6.4 reboot:快速的重新启动 34 2.6.5 telinit:改变init的运行级 34 2.6.6 Poweroff:请Linux关闭电源 34 2.7 习题 34 第3章 超级用户的权力 36 3.1 文件和进程的归属关系 36 3.2 超级用户 37 3.3 选择root的口令 38 3.4 成为root用户 39 3.4.1 su:替换用户身份 39 3.4.2 sudo:受限的su 39 3.5 其他的伪用户 41 3.5.1 bin:系统命令的老属主 42 3.5.2 daemon:无特权系统软件的属主 42 3.5.3 nobody:普通NFS用户 42 3.6 习题 42 第4章 进程控制 43 4.1 进程的组成部分 43 4.1.1 PID:进程的ID号 44 4.1.2 PPID:父PID 44 4.1.3 UID和EUID: 真实的和有效的用户ID 44 4.1.4 GID和EGID:真实的和有效的组ID 45 4.1.5 谦让度 45 4.1.6 控制终端 45 4.2 进程的生命周期 45 4.3 信号 46 4.4 KILL和KILLALL: 发送信号 48 4.5 进程的状态 49 4.6 nice和renice: 影响调度优先级 50 4.7 PS:监视进程 50 4.8 TOP:更好地监视进程 52 4.9 /PROC文件系统 53 4.10 STRACE:追踪信号和系统调用 54 4.11 失控进程 54 4.12 推荐读物 56 4.13 习题 56 第5章 文件系统 57 5.1 路径名称 58 5.2 安装和卸载文件系统 59 5.3 文件树的组织 60 5.4 文件类型 62 5.4.1 普通文件 63 5.4.2 目录 63 5.4.3 字符设备文件和块设备文件 64 5.4.4 本地域套接口 65 5.4.5 有名管道 65 5.4.6 符号链接 65 5.5 文件属性 66 5.5.1 权限位 66 5.5.2 setuid和setgid位 66 5.5.3 粘附位 67 5.5.4 查看文件属性 67 5.5.5 chmod:改变权限 68 5.5.6 chown:改变归属关系和组 69 5.5.7 umask:分配默认的权限 70 5.5.8 额外的标志 70 5.6 访问控制列表 71 5.6.1 ACL概述 72 5.6.2 默认项 74 5.7 习题 74 第6章 添加新用户 76 6.1 /etc/passwd文件 76 6.1.1 登录名 77 6.1.2 加密的口令 78 6.1.3 UID号 78 6.1.4 默认的GID号 79 6.1.5 GECOS字段 79 6.1.6 主目录 80 6.1.7 登录shell 80 6.2 /etc/shadow文件 80 6.3 /etc/group文件 82 6.4 添加用户 83 6.4.1 编辑passwd和shadow文件 84 6.4.2 编辑/etc/group文件 84 6.4.3 设置初始口令 85 6.4.4 创建用户的主目录 85 6.4.5 复制默认启动文件 85 6.4.6 设置用户的邮件主目录 86 6.4.7 验证新的登录 87 6.4.8 记录用户的状态和联系信息 87 6.5 删除用户 87 6.6 禁止登录 88 6.7 账号管理工具 88 6.8 习题 89 第7章 增加硬盘 91 7.1 硬盘接口 91 7.1.1 PATA接口 92 7.1.2 SATA接口 93 7.1.3 SCSI接口 93 7.1.4 SCSI和IDE的比较 96 7.2 硬盘的几何结构 96 7.3 Linux文件系统 98 7.3.1 ext2fs和ext3fs 98 7.3.2 ReiserFS 98 7.3.3 XFS和JFS 99 7.4 硬盘安装过程概述 99 7.4.1 连接硬盘 99 7.4.2 格式化硬盘 100 7.4.3 标记硬盘和硬盘分区 100 7.4.4 在硬盘分区内创建文件系统 101 7.4.5 安装文件系统 102 7.4.6 设置自动安装 103 7.4.7 启用交换分区 104 7.5 hdparm:设置IDE接口参数 104 7.6 fsck: 检查和修复文件系统 106 7.7 向Linux增加硬盘:一步步的指导 108 7.8 高级硬盘管理:RAID和LVM 112 7.8.1 Linux的软RAID 112 7.8.2 管理逻辑卷 113 7.8.3 配置LVM和RAID的例子 113 7.8.4 处理故障硬盘 117 7.8.5 重新分配存储空间 118 7.9 安装USB设备 119 7.10 习题 120 第8章 周期性进程 122 8.1 cron:按时间表执行命令 122 8.2 crontab文件的格式 123 8.3 crontab管理 124 8.4 cron的常见用途 125 8.4.1 清理文件系统 125 8.4.2 配置文件的网络分布 126 8.4.3 循环日志文件 127 8.5 其他的日程安排程序:ANACRON和FCRON 127 8.6 习题 127 第9章 备份 129 9.1 备份基本原理 130 9.1.1 从一台机器执行所有的转储 130 9.1.2 给备份介质加卷标 130 9.1.3 选择合理的备份间隔 130 9.1.4 仔细选择文件系统 130 9.1.5 在一卷磁带上做日常转储 131 9.1.6 使文件系统小于转储设备 131 9.1.7 异地保存磁带 131 9.1.8 保护备份 132 9.1.9 执行转储期间限制活动 132 9.1.10 检查磁带 132 9.1.11 发掘磁带的寿命 133 9.1.12 为备份而设计数据 133 9.1.13 作最坏的准备 133 9.2 备份设备和介质 133 9.2.1 光盘:CD-R/RW、DVD±R/RW和DVD-RAM 134 9.2.2 可移动硬盘(USB和火线) 135 9.2.3 小型磁带机:8毫米磁带和DDS/DAT 135 9.2.4 DLT和S-DLT 135 9.2.5 AIT和SAIT 135 9.2.6 VXA和VXA-X 136 9.2.7 LTO 136 9.2.8 自动选带机、自动换带机以及磁带库 136 9.2.9 硬盘 137 9.2.10 介质类型小结 137 9.2.11 设备选型 137 9.3 用dump建立增量备份机制 138 9.3.1 转储文件系统 138 9.3.2 转储顺序 140 9.4 用restore从转储中恢复 141 9.4.1 恢复单个文件 141 9.4.2 恢复整个文件系统 142 9.5 为系统升级而执行转储和恢复 143 9.6 使用其他存档程序 144 9.6.1 tar: 给文件打包 144 9.6.2 cpio:古老的存档工具 144 9.6.3 dd:处理位流 145 9.7 在一卷磁带上使用多个文件 145 9.8 Bacula 146 9.8.1 Bacula的模型 146 9.8.2 设置Bacula 147 9.8.3 安装数据库和Bacula的守护进程 148 9.8.4 配置Bacula的守护进程 148 9.8.5 bacular-dir.conf:配置控制文件 148 9.8.6 bacula-sd.conf:配置存储守护进程 152 9.8.7 bconsole.conf:配置控制台 152 9.8.8 安装和配置客户端的文件守护进程 153 9.8.9 启动Bacula的守护进程 154 9.8.10 向存储池添加介质 154 9.8.11 执行一次手工备份 154 9.8.12 执行一次恢复工作 156 9.8.13 监视和调试Bacula的配置 158 9.8.14 Bacula的替换工具 160 9.9 商用备份产品 160 9.9.1 ADSM/TSM 160 9.9.2 Veritas 161 9.9.3 其他选择 161 9.10 推荐读物 161 9.11 习题 161 第10章 系统日志与日志文件 163 10.1 日志记录的策略 163 10.1.1 扔掉日志文件 163 10.1.2 轮换日志文件 164 10.1.3 存档日志文件 165 10.2 Linux的日志文件 165 10.2.1 特殊的日志文件 167 10.2.2 内核和启动日志 167 10.3 logrotate: 管理日志文件 168 10.4 syslog:系统事件的日志程序 170 10.4.1 syslog的其他替代方案 170 10.4.2 syslog的体系结构 170 10.4.3 配置syslogd 171 10.4.4 设计站点日志方案 173 10.4.5 配置文件举例 174 10.4.6 syslog输出的样本 175 10.4.7 使用syslog的软件 176 10.4.8 调试syslog 177 10.4.9 在程序中使用syslog 177 10.5 分析日志文件 178 10.6 习题 179 第11章 软件和配置管理 181 11.1 Linux基本安装 181 11.1.1 从网络引导PC 182 11.1.2 为Linux设置PXE 183 11.1.3 非PC的网络引导 183 11.1.4 Kickstart:RHEL和Fedora的自动安装程序 184 11.1.5 AutoYaST:SUSE的自动安装工具 186 11.1.6 Debian和Ubuntu的安装程序 186 11.1.7 从主控系统安装 187 11.2 无盘客户机 188 11.3 软件包管理 189 11.3.1 软件包管理系统 189 11.3.2 rpm:管理RPM软件包 190 11.3.3 dpkg:管理Debian的软件包 191 11.4 高级软件包管理系统 191 11.4.1 软件包的库 192 11.4.2 RHN:Red Hat网络 193 11.4.3 APT:高级软件包工具 194 11.4.4 配置apt-get 195 11.4.5 /etc/apt/sources.list文件的例子 195 11.4.6 使用代理扩展apt-get 196 11.4.7 设置内部APT服务器 196 11.4.8 自动执行apt-get 197 11.4.9 yum:管理RPM的发布 198 11.5 版本控制 198 11.5.1 创建备份文件 199 11.5.2 正式的版本控制系统 199 11.5.3 RCS:版本控制系统 200 11.5.4 CVS:并发版本系统 202 11.5.5 Subversion:做得好的CVS 203 11.6 本地化和配置 205 11.6.1 本地化的组织 206 11.6.2 测试 206 11.6.3 本地编译软件 207 11.6.4 发布本地软件 208 11.6.5 解决时间安排上的问题 208 11.7 配置管理工具 208 11.7.1 cfengine:计算机免疫系统 209 11.7.2 LCFG:大规模配置系统 209 11.7.3 Arusha项目(ARK) 209 11.7.4 Template Tree 2:cfengine的帮手 210 11.7.5 DMTF/CIM:公共信息模型 210 11.8 通过NFS共享软件 211 11.8.1 软件包的名字空间 211 11.8.2 依赖关系的管理 212 11.8.3 封装脚本 212 11.8.4 实现工具 212 11.9 推荐软件 213 11.10 推荐读物 214 11.11 习题 215 第二部分 网络管理技术 216 第12章 TCP/IP网络 217 12.1 TCP/IP和Internet 218 12.1.1 简要的历史回顾 218 12.1.2 当今Internet的管理方法 219 12.1.3 网络标准和文献 219 12.2 连网技术概述 220 12.3 分组和封装 221 12.3.1 链路层 222 12.3.2 包的寻址方式 223 12.3.3 端口 224 12.3.4 地址类型 224 12.4 IP地址详解 225 12.4.1 IP地址分类 225 12.4.2 子网和网络掩码 225 12.4.3 IP地址危机 227 12.4.4 CIDR:无类域间路由 228 12.4.5 地址分配 230 12.4.6 私用地址和NAT 230 12.4.7 IPv6寻址方式 232 12.5 路由选择 233 12.5.1 路由表 233 12.5.2 ICMP重定向 234 12.6 ARP:地址解析协议 235 12.7 将一台加入网络 236 12.7.1 分配名和IP地址 237 12.7.2 ifconfig:配置网络接口 238 12.7.3 mii-tool: 配置自动协商和其他介质特有的选项 240 12.7.4 route:配置静态路由 240 12.7.5 默认路由 242 12.7.6 配置DNS 242 12.7.7 Linux连网协议栈 243 12.8 特定于发行版本的网络配置 243 12.8.1 Red Hat和Fedora的网络配置 244 12.8.2 SUSE的网络配置 245 12.8.3 Debian和Ubuntu的网络配置 246 12.9 DHCP:动态配置协议 246 12.9.1 DHCP软件 247 12.9.2 DHCP的工作方式 247 12.9.3 ISC的DHCP服务器 248 12.10 Linux的动态重新配置和调整 249 12.11 安全问题 250 12.11.1 IP转发 251 12.11.2 ICMP重定向 251 12.11.3 源路由 251 12.11.4 广播ping和其他形式的定向广播 251 12.11.5 IP欺骗 251 12.11.6 基于的防火墙 252 12.11.7 虚拟私用网络 252 12.11.8 与安全有关的内核变量 253 12.12 Linux的NAT 253 12.13 PPP:点对点协议 254 12.13.1 解决PPP的性能问题 254 12.13.2 用PPP连网 254 12.13.3 让使用PPP 254 12.13.4 控制PPP链路 255 12.13.5 分配地址 255 12.13.6 路由选择 255 12.13.7 确保安全性 255 12.13.8 使用对话脚本 256 12.13.9 Linux上的PPP配置 256 12.14 Linux连网配置的特殊之处 261 12.15 推荐读物 262 12.16 习题 263 第13章 路由选择 265 13.1 近观包转发 266 13.2 路由守护进程和路由协议 268 13.2.1 距离向量协议 268 13.2.2 链路状态协议 269 13.2.3 代价度量 269 13.2.4 内部和外部协议 270 13.3 内部路由协议巡礼 270 13.3.1 RIP:路由信息协议 270 13.3.2 RIP-2:路由选择信息协议第2版 271 13.3.3 OSPF:开放最短路径优先 271 13.3.4 IGRP和EIGRP:内部网关路由协议 271 13.3.5 IS-IS:ISO的“标准” 271 13.3.6 MOSPF、DVMRP和PIM:多播路由协议 272 13.3.7 路由器发现协议 272 13.4 routed:使用RIP的路由守护进程 272 13.5 gated:更好的路由守护进程 273 13.6 路由策略的选择标准 273 13.7 Cisco路由器 274 13.8 推荐读物 276 13.9 习题 276 第14章 网络硬件 278 14.1 选择LAN、WAN、还是MAN 278 14.2 以太网:常见的局域网 279 14.2.1 以太网的工作方式 280 14.2.2 以太网拓扑结构 280 14.2.3 无屏蔽双绞线 281 14.2.4 连接和扩展以太网 282 14.3 无线:流动人士的LAN 284 14.3.1 无线网络的安全 285 14.3.2 无线交换机 286 14.4 FDDI:令人失望且昂贵的局域网 286 14.5 ATM:有前途的(但被痛苦地击败的)LAN 287 14.6 帧中继:被牺牲掉的WAN 288 14.7 ISDN:本土上的WAN 288 14.8 DSL和CM:大众的WAN 289 14.9 网络的前景 289 14.10 网络测试和调试 290 14.11 建筑物布线 290 14.11.1 UTP电缆的选择 290 14.11.2 到办公室的连接 291 14.11.3 布线标准 291 14.12 网络设计问题 292 14.12.1 网络结构与建筑物结构 292 14.12.2 现成的网络 292 14.12.3 扩展 292 14.12.4 拥塞 293 14.12.5 维护和建档 293 14.13 管理问题 293 14.14 推荐的厂商 294 14.14.1 电缆和连接器 294 14.14.2 测试仪器 294 14.14.3 路由器/交换机 294 14.15 推荐读物 295 14.16 习题 295 第15章 域名系统 296 15.1 DNS速成:添加新机器 297 15.2 DNS的历史 298 15.2.1 BIND的实现 298 15.2.2 其他的DNS实现 298 15.3 谁需要DNS 299 15.4 DNS名字空间 300 15.4.1 域名管理 302 15.4.2 选择域名 303 15.4.3 域名爆炸 303 15.4.4 注册二级域名 303 15.4.5 创建子域 304 15.5 DNS的工作原理 304 15.5.1 授权 304 15.5.2 缓存和效率 305 15.5.3 扩展的DNS协议 306 15.6 DNS的新特性 306 15.7 DNS数据库 308 15.7.1 资源记录 308 15.7.2 SOA记录 310 15.7.3 NS记录 312 15.7.4 A记录 313 15.7.5 PTR记录 313 15.7.6 MX记录 314 15.7.7 CNAME记录 316 15.7.8 巧用CNAME 316 15.7.9 LOC记录 317 15.7.10 SRV记录 318 15.7.11 TXT记录 319 15.7.12 IPv6资源记录 320 15.7.13 IPv6正向记录 320 15.7.14 IPv6反向记录 320 15.7.15 与安全有关的记录 321 15.7.16 区文件中的命令 321 15.7.17 粘合记录:区之间的链接 322 15.8 BIND软件 324 15.8.1 BIND的版本 324 15.8.2 确定现有的BIND版本 324 15.8.3 BIND的组成 326 15.8.4 named: BIND的名字服务器 326 15.8.5 权威与仅缓存服务器 326 15.8.6 递归和非递归服务器 327 15.8.7 解析器库例程 328 15.8.8 DNS的shell接口 328 15.9 设计DNS环境 328 15.9.1 名字空间管理 329 15.9.2 权威服务器 329 15.9.3 缓存服务器 330 15.9.4 安全 330 15.9.5 总结 330 15.9.6 DNS/BIND管理工作分析 331 15.10 BIND客户机问题 331 15.10.1 配置解析器 331 15.10.2 测试解析器 332 15.10.3 对系统其余部分的影响 332 15.11 配置BIND服务器 333 15.11.1 硬件要求 333 15.11.2 配置文件 333 15.11.3 include语句 335 15.11.4 options语句 335 15.11.5 acl语句 340 15.11.6 key语句 340 15.11.7 trusted-keys语句 340 15.11.8 语句 341 15.11.9 masters语句 342 15.11.10 logging语句 342 15.11.11 zone语句 342 15.11.12 controls语句 345 15.11.13 分离式DNS和view语句 346 15.12 BIND配置举例 347 15.12.1 localhost区 348 15.12.2 一家小型的安全 349 15.12.3 ISC 352 15.13 启动named 353 15.14 更新区文件 354 15.14.1 区传送 354 15.14.2 动态更新 355 15.15 安全问题 357 15.15.1 再谈访问控制列表 357 15.15.2 限制named 359 15.15.3 使用TSIG和TKEY保障服务器与服务器之间通信的安全 359 15.15.4 DNSSEC 361 15.15.5 否定回答 367 15.15.6 微软和DNS 367 15.16 测试和调试 369 15.16.1 日志功能 369 15.16.2 日志配置样例 372 15.16.3 调试级别 373 15.16.4 用rndc调试 373 15.16.5 BIND统计 374 15.16.6 用dig调试 375 15.16.7 残缺授权 376 15.16.8 doc:域名模糊控制 377 15.16.9 其他DNS检查工具 378 15.16.10 性能问题 379 15.17 发行版本的特定信息 379 15.18 推荐读物 381 15.18.1 邮件列表和新闻组 381 15.18.2 书籍和其他文档 381 15.18.3 网上资源 382 15.18.4 RFC 382 15.19 习题 382 第16章 网络文件系统 383 16.1 NFS概述 383 16.1.1 NFS协议的版本 383 16.1.2 传输协议的选择 384 16.1.3 文件上锁机制 384 16.1.4 磁盘配额 385 16.1.5 cookies与无状态安装 385 16.1.6 共享文件系统的命名规则 385 16.1.7 安全性与NFS 385 16.1.8 root访问与nobody账号 386 16.2 服务器端NFS 387 16.2.1 exports文件 387 16.2.2 nfsd:提供文件服务 389 16.3 客户端NFS 389 16.3.1 在启动时安装远程文件系统 391 16.3.2 端口安全限制 392 16.4 nfsstat:转储NFS统计信息 392 16.5 专用NFS文件服务器 392 16.6 自动安装 393 16.6.1 automount:根据需要安装文件系统 394 16.6.2 主控文件 394 16.6.3 映射文件 395 16.6.4 可执行的映射文件 395 16.7 推荐读物 396 16.8 习题 396 第17章 共享系统文件 397 17.1 共享什么 398 17.2 nscd:缓存查找的结果 399 17.3 把文件复制到各处 399 17.3.1 rdist:推文件 400 17.3.2 rsync:更安全地传输文件 401 17.3.3 拉文件 403 17.4 NIS:网络信息服务 404 17.4.1 NIS的工作方式 405 17.4.2 NIS的优缺点 406 17.4.3 制订管理信息源的优先级 407 17.4.4 网络组 408 17.4.5 建立NIS域 409 17.5 LDAP:轻量级目录访问协议 411 17.5.1 LDAP数据的结构 411 17.5.2 LDAP的特点 412 17.5.3 LDAP的文档和规范 413 17.5.4 OpenLDAP:Linux的LDAP 413 17.5.5 用LDAP代替NIS 414 17.5.6 LDAP和安全 415 17.6 推荐读物 415 17.7 习题 415 第18章 电子邮件 416 18.1 邮件系统 418 18.1.1 用户代理 419 18.1.2 传输代理 419 18.1.3 投递代理 420 18.1.4 消息库 420 18.1.5 访问代理 420 18.1.6 邮件提交代理 420 18.2 剖析邮件消息 421 18.2.1 邮件寻址 421 18.2.2 阅读邮件信头 422 18.3 邮件基本原理 425 18.3.1 使用邮件服务器 426 18.3.2 使用邮件之家 427 18.3.3 使用IMAP或POP 427 18.4 邮件别名 428 18.4.1 从文件中获取邮递列表 430 18.4.2 发邮件给文件 430 18.4.3 发邮件给程序 431 18.4.4 别名举例 431 18.4.5 邮件转发 432 18.4.6 散列的别名数据库 433 18.5 邮递列表和实现清单的软件 434 18.5.1 维护邮递列表的软件包 434 18.5.2 LDAP:轻量级目录访问协议 436 18.6 sendmail:电子邮件的指挥 438 18.6.1 sendmail的版本 439 18.6.2 从sendmail.org安装sendmail 439 18.6.3 在Debian和Ubuntu系统上安装sendmail 442 18.6.4 开关文件 442 18.6.5 运行模式 442 18.6.6 邮件队列 443 18.7 sendmail的配置 445 18.7.1 使用m4预处理器 445 18.7.2 sendmail的配置片段 446 18.7.3 从.mc样板文件构建配置文件 447 18.7.4 改变sendmail的配置 448 18.8 sendmail基本配置原语 448 18.8.1 VERSIONID宏 448 18.8.2 OSTYPE宏 449 18.8.3 DOMAIN宏 450 18.8.4 MAILER宏 451 18.9 sendmail高级配置原语 451 18.9.1 FEATURE宏 452 18.9.2 use_cw_file功能 452 18.9.3 redirect功能 452 18.9.4 always_add_domain功能 453 18.9.5 nocanonify功能 453 18.9.6 表和数据库 454 18.9.7 mailertable功能 455 18.9.8 genericstable功能 455 18.9.9 virtusertable功能 456 18.9.10 ldap_routing功能 456 18.9.11 伪装和MASQUERADE_AS宏 457 18.9.12 MAIL_HUB和SMART_HOST宏 459 18.9.13 伪装和路由 459 18.9.14 nullclient功能 460 18.9.15 local_lmtp和smrsh功能 460 18.9.16 local_procmail功能 461 18.9.17 LOCAL_*宏 461 18.9.18 配置选项 461 18.10 sendmail中与垃圾邮件相关的功能 463 18.10.1 中继转发 464 18.10.2 访问数据库 465 18.10.3 把用户或站点列入黑名单 467 18.10.4 信头检查 468 18.10.5 速率和连接限制 469 18.10.6 Slamming 470 18.10.7 邮件过滤 470 18.10.8 处理垃圾邮件 471 18.10.9 SpamAssassin 471 18.10.10 SPF和Sender ID 471 18.11 配置文件举例 472 18.11.1 sendmail.com的邮件客户机 472 18.11.2 sendmail.com的邮件 473 18.12 安全与sendmail 475 18.12.1 所有权 475 18.12.2 权限 476 18.12.3 发到文件和程序的可靠邮件 477 18.12.4 隐私选项 477 18.12.5 运行chroot后的sendmail 478 18.12.6 拒绝服务攻击 479 18.12.7 伪造 479 18.12.8 消息的隐私 480 18.12.9 SASL:简单的身份验证和安全层 480 18.13 sendmail的性能 481 18.13.1 投递方式 481 18.13.2 队列分组和信封分割 481 18.13.3 队列运行器 482 18.13.4 负载均衡控制 483 18.13.5 队列中无法投递的消息 483 18.13.6 内核调优 484 18.14 sendmail的统计信息、测试和调试 484 18.14.1 测试和调试 485 18.14.2 啰嗦的投递 486 18.14.3 用SMTP通信 487 18.14.4 队列监视 487 18.14.5 日志机制 488 18.15 Exim邮件系统 489 18.15.1 历史 489 18.15.2 Linux上的Exim 489 18.15.3 配置Exim 490 18.15.4 Exim和sendmail的相似之处 490 18.16 Postfix邮件系统 491 18.16.1 Postfix体系结构 491 18.16.2 接收邮件 492 18.16.3 邮件队列管理器 492 18.16.4 发邮件 492 18.16.5 安全 492 18.16.6 Postfix命令和文档 493 18.16.7 配置Postfix 493 18.16.8 main.cf的内容 493 18.16.9 基本设置 494 18.16.10 使用postconf 494 18.16.11 查找表 495 18.16.12 本地投递 496 18.16.13 虚拟域 496 18.16.14 虚拟别名域 497 18.16.15 虚拟邮箱域 497 18.16.16 访问控制 498 18.16.17 访问表 499 18.16.18 客户机身份验证 500 18.16.19 反垃圾邮件和病毒 500 18.16.20 黑洞列表 501 18.16.21 SpamAssassin和promail 501 18.16.22 策略守护进程 502 18.16.23 内容过滤 502 18.16.24 调试 502 18.16.25 查看邮件队列 503 18.16.26 soft_bounce 503 18.16.27 测试访问控制 503 18.17 推荐读物 504 18.18 习题 505 第19章 网络管理和调试 507 19.1 网络故障的检测 508 19.2 ping:检查是否正常 508 19.3 traceroute:跟踪IP包 510 19.4 netstat:获得网络统计信息 511 19.4.1 检查接口的配置信息 512 19.4.2 监视网络连接的状态 513 19.4.3 标识正在监听的网络服务 513 19.4.4 检查路由表 514 19.4.5 查看各种网络协议运行的统计信息 514 19.5 SAR:检查工作接口的活动 515 19.6 包探测器 516 19.6.1 tcpdump:探测器之王 517 19.6.2 Wireshark:可视化的探测器 517 19.7 网络管理协议 518 19.8 SNMP:简单网络管理协议 519 19.8.1 SNMP的组织结构 519 19.8.2 SNMP协议操作 520 19.8.3 RMON:远程监视MIB 520 19.9 NET-SNMP代理程序 521 19.10 网络管理应用程序 522 19.10.1 NET-SNMP工具 522 19.10.2 SNMP数据的采集和绘图 523 19.10.3 Nagios:基于事件的SNMP和服务监视工具 524 19.10.4 商业管理平台 524 19.11 推荐读物 525 19.12 习题 525 第20章 安全 527 20.1 Linux安全吗 528 20.2 安全性是如何受损害的 529 20.2.1 社交工程 529 20.2.2 软件漏洞 529 20.2.3 配置错误 530 20.3 认证和标准 530 20.3.1 认证 531 20.3.2 标准 531 20.4 安全的技巧和思想 532 20.4.1 包过滤 532 20.4.2 不必要的服务 533 20.4.3 软件补丁 533 20.4.4 备份 533 20.4.5 口令 533 20.4.6 警惕性 533 20.4.7 普遍原则 533 20.5 /etc/passwd和/etc/shadow文件里的安全问题 534 20.5.1 口令的检查和选择 534 20.5.2 口令时限 535 20.5.3 组登录名和共享登录名 535 20.5.4 用户的shell 535 20.5.5 获得root权限的办法 535 20.5.6 PAM:验证奇才 536 20.6 POSIX能力 537 20.7 setuid程序 537 20.8 重要文件的权限 538 20.9 形形色色的安全事务 538 20.9.1 远程事件日志 538 20.9.2 安全终端 539 20.9.3 /etc/hosts.equiv和~/.rhosts 539 20.9.4 安全与NIS 539 20.9.5 安全与NFS 539 20.9.6 安全与sendmail 540 20.9.7 安全与备份 540 20.9.8 病毒与蠕虫 540 20.9.9 特洛伊木马 540 20.9.10 Rootkits 541 20.10 加强安全的工具 541 20.10.1 Nmap:扫描网络端口 541 20.10.2 Nessus:下一代的网络扫描程序 543 20.10.3 John the Ripper:找出不安全的口令 543 20.10.4 hosts_acces:访问控制 544 20.10.5 Samhain:基于的入侵检测 544 20.10.6 SELinux 545 20.11 加密的安全工具 546 20.11.1 Kerberos:用于网络安全的统一方法 547 20.11.2 PGP:很好的私密性 547 20.11.3 SSH:安全的shell 548 20.11.4 一次性口令 549 20.11.5 Stunnel 549 20.12 防火墙 551 20.12.1 包过滤防火墙 551 20.12.2 如何过滤服务 551 20.12.3 服务代理防火墙 552 20.12.4 状态检查防火墙 552 20.12.5 防火墙保险吗 553 20.13 Linux的防火墙功能: IP Tables 553 20.14  556 20.14.1 IPsec隧道 557 20.14.2 够用吗 557 20.15 强化安全的Linux发行版本 557 20.16 如何对付站点攻击 558 20.17 安全信息的来源 559 20.17.1 CERT:卡内基梅隆大学的注册服务商标 559 20.17.2 Security Focus.com和BugTraq邮递列表 559 20.17.3 Crypto-Gram时事通信 560 20.17.4 SANS:系统管理、网络和安全协会 560 20.17.5 特定发行版本的安全资源 560 20.17.6 其他邮递列表和网站 560 20.18 推荐读物 561 20.19 习题 562 第21章 Web和Internet服务器 564 21.1 Web的基本知识 564 21.1.1 统一资源定位符 565 21.1.2 HTTP工作原理 565 21.1.3 CGI脚本:即时生成内容 566 21.1.4 负载平衡 567 21.2 HTTP服务程序的安装 567 21.2.1 选择服务器软件 568 21.2.2 安装Apache 568 21.2.3 配置Apache 569 21.2.4 运行Apache 570 21.2.5 分析日志文件 570 21.2.6 高性能的静态内容 570 21.3 虚拟接口 570 21.3.1 使用基于名字的虚拟 571 21.3.2 配置虚拟接口 571 21.3.3 告诉Apache有关虚拟接口的信息 572 21.4 SSL 573 21.4.1 产生签发证书的请求 573 21.4.2 配置Apache使用SSL 574 21.5 缓存和代理服务程序 575 21.5.1 Squid缓存和代理服务器 575 21.5.2 设置Squid 576 21.6 匿名FTP服务程序的设置 576 21.7 习题 577 第三部分 其他管理技术 578 第22章 X窗口系统 579 22.1 X显示管理器 580 22.2 运行一个X应用程序 581 22.2.1 环境变量DISPLAY 581 22.2.2 客户机身份验证 582 22.2.3 用SSH转发X连接 583 22.3 配置X服务器 585 22.3.1 Device段 586 22.3.2 Monitor段 586 22.3.3 Screen段 587 22.3.4 InputDevice段 587 22.3.5 ServerLayout段 588 22.4 故障排查和调试 589 22.4.1 X的特殊键盘组合 589 22.4.2 正常X服务器出问题 590 22.5 桌面环境简述 591 22.5.1 KDE 592 22.5.2 GNOME 592 22.5.3 KDE和GNOME谁更好 593 22.6 推荐读物 593 22.7 习题 593 第23章 打印 594 23.1 复杂的打印机 595 23.2 打印机的语言 595 23.2.1 PostScript 596 23.2.2 PCL 596 23.2.3 PDF 596 23.2.4 XHTML 597 23.2.5 PJL 597 23.2.6 打印机驱动程序及其对PDL的处理 597 23.3 CUPS的体系结构 598 23.3.1 打印文档 599 23.3.2 查看和操控打印队列 599 23.3.3 多台打印机 599 23.3.4 打印机实例 600 23.3.5 网络打印 600 23.3.6 CUPS的支持协议:HTTP 600 23.3.7 PPD文件 601 23.3.8 过滤器 602 23.4 CUPS服务器的管理 603 23.4.1 设置网络打印服务器 604 23.4.2 自动配置打印机 604 23.4.3 配置网络打印机 604 23.4.4 打印机的配置举例 605 23.4.5 设置打印机的类 605 23.4.6 关闭服务 606 23.4.7 其他配置工作 606 23.4.8 纸型 606 23.4.9 兼容性命令 607 23.4.10 常用的打印命令 608 23.4.11 CUPS的文档 609 23.5 故障排查的技巧 609 23.5.1 CUPS的日志 609 23.5.2 直接打印的问题 610 23.5.3 网络打印的问题 610 23.5.4 发行版本特有的问题 610 23.6 实际使用打印机的问题 611 23.6.1 打印机的选择 611 23.6.2 GDI打印机 611 23.6.3 双面打印 611 23.6.4 其他打印机配件 612 23.6.5 串口和并口打印机 612 23.6.6 网络打印机 612 23.7 给打印机的其他建议 612 23.7.1 只在必要时才用标题页 612 23.7.2 提供回收站 613 23.7.3 使用预览程序 613 23.7.4 购买便宜的打印机 613 23.7.5 手头多备墨盒 613 23.7.6 注意单页成本 614 23.7.7 考虑打印机记账 614 23.7.8 保护打印机的安全 615 23.8 KDE的打印功能 615 23.8.1 kprinter:打印文档 616 23.8.2 Konqueror和打印 616 23.9 推荐读物 616 23.10 习题 617 第24章 维护与环境 618 24.1 维护基础 618 24.2 维护合同 619 24.2.1 现场维护 619 24.2.2 板卡更换维护 619 24.2.3 保修 619 24.3 处理电路板的知识 620 24.3.1 静电 620 24.3.2 重插板卡 620 24.4 监视器 620 24.5 内存模块 620 24.6 预防性维护 621 24.7 环境 622 24.7.1 温度 622 24.7.2 湿度 622 24.7.3 办公室降温 622 24.7.4 机房降温 622 24.7.5 温度监视 623 24.8 电源 624 24.9 机架 624 24.10 数据中心标准 624 24.11 工具 625 24.12 推荐读物 626 24.13 习题 626 第25章 性能分析 627 25.1 做什么可以提高性能 628 25.2 影响性能的因素 629 25.3 全面检查系统性能 629 25.3.1 CPU使用情况分析 629 25.3.2 Linux的内存管理 631 25.3.3 内存使用情况分析 633 25.3.4 磁盘I/O分析 634 25.3.5 选择磁盘I/O调度器 635 25.3.6 sar:连续采集和报告统计信息 636 25.3.7 oprofile:全面的剖析器 636 25.4 求助!系统为何越来越慢 637 25.5 推荐读物 638 25.6 习题 638 第26章 同协作 640 26.1 从登录到Linux系统 640 26.2 远程桌面访问 641 26.2.1 在计算机上运行X服务器程序 641 26.2.2 VNC:虚拟网络计算技术 642 26.2.3  RDP:远程桌面协议 642 26.3 运行和类似的应用 643 26.3.1 双重引导 643 26.3.2 另一种选项:OpenOffice.org 644 26.4 在上用命令行工具 644 26.5 遵守电子邮件和Web标准 644 26.6 通过Samba和CIFS共享文件 645 26.6.1 Samba:UNIX的CIFS服务器 645 26.6.2 Samba的安装 646 26.6.3 文件名编码 647 26.6.4 网络邻居浏览 647 26.6.5 用户身份验证 648 26.6.6 基本的文件共享 649 26.6.7 用户组共享 649 26.6.8 用MS DFS做透明重定向 650 26.6.9 smbclient:简单的CIFS客户端 651 26.6.10 smbfs文件系统 651 26.7 用samba共享打印机 652 26.7.1 从安装打印机驱动程序 653 26.7.2 从命令行安装打印机驱动程序 653 26.8 Samba的调试 654 26.9 推荐读物 656 26.10 习题 656 第27章 串行设备 657 27.1 串行标准 657 27.2 替代连接器 660 27.2.1 微型DIN-8连接器 660 27.2.2 DB-9连接器 661 27.2.3 RJ-45连接器 661 27.2.4 RJ-45连线的Yost标准 662 27.3 硬载波和软载波 664 27.4 硬件流控 664 27.5 电缆长度 665 27.6 串行设备文件 665 27.7 setserial:把串口参数通知给驱动程序 665 27.8 串行设备的软件配置 666 27.9 硬件终端的配置 666 27.9.1 登录过程 667 27.9.2 /etc/inittab文件 667 27.9.3 终端支持:termcap和terminfo数据库 669 27.10 特殊字符和终端驱动程序 670 27.11 stty:设置终端的选项 670 27.12 tset:自动设置选项 671 27.13 怎样解开僵住的终端 672 27.14 调制解调器 672 27.14.1 调制、错误纠正和数据压缩协议 673 27.14.2 minicom:拨出程序 673 27.14.3 双向调制解调器 674 27.15 调试串行线 674 27.16 其他常用的I/O端口 674 27.17 习题 675 第28章 驱动程序和内核 677 28.1 内核的适应性 678 28.2 添加设备驱动程序 678 28.2.1 设备文件和设备号 679 28.2.2 创建设备文件 679 28.2.3 sysfs:设备 680 28.2.4 设备命名约定 680 28.3 配置内核的原因和方法 681 28.4 调整Linux内核参数 681 28.5 构造Linux内核 682 28.5.1 内核没问题就不要改它 683 28.5.2 配置内核选项 683 28.5.3 构建Linux内核的二进制文件 684 28.6 添加Linux设备驱动程序 685 28.7 可加载内核模块 686 28.8 热插拔 688 28.9 设置内核引导参数 688 28.10 推荐读物 689 28.11 习题 689 第29章 守护进程 690 29.1 init:基本守护进程 691 29.2 cron和atd:调度命令 691 29.3 inetd和xinetd:管理守护进程 692 29.3.1 配置xinetd 692 29.3.2 配置inetd 694 29.3.3 services文件 695 29.3.4 portmap:把RPC服务映射到TCP和UDP端口 696 29.4 内核的守护进程 696 29.5 打印守护进程 697 29.5.1 cupsd:CUPS的调度器 697 29.5.2 lpd:管理打印 697 29.6 文件服务守护进程 698 29.6.1 rpc.nfsd:提供文件服务 698 29.6.2 rpc.mountd:响应安装请求i 698 29.6.3 amd和automount:根据需要安装文件系统 698 29.6.4 rpc.lockd和rpc.statd:管理NFS锁 698 29.6.5 rpciod:缓存NFS数据块 698 29.6.6 rpc.rquotad:远程磁盘配额服务 699 29.6.7 smbd:向客户端提供文件和打印服务 699 29.6.8 nmbd:NetBIOS名字服务器 699 29.7 管理数据库守护进程 699 29.7.1 ypbind:定位NIS服务器 699 29.7.2 ypserv:NIS服务器 699 29.7.3 rpc.ypxfrd:传送NIS数据库 699 29.7.4 lwresd:轻量级名字解析器库服务器 699 29.7.5 nscd:名字服务高速缓存守护进程 700 29.8 电子邮件守护进程 700 29.8.1 sendmail:传输电子邮件i 700 29.8.2 smtpd:简单邮件传输协议守护进程i 700 29.8.3 popd:基本的邮箱服务器i 700 29.8.4 imapd:高级的邮箱服务器i 700 29.9 远程登录和命令执行守护进程 700 29.9.1 sshd:安全的远程登录服务器i 701 29.9.2 in.rlogind:过时的远程登录服务器i 701 29.9.3 in.telnetd:另一种远程登录服务器i 701 29.9.4 in.rshd:远程命令执行服务器i 701 29.10 引导和配置守护进程 701 29.10.1 dhcpd:动态地址分配i 701 29.10.2 in.tftpd:简单文件传送服务器i 702 29.10.3 rpc.bootparamd:高级的无盘支持i 702 29.10.4 hald:硬件抽象层(HAL)守护进程 702 29.10.5 udevd:设备连接串行化通报 702 29.11 其他网络守护进程 702 29.11.1 talkd:网络聊天服务i 702 29.11.2 snmpd:提供远程网络管理服务 702 29.11.3 ftpd:文件传输服务器i 703 29.11.4 rsyncd:在多台间保持文件同步i 703 29.11.5 routed:维护路由表 703 29.11.6 gated:维护复杂的路由表 703 29.11.7 named:DNS服务器 703 29.11.8 syslogd:处理日志消息 703 29.11.9 in.fingerd:查找用户i 704 29.11.10 httpd:World Wide Web 服务器i 704 29.12 NTPD:时间同步守护进程 704 29.13 习题 705 第30章 管理政策与策略 706 30.1 皆大欢喜 706 30.2 IT职能机构的组成 707 30.3 管理的职能 708 30.3.1 领导 708 30.3.2 聘用、解聘和人事管理 709 30.3.3 分配和跟踪任务 711 30.3.4 管理上级 712 30.3.5 化解矛盾 712 30.4 行政的职能 713 30.4.1 销售 714 30.4.2 采购 714 30.4.3 账务 715 30.4.4 人事 715 30.4.5 市场营销 715 30.4.6 行政事务 716 30.5 开发的职能 716 30.5.1 系统构架的原则 717 30.5.2 管理系统的组成 718 30.5.3 系统管理员的工具箱 718 30.5.4 软件工程的原则 719 30.6 运行的职能 719 30.6.1 瞄准最少停机时间 720 30.6.2 依赖文档 720 30.6.3 改变老硬件的用途或者淘汰老硬件 720 30.7 支持工作 721 30.7.1 可用性 721 30.7.2 服务范围 721 30.7.3 技能要求 723 30.7.4 时间管理 723 30.8 建立文档 724 30.8.1 标准化建档 724 30.8.2 硬件标签 725 30.8.3 用户文档 726 30.9 需求跟踪和故障工单系统 726 30.9.1 故障工单系统共同的功能 726 30.9.2 故障工单系统的用户接受程度 727 30.9.3 故障工单系统 727 30.9.4 派发故障工单 728 30.10 灾难恢复 729 30.10.1 备份和离线的信息 729 30.10.2 处理灾难的人员准备 730 30.10.3 电源和HVAC 730 30.10.4 网络冗余性 731 30.10.5 安全事件 731 30.10.6 世贸中心的二手故事 732 30.11 书面政策 732 30.11.1 安全政策 734 30.11.2 用户政策协定 734 30.11.3 系统管理员政策协定 736 30.12 法律问题(美国) 736 30.12.1 加密 736 30.12.2 版权 737 30.12.3 隐私 738 30.12.4 EULA 739 30.12.5 政策落实 740 30.12.6 控制=义务 740 30.12.7 软件许可证 740 30.12.8 遵守法规 741 30.13 软件专利 742 30.14 标准 743 30.14.1 LSB:Linux标准库 743 30.14.2 POSIX 743 30.14.3 ITIL:信息技术接口库 744 30.14.4 COBIT:信息及相关技术控制目标 744 30.15 Linux文化 744 30.16 主流的Linux 745 30.17 组织、会议及其他资源 747 30.17.1 大会和商业展览 748 30.17.2 LPI:Linux专业协会 749 30.17.3 邮递列表和Web资源 749 30.17.4 系统管理方面的调查 749 30.18 推荐读物 750 30.18.1 基础设施 750 30.18.2 管理 750 30.18.3 政策和安全 751 30.18.4 法律问题、专利和隐私 751 30.18.5 一般的业界新闻 751 30.19 习题 751

用户评论
请输入评论内容
评分:
暂无评论