
| Linux之父和O'Reilly创始人Tim倾力推荐的神作,系统管理领域内当之无愧的圣经! UNIX类图书销量中排名第一,Linux类中排名第三! |
| Evi Nemeth,已经从科罗拉多大学计算机科学系教师的岗位上退休了。她现在正坐在自己40英尺长的帆船Wonderland号上遨游太平洋呢。这是她写的最后一版--当船停泊在人间天堂里的时候,用只有30波特率的GPRS收发电子邮件,是无法跟上最新系统管理技术的步伐了。 Garth Snyder,曾经在NeXT和Sun公司工作过,他从斯沃索莫学院(Swarthmore College)获得了工学学士学位,并从罗彻斯特大学取得MD和MBA学位。 Trent R. Hein,是Applied Trust公司的创办人之一,这是一家提供网络基础设施咨询服务的公司。Trent从科罗拉多大学获得了计算机科学专业学士学位。 Ben Whaley,是Applied Trust公司的企业构架主管,这是一家位于科罗拉多州波尔多的IT咨询公司。Ben在2004年获得科罗拉多大学计算机科学专业学士学位。 |
| 第一部分 基本管理技术 第1章 从何处入手 1.1 系统管理员的基本任务 1.1.1 账号管理 1.1.2 增删硬件 1.1.3 执行备份 1.1.4 安装和更新软件 1.1.5 监视系统 1.1.6 故障诊断 1.1.7 维护本地文档 1.1.8 时刻警惕系统安全 1.1.9 救火 1.2 读者的知识背景 1.3 UNIX和Linux之间的摩擦 1.4 Linux的发行版本 1.5 本书使用的示例系统 1.5.1 用作示例的Linux发行版本 1.5.2 用作示例的UNIX发行版本 1.6 特定于系统的管理工具 1.7 表示法和印刷约定 1.8 单位 1.9 手册页和其他联机文档 1.9.1 手册页的组织 1.9.2 man:读取手册页 1.9.3 手册页的保存 1.9.4 GNUTexinfo 1.10 其他的权威文档 1.10.1 针对系统的专门指南 1.10.2 针对软件包的专门文档 1.10.3 书籍 1.10.4 RFC和其他Internet文档 1.10.5 LDP 1.11 其他的信息资源 1.12 查找和安装软件的途径 1.12.1 判断软件是否已经安装 1.12.2 增加新软件 1.12.3 从源代码编译软件 1.13 重压下的系统管理员 1.14 推荐读物 1.15 习题 第2章 脚本和shell 2.1 shell的基础知识 2.1.1 编辑命令 2.1.2 管道和重定向 2.1.3 变量和引用 2.1.4 常见的过滤命令 2.2 bash脚本编程 2.2.1 从命令到脚本 2.2.2 输入和输出 2.2.3 命令行参数和函数 2.2.4 变量的作用域 2.2.5 控制流程 2.2.6 循环 2.2.7 数组和算术运算 2.3 正则表达式 2.3.1 匹配过程 2.3.2 普通字符 2.3.3 特殊字符 2.3.4 正则表达式的例子 2.3.5 捕获 2.3.6 贪心、懒惰和灾难性的回溯 2.4 Perl编程 2.4.1 变量和数组 2.4.2 数组和字符串文字 2.4.3 函数调用 2.4.4 表达式里的类型转换 2.4.5 字符串表达式和变量 2.4.6 哈希 2.4.7 引用和自动生成 2.4.8 Perl语言里的正则表达式 2.4.9 输入和输出 2.4.10 控制流程 2.4.11 接受和确认输入 2.4.12 Perl用作过滤器 2.4.13 Perl的附加模块 2.5 Python脚本编程 2.5.1 Python快速入门 2.5.2 对象、字符串、数、列表、字典、元组和文件 2.5.3 确认输入的例子 2.5.4 循环 2.6 脚本编程的最佳实践 2.7 推荐读物 Shell基础知识和bash脚本编程 正则表达式 Perl脚本编程 Python脚本编程 2.8 习题 第3章 引导和关机 3.1 引导 3.1.1 恢复模式下引导进入shell 3.1.2 引导过程的步骤 3.1.3 初始化内核 3.1.4 配置硬件 3.1.5 创建内核进程 3.1.6 操作员干预(仅限恢复模式) 3.1.7 执行启动脚本 3.1.8 引导进程完成 3.2 引导PC 3.3 GRUB:全面统一的引导加载程序 3.3.1 内核选项 3.3.2 多重引导 3.4 引导进入单用户模式 3.4.1 用GRUB引导单用户模式 3.4.2 SPARC上的单用户模式 3.4.3 HP-UX的单用户模式 3.4.4 AIX的单用户模式 3.5 启动脚本 3.5.1 init及其运行级 3.5.2 启动脚本概述 3.5.3 Red Hat启动脚本 3.5.4 SUSE的启动脚本 3.5.5 Ubuntu的启动脚本和Upstart守护进程 3.5.6 HP-UX的启动脚本 3.5.7 AIX的启动 3.6 引导Solaris 3.6.1 Solaris的SMF 3.6.2 崭新的世界:用SMF引导系统 3.7 重新引导和关机 3.7.1 shutdown:停止系统的妥善方式 3.7.2 halt和reboot:关闭系统的更简单方式 3.8 习题 第4章 访问控制和超级权限 4.1 传统的UNIX访问控制 4.1.1 文件系统的访问控制 4.1.2 进程的所有权 4.1.3 root账号 4.1.4 setuid和setgid执行方式 4.2 现代的访问控制 4.2.1 基于角色的访问控制 4.2.2 SELinux:增强安全性的Linux 4.2.3 POSIX能力(Linux) 4.2.4 PAM:可插入式身份验证模块 4.2.5 Kerberos:第三方的加密验证 4.2.6 访问控制列表 4.3 实际中的访问控制 4.3.1 选择root的口令 4.3.2 登录进入root账号 4.3.3 su:替换用户身份 4.3.4 sudo:受限的su 4.3.5 口令保险柜和口令代管 4.4 root之外的其他伪用户 4.5 习题 第5章 进程控制 5.1 进程的组成部分 5.1.1 PID:进程的ID号 5.1.2 PPID:父PID 5.1.3 UID和EUID:真实的和有效的用户ID 5.1.4 GID和EGID:真实的和有效的组ID 5.1.5 谦让度 5.1.6 控制终端 5.2 进程的生命周期 5.3 信号 5.4 kill: 发送信号 5.5 进程的状态 5.6 nice和renice:影响调度优先级 5.7 ps:监视进程 5.8 用top、prstat和topas动态监视进程 5.9 /proc文件系统 5.10 strace、truss和tusc:追踪信号和系统调用 5.11 失控进程 5.12 推荐读物 5.13 习题 第6章 文件系统 6.1 路径名称 6.1.1 绝对路径和相对路径 6.1.2 文件名中的空白 6.2 挂载和卸载文件系统 6.3 文件树的组织 6.4 文件类型 6.4.1 普通文件 6.4.2 目录 6.4.3 字符设备文件和块设备文件 6.4.4 本地域套接口 6.4.5 有名管道 6.4.6 符号链接 6.5 文件属性 6.5.1 权限位 6.5.2 setuid和setgid位 6.5.3 粘附位 6.5.4 ls:列出和查看文件 6.5.5 chmod:改变权限 6.5.6 chown和chgrp:改变归属关系和组 6.5.7 umask:分配默认的权限 6.5.8 Linux上的额外标志 6.6 访问控制列表 6.6.1 UNIX ACL简史 6.6.2 ACL的实现 6.6.3 系统支持的ACL 6.6.4 POSIX的ACL 6.6.5 NFSv4的ACL 6.7 习题 第7章 添加新用户 7.1 /etc/passwd文件 7.1.1 登录名 7.1.2 加密的口令 7.1.3 UID号 7.1.4 默认的GID号 7.1.5 GECOS字段 7.1.6 主目录 7.1.7 登录shell 7.2 /etc/shadow和/etc/security/passwd文件 7.3 /etc/group文件 7.4 添加用户:基本步骤 7.4.1 编辑passwd和group文件 7.4.2 设置口令 7.4.3 创建主目录并安装启动文件 7.4.4 设置权限和所属关系 7.4.5 设置邮件主目录 7.4.6 配置角色和管理特权 7.4.7 收尾步骤 7.5 用useradd添加用户 7.5.1 Ubuntu上的useradd 7.5.2 SUSE上的useradd 7.5.3 Red Hat上的useradd 7.5.4 Solaris上的useradd 7.5.5 HP-UX上的useradd 7.5.6 AIX的useradd 7.5.7 useradd举例 7.6 用newusers成批添加用户(Linux) 7.7 删除用户 7.8 禁止登录 7.9 用系统的专门工具管理用户 7.10 用PAM降低风险 7.11 集中管理账号 7.11.1 LDAP和Active Directory 7.11.2 单一登录系统 7.11.3 身份管理系统 7.12 推荐读物 7.13 习题 第8章 存储 8.1 只想加一块硬盘! 8.1.1 Linux的做法 8.1.2 Solaris的做法 8.1.3 HP-UX的做法 8.1.4 AIX的做法 8.2 存储硬件 8.2.1 硬盘 8.2.2 固态盘 8.3 存储硬件接口 8.3.1 PATA接口 8.3.2 SATA接口 8.3.3 并行SCSI 8.3.4 串行SCSI 8.3.5 SCSI和SATA的比较 8.4 层层剖析:存储上的软件 8.5 硬盘的安装和底层管理 8.5.1 在硬件层面上的安装核实 8.5.2 磁盘设备文件 8.5.3 格式化和坏块管理 8.5.4 ATA安全擦除 8.5.5 hdparm:设置磁盘和接口参数(Linux) 8.5.6 使用SMART监视磁盘 8.6 磁盘分区 8.6.1 传统的分区方式 8.6.2 Windows的分区 8.6.3 GPT:GUID分区表 8.6.4 Linux的分区 8.6.5 Solaris的分区 8.6.6 HP-UX的分区 8.7 RAID:廉价磁盘冗余阵列 8.7.1 软硬RAID对比 8.7.2 RAID的级别 8.7.3 硬盘故障恢复 8.7.4 RAID 5的缺点 8.7.5 mdadm:Linux上的软RAID 8.8 逻辑卷管理 8.8.1 LVM的实现 8.8.2 Linux的逻辑卷管理 8.8.3 HP-UX的逻辑卷管理 8.8.4 AIX的逻辑卷管理 8.10 文件系统 8.9.1 Linux文件系统:ext家族的文件系统 8.9.2 HP-UX文件系统 8.9.3 AIX的JFS2文件系统 8.9.4 文件系统的术语 8.9.5 文件系统的多态性 8.9.6 mkfs:格式化文件系统 8.9.7 fsck:检查和修复文件系统 8.9.8 挂载文件系统 8.9.9 设置自动挂载 8.9.10 挂载USB设备 8.9.11 启用交换分区 8.10 ZFS:解决所有存储问题 8.10.1 ZFS体系结构 8.10.2 举例:Solaris磁盘分区 8.10.3 文件系统和属性 8.10.4 属性继承 8.10.5 每个用户一个文件系统 8.10.6 快照和克隆 8.10.7 原始卷 8.10.8 通过NFS、CIFS和iSCSI共享文件系统 8.10.9 存储池管理 8.11 存储区域网络 8.11.1 SAN网络 8.11.2 iSCSI:SCSI over IP 8.11.3 从iSCSI卷引导 8.11.4 iSCSI的厂商特性 8.12 习题 第9章 周期性进程 9.1 cron:按时间表执行命令 9.2 crontab文件的格式 9.3 crontab管理 9.4 Linux及其Vixie-CRON的扩展 9.5 cron的常见用途 9.5.1 简单的提醒功能 9.5.2 清理文件系统 9.5.3 配置文件的网络分布 9.5.4 循环日志文件 9.6 习题 第10章 备份 10.1 备份基本原理 10.1.1 从中心位置执行所有的备份 10.1.2 给备份介质加卷标 10.1.3 选择合理的备份间隔 10.1.4 仔细选择文件系统 10.1.5 在单一介质上做日常转储 10.1.6 异地保存介质 10.1.7 保护备份 10.1.8 备份期间限制活动 10.1.9 查验介质 10.1.10 发掘介质的寿命 10.1.11 为备份而设计数据 10.1.12 做最坏的准备 10.2 备份设备和介质 10.2.1 光盘:CD-R/RW、DVD±R/RW、DVD-RAM和蓝光 10.2.2 便携和移动硬盘 10.2.3 磁带概述 10.2.4 小型磁带机:8mm磁带和DDS/DAT 10.2.5 DLT和S-DLT 10.2.6 AIT和SAIT 10.2.7 VXA和VXA-X 10.2.8 LTO 10.2.9 自动选带机、自动换带机以及磁带库 10.2.10 硬盘 10.2.11 因特网和云备份服务 10.2.12 介质类型小结 10.2.13 设备选型 10.3 节省空间和时间与增量备份 10.3.1 简单的计划 10.3.2 适中的计划 10.4 用dump建立备份机制 10.4.1 转储文件系统 10.4.2 用restore从转储中恢复 10.4.3 恢复整个文件系统 10.4.4 恢复到新硬盘上 10.5 为系统升级而执行转储和恢复 10.6 使用其他存档程序 10.6.1 tar: 给文件打包 10.6.2 dd:处理位流 10.6.3 ZFS的备份 10.7 使用同一卷磁带上的多个文件 10.8 Bacula 10.8.1 Bacula的模型 10.8.2 设置Bacula 10.8.3 安装数据库和Bacula的守护进程 10.8.4 配置Bacula的守护进程 10.8.5 公共的配置段 10.8.6 bacular-dir.conf:配置控制文件 10.8.7 bacula-sd.conf:配置存储守护进程 10.8.8 bconsole.conf:配置控制台 10.8.9 安装和配置客户端的文件守护进程 10.8.10 启动Bacula的守护进程 10.8.11 向存储池添加介质 10.8.12 执行一次手工备份 10.8.13 执行一次恢复工作 10.8.14 给Windows客户机做备份 10.8.15 监视和调试Bacula的配置 10.8.16 Bacula的技巧和窍门 10.8.17Bacula的替代工具 10.9 商用备份产品 10.9.1 ADSM/TSM 10.9.2 VeritasNetBackup 10.9.3 EMCNetWorker 10.9.4 其他选择 10.10 推荐读物 10.11 习题 第11章 系统日志与日志文件 11.1 日志文件的位置 11.1.1 不用管理的文件 11.1.2 厂商特有的文件 11.2 syslog:系统事件的日志程序 11.2.1 syslog的体系结构 11.2.2 配置syslogd 11.2.3 配置文件举例 11.2.4 调试syslog 11.2.5 syslog的其他替代方案 11.2.6 Linux内核和引导时刻日志 11.3 AIX:日志记录和出错处理 11.3.1 AIX的syslog配置 11.4 logrotate: 管理日志文件 11.5 分析日志文件 11.6 日志记录的策略 11.7 习题 第12章 软件安装和管理 12.1 安装Linux和OpenSolaris 12.1.1 从网络引导PC 12.1.2 为Linux设置PXE 12.1.3 非PC的网络引导 12.1.4 Kickstart:RHEL的自动安装程序 12.1.5 AutoYaST:SUSE的自动安装工具 12.1.6 用Ubuntu的安装程序自动安装 12.2 安装Solaris 12.2.1 使用JumpStart网络安装 12.2.2 使用自动安装程序进行网络安装 12.3 安装HP-UX 12.3.1 用Ignite-UX自动安装 12.4 使用NIM安装AIX 12.5 软件包管理 12.6 Linux的高级软件包管理系统 12.6.1 rpm:管理RPM软件包 12.6.2 dpkg:管理Debian的软件包 12.7 Linux的高级软件包管理系统 12.7.1 软件包的库 12.7.2 RHN:Red Hat网络 12.7.3 APT:高级软件包工具 12.7.4 配置apt-get 12.7.5 /etc/apt/sources.list文件的例子 12.7.6 创建本地的库镜像 12.7.7 自动执行apt-get 12.7.8 yum:管理RPM的发布 12.7.9 Zypper:SUSE的软件包管理 12.8 UNIX的软件包管理 12.8.1 Solaris软件包 12.8.2 HP-UX软件包 12.8.3 AIX的软件管理 12.9 版本控制 12.9.1创建备份文件 12.9.2 正规的版本控制系统 12.9.3 Subversion 12.9.4 Git 12.10 软件的本地化和配置 12.10.1 本地化的组织 12.10.2 测试 12.10.3 本地编译软件 12.10.4 发布本地软件 12.11 配置管理工具 12.11.1 cfengine:计算机免疫系统 12.11.2 LCFG:大规模配置系统 12.11.3 Template Tree 2:cfengine的帮手 12.11.4 DMTF/CIM:公共信息模型 12.12 通过NFS共享软件 12.12.1 软件包的名字空间 12.12.2 依赖关系的管理 12.12.3 封装脚本 12.13 推荐读物 12.14 习题 第13章 驱动程序和内核 13.1 内核的适应性 13.2 驱动程序和设备文件 13.2.1 设备文件和设备号 13.2.2 创建设备文件 13.2.3 设备的命名约定 13.2.4 自定义内核和可加载模块 13.3 配置Linux内核 13.3.1 调整Linux内核参数 13.3.2 构造Linux内核 13.3.3 内核没问题就不要改它 13.3.4 配置内核选项 13.3.5 构建Linux内核的二进制文件 13.3.6 添加Linux设备驱动程序 13.4 配置Solaris内核 13.4.1 Solaris内核区 13.4.2 用/etc/system配置内核 13.4.3 添加一个Solaris设备驱动程序 13.4.4 调试Solaris的配置 13.5 配置HP-UX内核 13.6 管理AIX内核 13.6.1 ODM 13.6.2 内核调配 13.7 可加载内核模块 13.7.1 Linux的可加载内核模块 13.7.2 Solaris的可加载内核模块 13.8 Linux udev的意义和作用 13.8.1 Linux sysfs:设备对外的窗口 13.8.2 用udevadm浏览设备 13.8.3 构造规则和固定不变的名字 13.9 推荐读物 13.10 习题 第二部分 网络管理技术 第14章 TCP/IP网络 14.1 TCP/IP和Internet 14.1.1 Internet的运行管理 14.1.2 网络的标准和文献 14.2 连网技术概述 14.2.1 IPv4和IPv6 14.2.2 分组和封装 14.2.3 以太网组帧 14.2.4 最大传输单位(MTU) 14.3 分组地址 14.3.1 硬件(MAC)地址 14.3.2 IP地址 14.3.3 主机名"地址" 14.3.4 端口 14.3.5 地址类型 14.4 IP地址详解 14.4.1 IPv4地址分类 14.4.2 子网 14.4.3 计算子网的技巧和工具 14.4.4 CIDR:无类域间路由 14.4.5 地址分配 14.4.6 私用地址和NAT 14.4.7 IPv6地址 14.5 路由选择 14.5.1 路由表 14.5.2 ICMP重定向 14.6 ARP:地址解析协议 14.7 DHCP:动态主机配置协议 14.7.1 DHCP软件 14.7.2 DHCP的工作方式 14.7.3 ISC的DHCP服务器 14.8 安全问题 14.8.1 IP转发 14.8.2 ICMP重定向 14.8.3 源路由 14.8.4 广播ping和其他形式的定向广播 14.8.5 IP欺骗 14.8.6 基于主机的防火墙 14.8.7 虚拟私用网络 14.9 PPP:点对点协议 14.10 基本的网络配置 14.10.1 分配主机名和IP地址 14.10.2 ifconfig:配置网络接口 14.10.3 网络硬件参数 14.10.4 route:配置静态路由 14.10.5 配置DNS 14.11 特定于系统的网络配置 14.12 Linux连网 14.12.1 NetworkManager 14.12.2 Debian和Ubuntu的网络配置 14.12.3 SUSE的网络配置 14.12.4 Red Hat的网络配置 14.12.5 Linux的网络硬件配置选项 14.12.6 Linux的TCP/IP配置选项 14.12.7 有关安全的内核变量 14.12.8 Linux的NAT和包过滤 14.13 Solaris连网 14.13.1 基本网络配置 14.13.2 网络配置举例 14.13.3 DHCP的配置 14.13.4 ndd:调整TCP/IP和接口 14.13.5 安全 14.13.6 防火墙和过滤机制 14.13.7 NAT 14.13.8 Solaris连网的特别之处 14.14 HP-UX连网 14.14.1 基本网络配置 14.14.2 网络配置举例 14.14.3 DHCP的配置 14.14.4 动态的重新配置和调整 14.14.5 安全、防火墙、过滤和NAT 14.15 AIX连网 14.15.1 no:管理AIX的网络可配参数 14.16 推荐读物 14.17 习题 第15章 路由选择 15.1 近观包转发 15.2 路由守护进程和路由协议 15.2.1 距离向量协议 15.2.2 链路状态协议 15.2.3 代价度量 15.2.4 内部协议和外部协议 15.3 路由协议巡礼 15.3.1 RIP和RIPng:路由信息协议 15.3.2 OSPF:开放最短路径优先 15.3.4 EIGRP:增强内部网关路由协议 15.3.5 IS-IS:ISO的"标准" 15.3.6 RDP和NDP 15.3.7 BGP:边界网关协议 15.4 路由策略的选择标准 15.5 路由守护进程 15.5.1 routed:过时的RIP实现 15.5.2 gated:第一代的多协议路由守护进程 15.5.3 Quagga:主流的路由守护进程 15.5.4 ramd:HP-UX的多协议路由系统 15.5.5 XORP:计算机里的路由器 15.5.6 各操作系统的特性 15.6 思科路由器 15.7 推荐读物 15.8 习题 第16章 网络硬件 16.1 以太网:连网技术中的瑞士军刀 16.1.1 以太网的工作方式 16.1.2 以太网拓扑结构 16.1.3 无屏蔽双绞线 16.1.4 光纤 16.1.5 连接和扩展以太网 16.1.6 自动协商 16.1.7 以太网供电 16.1.8 巨大帧 16.2 无线:流动人士的LAN 16.2.1 无线网络的安全 16.2.2 无线交换机和轻量级AP 16.3 DSL和CM:最后一英里 16.4 网络测试和调试 16.5 建筑物布线 16.5.1 UTP电缆的选择 16.5.2 到办公室的连接 16.5.3 布线标准 16.6 网络设计问题 16.6.1 网络结构与建筑物结构 16.6.2 扩展 16.6.3 拥塞 16.6.4 维护和建档 16.7 管理问题 16.8 推荐的厂商 16.8.1 电缆和连接器 16.8.2 测试仪器 16.8.3 路由器/交换机 16.9 推荐读物 16.10 习题 第17章 DNS:域名系统 17.1 谁需要DNS 17.1.1 管理DNS 17.2 DNS的工作原理 17.2.1 资源记录 17.2.2 授权 17.2.3 缓存和效率 17.2.4 多重响应 17.3 DNS速成 17.3.1 向DNS添加新机器 17.3.2 配置DNS客户机 17.4 域名服务器 17.4.1 权威与仅缓存服务器 17.4.2 递归和非递归服务器 17.5 DNS名字空间 17.5.1 注册二级域名 17.5.2 创建子域 17.6 设计DNS环境 17.6.1 名字空间管理 17.6.2 权威服务器 17.6.3 缓存服务器 17.6.4 硬件要求 17.6.5 安全 17.6.6 总结 17.7 DNS的新特性 17.8 DNS数据库 17.8.1 区文件中的命令 17.8.2 资源记录 17.8.3 SOA记录 17.8.4 NS记录 17.8.5 A记录 17.8.6 PTR记录 17.8.7 MX记录 17.8.8 CNAME记录 17.8.9 巧用CNAME 17.8.10 SRV记录 17.8.11 TXT记录 17.8.12 IPv6资源记录 17.8.13 SPF记录 17.8.14 DKIM和ADSP记录 17.8.15 SSHFP资源记录 17.8.16 粘合记录:区之间的链接 17.9 BIND软件 17.9.1 判定版本 17.9.2 BIND的组成 17.9.3 配置文件 17.9.4 include语句 17.9.5 options语句 17.9.6 acl语句 17.9.7 (TSIG)key语句 17.9.8 trusted-keys语句 17.9.9 server语句 17.9.10 masters语句 17.9.11 logging语句 17.9.12 statistics-channels语句 17.9.13 zone语句 17.9.14 rndc的controls语句 17.9.15 分离式DNS和view语句 17.10 BIND配置举例 17.10.1 localhost区 17.10.2 一家小型的安全公司 17.10.3 ISC 17.11 NSD/Unbound软件 17.11.1 安装和配置NSD 17.11.2 运行nsd 17.11.3 安装和配置Unbound 17.12 更新区文件 17.12.1 区传送 17.12.2 BIND的动态更新 17.13 安全问题 17.13.1 再谈BIND访问控制列表 17.13.2 开放的解析器 17.13.3 在监管环境下运行 17.13.4 使用TSIG和TKEY保障服务器与服务器之间通信的安全 17.13.5 为BIND设置TSIG 17.13.6 NSD里的TSIG 17.13.7 DNSSEC 17.13.8 DNSSEC策略 17.13.9 DNSSEC资源记录 17.13.10 启用DNSSEC 17.13.11 生成密钥对 17.13.12 区签名 17.13.13 DNSSEC信任链 17.13.14 DLV:域旁路认证 17.13.15 DNSSEC密钥延期 17.13.16 DNSSEC工具 17.13.17 调试DNSSEC 17.14 微软和DNS 17.15 测试和调试 17.15.1 BIND的日志功能 17.15.2 NSD/Unbound的日志功能 17.15.3 域名服务器的控制程序 17.15.4 域名服务器统计 17.15.5 用dig进行调试 17.15.6 残缺授权 17.15.7 其他DNS检查工具 17.15.8 性能问题 17.16 各操作系统的特定信息 17.16.1 Linux 17.16.2 Solaris 17.16.3 HP-UX 17.16.4 AIX 17.17 推荐读物 17.17.1 邮递列表和新闻组 17.17.2 书籍和其他文档 17.17.3 网上资源 17.17.4 RFC 17.18 习题 第18章 网络文件系统 18.1 NFS概述 18.1.1 状态问题 18.1.2 性能问题 18.1.3 安全 18.2 NFS的方法 18.2.1 NFS协议的版本和历史 18.2.2 传输协议 18.2.3 状态 18.2.4 文件系统导出 18.2.5 文件上锁机制 18.2.6 安全问题 18.2.7 NFSv4的标识映射 18.2.8 root访问与nobody账号 18.2.9 NFSv4的性能考虑 18.2.10 磁盘配额 18.3 服务器端NFS 18.3.1 share命令和dfstab文件(Solaris/HP-UX) 18.3.2 exportfs命令和exports文件(Linux/AIX) 18.3.3 在AIX上导出文件系统 18.3.4 在Linux上导出文件系统 18.3.5 nfsd:提供文件服务 18.4 客户端NFS 18.4.1 在启动时挂载远程文件系统 18.4.2 端口安全限制 18.5 NFSv4的标识映射 18.6 nfsstat:转储NFS统计信息 18.7 专用NFS文件服务器 18.8 自动挂载 18.8.1 间接映射文件 18.8.2 直接映射文件 18.8.3 主控映射文件 18.8.4 可执行的映射文件 18.8.5 自动挂载的可见性 18.8.6 重复的文件系统和自动挂载 18.8.7 自动的automount(除Linux之外其他系统上的NFSv3) 18.8.8 Linux的特定信息 18.9 推荐读物 18.10 习题 第19章 共享系统文件 19.1 共享什么 19.2 把文件复制到各处 19.2.1 NFS的选项 19.2.2 "推"系统和"拉"系统 19.2.3 rdist:推文件 19.2.4 rsync:更安全地传输文件 19.2.5 拉文件 19.3 LDAP:轻量级目录访问协议 19.3.1 LDAP数据的结构 19.3.2 LDAP的特点 19.3.3 LDAP的文档和规范 19.3.4 OpenLDAP:传统的开源LDAP 19.3.5 389 Directory Server:另一种开源LDAP服务器 19.3.6 用LDAP代替/etc/passwd和/etc/group 19.3.7 LDAP查询 19.3.8 LDAP和安全 19.4 NIS:网络信息服务 19.4.1 NIS模型 19.4.2 理解NIS的工作方式 19.4.3 NIS的安全 19.5 确定管理信息源的优先级 19.5.1 nscd:缓存查找的结果 19.6 推荐读物 19.7 习题 第20章 电子邮件 20.1 邮件系统 20.1.1 用户代理 20.1.2 提交代理 20.1.3 传输代理 20.1.4 本地投递代理 20.1.5 消息库 20.1.6 访问代理 20.1.7 内容太多,时间太少 20.2 剖析邮件消息 20.2.1 阅读邮件信头 20.3 SMTP协议 20.3.1 EHLO 20.3.2 SMTP出错代码 20.3.3 SMTP身份验证 20.4 邮件系统的设计 20.4.1 使用邮件服务器 20.5 邮件别名 20.5.1 从文件中获取别名 20.5.2 发邮件给文件 20.5.3 发邮件给程序 20.5.4 别名举例 20.5.5 散列的别名数据库 20.5.6 邮递列表和实现清单的软件 20.5.7 维护邮递列表的软件包 20.6 内容扫描:垃圾邮件和恶意软件 20.6.1 垃圾邮件 20.6.2 伪造邮件 20.6.3 消息隐私 20.6.4 垃圾邮件过滤 20.6.5 何时过滤 20.6.6 灰名单技术/DCC 20.6.7 SpamAssassin 20.6.8 黑名单 20.6.9 白名单 20.6.10 邮件过滤库 20.6.11 SPF和Sender ID 20.6.12 DomainKeys、DKIM和ADSP 20.6.13 MTA特有的反垃圾邮件功能 20.6.14 MailScanner 20.6.15 amavisd-new 20.6.16 测试MTA的扫描效力 20.7 电子邮件配置 20.8 sendmail 20.8.1 开关文件 20.8.2 运行模式 20.8.3 邮件队列 20.9 配置sendmail 20.9.1 m4预处理器 20.9.2 sendmail的配置 20.9.3 从.mc样板文件构建配置文件 20.10 sendmail基本配置原语 20.10.1 表和数据库 20.10.2 通用宏和功能 20.10.3 客户端选项 20.10.4 配置选项 20.10.5 sendmail中处理垃圾邮件的功能 20.10.6 sendmail中的milter配置 20.10.7 amavisd和sendmail的连接 20.11 安全与sendmail 20.11.1 所有权 20.11.2 权限 20.11.3 向文件和程序更安全地发邮件 20.11.4 隐私选项 20.11.5 运行一个chroot过的sendmail(真正严格的要求) 20.11.6 拒绝服务攻击 20.11.7 SASL:简单的身份验证和安全层 20.11.8 TLS:传输层安全 20.12 sendmail的性能 20.12.1 投递方式 20.12.2 队列分组和信封分割 20.12.3 队列运行器 20.12.4 控制平均负载 20.12.5 队列中无法投递的消息 20.12.6 内核调优 20.13 sendmail测试和调试 20.13.1 队列监视 20.13.2 日志机制 20.14 Exim 20.14.1 安装Exim 20.14.2 Exim的启动脚本 20.14.3 Exim的工具 20.14.4 Exim的配置语言 20.14.5 Exim的配置文件 20.14.6 全局的配置选项 20.14.7 ACL 20.14.8 ACL内容扫描 20.14.9 身份验证器 20.14.10 路由 20.14.11 传输 20.14.12 重试配置 20.14.13 重写配置 20.14.14 本地扫描功能 20.14.15 amavisd和Exim的连接 20.14.16 日志机制 20.14.17 调试机制 20.15 Postfix邮件系统 20.15.1 Postfix的体系结构 20.15.2 安全 20.15.3 Postfix命令和文档 20.15.4 配置Postfix 20.15.5 虚拟域 20.15.6 访问控制 20.15.7 反垃圾邮件和病毒 20.15.8 用amavisd做内容过滤 20.15.9 调试 20.16 DKIM配置 20.16.1 DKIM:域密钥身份识别邮件 20.16.2 DKIM邮件过滤 20.16.3 在amavisd-new中配置DKIM 20.16.4 sendmail中的DKIM 20.16.5 Exim中的DKIM 20.16.6 Postfix中的DKIM 20.17 综合的电子邮件解决方案 20.18 推荐读物 20.19 习题 第21章 网络管理和调试 21.1 网络故障的检测 21.2 ping:检查主机是否正常 21.3 SmokePing:ping的累计统计 21.4 traceroute:跟踪IP包 21.5 netstat:获得网络统计信息 21.5.1 检查接口的配置信息 21.5.2 监视网络连接的状态 21.5.3 标识正在监听的网络服务 21.5.4 检查路由表 21.5.5 查看各种网络协议运行的统计信息 21.6 检查工作接口的活动 21.7 包嗅探器 21.7.1 tcpdump:业界标准的包嗅探器 21.7.2 Wireshark和TShark:增强型的tcpdump 21.8 ICSI Netslyzr 21.9 网络管理协议 21.10 SNMP:简单网络管理协议 21.10.1 SNMP的组织结构 21.10.2 SNMP协议的操作 21.10.3 RMON:远程监视MIB 21.11 NET-SNMP代理程序 21.12 网络管理应用程序 21.12.1 NET-SNMP工具 21.12.2 SNMP数据的采集和绘图 21.12.3 Nagios:基于事件的SNMP和服务监视工具 21.12.4 终极网络监测软件包:仍在寻觅 21.12.5 商业管理平台 21.13 NetFlow:面向连接的监视 21.13.1 用nfdump和Nfsen监测NetFlow数据 21.13.2 在思科路由器上配置NetFlow 21.14 推荐读物 21.15 习题 第22章 安全 22.1 UNIX安全吗? 22.2 安全性是如何受损害的 22.2.1 社交工程 22.2.2 软件漏洞 22.2.3 配置错误 22.3 安全的技巧和思想 22.3.1 补丁 22.3.2 不必要的服务 22.3.3 远程的事件日志 22.3.4 备份 22.3.5 病毒和蠕虫 22.3.6 特洛伊木马 22.3.7 隐匿木马 22.3.8 包过滤 22.3.9 口令 22.3.10 警惕性 22.3.11 普遍原则 22.4 口令和用户账号 22.4.1 口令时限 22.4.2 组登录名和共享登录名 22.4.3 用户的shell 22.4.4 获得root权限的办法 22.5 PAM:验证奇才 22.5.1 系统对PAM的支持 22.5.2 配置PAM 22.5.3 Linux上详细配置举例 22.6 setuid程序 22.7 有效使用chroot 22.8 加强安全的工具 22.8.1 nmap:网络端口扫描程序 22.8.2 Nessus:下一代的网络扫描程序 22.8.3 John the Ripper:找出不安全的口令 22.8.4 hosts_acces:主机访问控制 22.8.5 Bro:可编程的网络入侵检测系统 22.8.6 Snort:流行的网络入侵检测系统 22.8.7 OSSEC:基于主机的入侵检测 22.9 强制访问控制(MAC) 22.9.1 SELinux 22.10 加密的安全工具 22.10.1 Kerberos:用于网络安全的统一方法 22.10.2 PGP:很好的私密性 22.10.3 SSH:安全的shell 22.10.4 Stunnel 22.11 防火墙 22.11.1 包过滤防火墙 22.11.2 如何过滤服务 22.11.3 状态检查防火墙 22.11.4 防火墙保险吗 22.12 Linux的防火墙功能 22.12.1 规则、链和表 22.12.2 规则目标 22.12.3 设置iptables防火墙 22.12.4 一个完整的例子 22.13 UNIX系统的IPFilter 22.14 VPN 22.14.1 IPSec隧道 22.14.2 VPN就够了吗 22.15 认证和标准 22.15.1 认证 22.15.2 安全标准 22.16 安全信息的来源 22.16.1 CERT:卡耐基梅隆大学的注册服务商标 22.16.2 SecurityFocus.com网站和BugTraq邮递列表 22.16.3 施耐德的安全博客 22.16.4 SANS:系统管理、网络和安全协会 22.16.5 厂商特有的安全资源 22.16.6 其他邮递列表和网站 22.17 如何对付站点攻击 22.18 推荐读物 22.19 习题 第23章 Web主机托管 23.1 Web主机托管的基本知识 23.1.1 Web上资源的位置 23.1.2 统一资源定位符 23.1.3 HTTP工作原理 23.1.4 即时生成内容 23.1.5 应用服务器 23.1.6 负载均衡 23.2 HTTP服务程序的安装 23.2.1 选择服务器软件 23.2.2 安装Apache 23.2.3 配置Apache 23.2.4 运行Apache 23.2.5 分析日志文件 23.2.6 高性能主机托管的静态内容优化 23.3 虚拟接口 23.3.1 使用基于名字的虚拟主机 23.3.2 配置虚拟接口 23.3.3 告诉Apache有关虚拟接口的信息 23.4 SSL 23.4.1 产生签发证书的请求 23.4.2 配置Apache使用SSL 23.5 缓存和代理服务程序 23.5.1 Squid缓存和代理服务器 23.5.2 设置Squid 23.5.3 Apache的反向代理 23.6 超越上限 23.6.1 云计算 23.6.2 主机代管 23.6.3 内容分发网络 23.7 习题 第三部分 其他管理技术 第24章 虚拟化技术 24.1 虚拟技术的种类 24.1.1 全虚拟化 24.1.2 半虚拟化 24.1.3 操作系统级虚拟化 24.1.4 原生虚拟化 24.1.5 云计算 24.1.6 动态迁移 24.1.7 虚拟化技术比较 24.2 虚拟化技术的好处 24.3 实施方案 24.4 Linux虚拟化 24.4.1 Xen简介 24.4.2 Xen基础知识 24.4.3 用virt-install安装Xen的guest系统 24.4.4 Xen动态迁移 24.4.5 KVM 24.4.6 KVM的安装和使用 24.5 Solaris的zone和container 24.6 AIX的WPAR 24.7 HP-UX的IVM 24.7.1 创建和安装虚拟机 24.8 VMWARE 24.9 亚马逊的AWS 24.10 推荐读物 24.11 习题 第25章 X窗口系统 25.1 X显示管理器 25.2 运行一个X应用程序 25.2.1 环境变量DISPLAY 25.2.2 客户机身份验证 25.2.3 用SSH转发X连接 25.3 配置X服务器 25.3.1 Device段 25.3.2 Monitor段 25.3.3 Screen段 25.3.4 InputDevice段 25.3.5 ServerLayout段 25.3.6 xrandr:X服务器的配置工具 25.3.7 内核模式设定 25.4 故障排查和调试 25.4.1 X的特殊键盘组合 25.4.2 X服务器出问题 25.5 桌面环境简述 25.5.1 KDE 25.5.2 GNOME 25.5.3 KDE和GNOME谁更好 25.6 推荐读物 25.7 习题 第26章 打印 26.1 打印系统的体系结构 26.1.1 主要的打印系统 26.1.2 打印 26.2 CUPS的打印 26.2.1 打印系统的界面 26.2.2 打印队列 26.2.3 多台打印机和打印队列 26.2.4 打印机实例 26.2.5 网络打印 26.2.6 过滤器 26.2.7 CUPS服务器的管理 26.2.8 设置网络打印服务器 26.2.9 自动配置打印机 26.2.10 配置网络打印机 26.2.11 打印机的配置举例 26.2.12 设置打印机的类 26.2.13 关闭服务 26.2.14 其他配置工作 26.3 桌面打印环境 26.3.1 kprinter:打印文档 26.3.2 Konqueror和打印 26.4 SystemⅤ的打印 26.4.1 概述 26.4.2 打印目的地及打印类 26.4.3 lp简述 26.4.4 lpsched与lpshut:启动和停止打印 26.4.5 lpadmin:配置打印环境 26.4.6 lpadmin举例 26.4.7 lpstat:获取状态信息 26.4.8 cancel:删除打印作业 26.4.9 accept和reject:控制假脱机处理 26.4.10 enable和disable:控制打印 26.4.11 lpmove:转移作业 26.4.12 接口程序 26.4.13 lp系统混乱状况的处理方法 26.5 BSD和AIX的打印 26.5.1 BSD打印系统的体系结构概述 26.5.2 控制打印环境 26.5.3 lpd:假脱机打印程序 26.5.4 lpr:提交打印作业 26.5.5 lpq:查看打印队列 26.5.6 lprm:删除打印作业 26.5.7 lpc:管理性修改 26.5.8 /etc/printcap文件 26.5.9 printcap变量 26.6 漫长和奇特的历程 26.6.1 打印的历史和打印系统的出现 26.6.2 打印机的多样性 26.7 常用的打印软件 26.8 打印机的语言 26.8.1 PostScript 26.8.2 PCL 26.8.3 PDF 26.8.4 XPS 26.8.5 PJL 26.8.6 打印机驱动程序及其对PDL的处理 26.9 PPD文件 26.10 纸型 26.11 实际使用打印机的问题 26.11.1 打印机的选择 26.11.2 GDI打印机 26.11.3 双面打印 26.11.4 其他打印机配件 26.11.5 串口和并口打印机 26.11.6 网络打印机 26.11.7 给打印机的其他建议 26.12 故障排查的技巧 26.12.1 重启打印守护进程 26.12.2 日志 26.12.3 直接打印的问题 26.12.4 网络打印的问题 26.12.5 发行版本特有的问题 26.13 推荐读物 26.14 习题 第27章 数据中心基础 27.1 数据中心的可靠性级别 27.2 冷却 27.2.1 电子设备 27.2.2 照明设备 27.2.3 操作人员 27.2.4 总的热负荷 27.2.5 冷热通道 27.2.6 湿度 27.2.7 环境监视 27.3 供电 27.3.1 机架的供电要求 27.3.2 kVA和kW 27.3.3 远程控制 27.4 机架 27.5 工具 27.6 推荐读物 27.7 习题 第28章 绿色IT 28.1 绿色IT的兴起 28.2 绿色IT的生态金字塔 28.3 绿色IT策略:数据中心 28.3.1 应用合并 28.3.2 服务器合并 28.3.3 SAN存储 28.3.4 服务器虚拟化 28.3.5 随用随开的服务器 28.3.6 细粒度使用和容量规划 28.3.7 优化能源的服务器配置 28.3.8 云计算 28.3.9 免费冷却 28.3.10 数据中心的高效冷却 28.3.11 停运时的降级模式 28.3.12 延长设备寿命 28.3.13 数据中心的较高温度 28.3.14 低功率设备 28.4 绿色IT策略:用户空间 28.5 绿色IT的朋友 28.6 习题 第29章 性能分析 29.1 做什么可以提高性能 29.2 影响性能的因素 29.3 如何分析性能问题 29.4 系统性能检查 29.4.1 盘点硬件 29.4.2 收集性能数据 29.4.3 CPU使用情况分析 29.4.4 系统如何管理内存 29.4.5 内存使用情况分析 29.4.6 磁盘I/O分析 29.4.7 xdd:分析磁盘子系统的性能 29.4.8 sar:连续采集和报告统计信息 29.4.9 nmon和nmon_analyser:AIX上的监视工具 29.4.10 选择Linux的I/O调度器 29.4.11 oprofile:详细剖析Linux系统 29.5 求助!系统为何越来越慢 29.6 推荐读物 29.7 习题 第30章 同Windows协作 30.1 从Windows登录到UNIX系统 30.2 远程桌面访问 30.2.1 在Windows计算机上运行X服务器 30.2.2 VNC:虚拟网络计算 30.2.3 Windows RDP:远程桌面协议 30.3 运行Windows和类似Windows的应用 30.3.1 双重引导,为何不该用 30.3.2 微软Office的替代软件 30.4 在Windows上使用命令行工具 30.5 Windows遵守电子邮件和Web标准 30.6 通过Samba和CIFS共享文件 30.6.1 Samba:UNIX的CIFS服务器 30.6.2 Samba的安装 30.6.3 文件名编码 30.6.4 用户身份验证 30.6.5 基本的文件共享 30.6.6 用户组共享 30.6.7 用微软的DFS做透明重定向 30.6.8 smbclient:简单的CIFS客户端 30.6.9 Linux的客户端对CIFS的支持 30.7 用Samba共享打印机 30.7.1 从Windows安装打印机驱动程序 30.7.2 从命令行安装打印机驱动程序 30.8 调试Samba 30.9 Active Directory身份验证 30.9.1 准备好集成AD 30.9.2 配置Kerberos 30.9.3 Samba作为Active Directory的域成员 30.9.4 配置PAM 30.9.5 winbind的备选方案 30.10 推荐读物 30.11 习题 第31章 串行设备和串行终端 31.1 RS-232C标准 31.2 备选连接器 31.2.1 DB-9连接器 31.2.2 RJ-45连接器 31.3 硬载波和软载波 31.4 硬流控 31.5 串行设备文件 31.6 setserial:把串口参数通知给驱动程序 31.7 伪终端 31.8 硬件终端的配置 31.8.1 登录过程 31.8.2 /etc/ttytype文件 31.8.3 /etc/gettytab文件 31.8.4 /etc/gettydefs文件 31.8.5 /etc/inittab文件 31.8.6 Linux上的getty配置 31.8.7 Ubuntu的Upstart 31.8.8 Solaris和sacadm 31.9 特殊字符和终端驱动程序 31.10 stty:设置终端的选项 31.11 tset:自动设置选项 31.12 僵住的终端 31.13 调试串行线 31.14 连接到串行设备的控制台 31.15 习题 第32章 管理、政策与政治 32.1 IT的目标 32.1.1 预算和支出 32.1.2 IT政策 32.1.3 SLA 32.2 IT职能机构的组成 32.2.1 基础:工单和任务管理系统 32.2.2 工单系统的常见功能 32.2.3 工单的所有权 32.2.4 用户对工单系统的接受程度 32.2.5 工单系统举例 32.2.6 工单分派 32.2.7 IT内部的技能培养 32.2.8 时间管理 32.3 咨询组 32.3.1 服务范围 32.3.2 咨询可用性 32.3.3 咨询上瘾 32.4 企业构架师 32.4.1 过程可再现 32.4.2 留下记录 32.4.3 认可文档的重要性 32.4.4 定制和编程 32.4.5 保持系统干净整洁 32.5 运行组 32.5.1 瞄准最短停机时间 32.5.2 依靠文档 32.5.3 重用或淘汰老硬件 32.5.4 维护本地文档 32.5.5 保持环境独立 32.5.6 自动化 32.6 管理的职能 32.6.1 领导 32.6.2 人事管理 32.6.3 聘用 32.6.4 解聘 32.6.5 人事管理的机制 32.6.6 质量控制 32.6.7 管理但别管闲事 32.6.8 社区关系 32.6.9 管理上级 32.6.10 采购 32.6.11 化解矛盾 32.7 政策和规程 32.7.1 政策和规程之间的区别 32.7.2 政策的最佳实践 32.7.3 规程 32.8 灾难恢复 32.8.1 风险评估 32.8.2 灾难管理 32.8.3 处理灾难的人员准备 32.8.4 电源和HVAC 32.8.5 互联网连接的冗余性 32.8.6 安全事件 32.9 合规:规章与标准 32.9.1 ITIL:信息技术基础设施库 32.9.2 NIST:国家标准和技术研究所 32.10 法律问题(美国) 32.10.1 隐私 32.10.2 落实政策 32.10.3 控制=义务 32.10.4 软件许可证 32.11 组织、会议及其他资源 32.12 推荐读物 32.13 习题 附录A 系统管理简史 附录B 为AIX辩护 跋 |
商品评论(0条)