书籍详情
UNIX/Linux 系统管理技术手册(第5版)
作者:[美] 埃薇·内梅特,加思·斯奈德,特伦特·R.海恩 著,门佳 译
出版社:人民邮电出版社
出版时间:2020-09-01
ISBN:9787115532763
定价:¥168.00
购买这本书可以去
内容简介
本书延续了《UNIX系统管理技术手册》前几版的讲解风格,以当前主流的Linux发行版本为例,把Linux系统管理技术分为4个部分分别进行介绍。第一部分(基础管理)对UNIX和Linux系统进行了简介,涵盖了运行单机系统所需的大部分知识和技术。第二部分(连网)讲解了UNIX系统上使用的协议和服务器的相关技术。第三部分(存储)讲解了如何解决数据存储和管理的问题。第四部分(运维)介绍了系统管理员在工作中经常碰到的问题。本书适用范围广泛,无论是Linux的初学者还是具有丰富经验的Linux专业技术人员都能从本书中获益。
作者简介
埃薇·内梅特已于2001年从科罗拉多大学计算机科学系的教师岗位上退休。在此之后,她乘坐Wonderland号帆船探索太平洋多年,2013年的时候在海上失踪。本书的第4版是她亲自参与的最后一部作品,但是在第5版中,我们已经尽可能地保留了她的文字。加思·斯奈德曾就职于NeXT和Sun,他拥有斯沃斯莫尔学院工学学士学位,还获得了罗彻斯特大学的MD和MBA学位。特伦特·R.海恩是一位创业家,他热衷于实用的网络安全技术和自动化。在技术之外,他还喜欢徒步旅行、滑雪、飞钓、露营、蓝草音乐和狗狗。特伦特拥有科罗拉多大学的计算机科学学士学位。本·惠利是一家独立咨询公司WhaleTech的创始人,他被Amazon授予首批AWS社区英雄称号。他拥有科罗拉多大学博尔德分校计算机科学学士学位。丹·麦金拥有科罗拉多大学博尔德分校的电子和计算机工程学士学位。他将Linux和其他开源技术应用于自己的工作。他喜欢滑雪、帆船、越野旅游以及与妻子和狗狗共度时光。詹姆斯·加内特(James Garnett)拥有科罗拉多大学计算机科学博士学位,是Secure64 Software公司的高级软件工程师,负责开发Linux内核的DDoS缓解技术。法布里齐奥·布兰卡(Fabrizio Branca)是AOE的首席系统开发员,他曾助力过多个开源项目,专注于架构、基础设施和高性能应用,为大型项目的开发、测试和部署过程做出了促进工作。阿德里安·莫阿特(Adrian Mouat)从Docker早期就开始从事容器的研究工作,是Using Docker一书的作者。他目前是Container Solutions的首席科学家,该公司专注于微服务和容器的咨询和产品开发。
目录
第一部分 基础管理
第1章 从哪入手\t3
1.1 系统管理员的基本任务\t3
1.2 建议的知识背景\t5
1.3 Linux发行版\t6
1.4 本书中用到的示例系统\t7
1.5 写法与印刷约定\t9
1.6 单位\t10
1.7 手册页和其他联机文档\t11
1.8 其他权威文档\t12
1.9 其他信息源\t13
1.10 如何查找及安装软件\t14
1.11 选择托管\t18
1.12 专业及相邻学科\t19
第2章 引导与系统管理守护进程\t21
2.1 引导过程概览\t21
2.2 系统固件\t22
2.3 引导装载程序\t24
2.4 GRUB\t25
2.5 FreeBSD引导过程\t27
2.6 系统管理守护进程\t29
2.7 systemd详解\t31
2.8 FreeBSD init与启动脚本\t41
2.9 重新引导与关机\t42
2.10 系统无法引导的应对策略\t43
第3章 访问控制与超级权限\t47
3.1 标准UNIX访问控制\t47
3.2 管理root账户\t50
3.3 标准访问控制模型的扩展\t57
3.4 现代访问控制\t59
第4章 进程控制\t64
4.1 进程的组成\t64
4.2 进程的生命周期\t66
4.3 ps:监视进程\t70
4.4 使用top动态监视进程\t72
4.5 nice与renice:修改调度优先级\t73
4.6 /proc文件系统\t74
4.7 strace与truss:跟踪信号和系统调用\t75
4.8 失控进程\t77
4.9 周期性进程\t78
第5章 文件系统\t86
5.1 路径名\t87
5.2 文件系统的挂载与卸载\t87
5.3 文件树的组织\t89
5.4 文件类型\t91
5.5 文件属性\t95
5.6 访问控制列表\t101
第6章 软件的安装与管理\t110
6.1 操作系统安装\t110
6.2 软件包管理\t117
6.3 Linux软件包管理系统\t117
6.4 Linux高层软件包管理系统\t119
6.5 FreeBSD软件管理\t125
6.6 软件的本地化与配置\t128
第7章 脚本编程与shell\t130
7.1 脚本化的哲学\t130
7.2 shell基础\t134
7.3 sh脚本编程\t141
7.4 正则表达式\t150
7.5 Python编程\t154
7.6 Ruby编程\t160
7.7 Python和Ruby的库与环境管理\t165
7.8 使用Git实现版本控制\t169
第8章 用户管理\t174
8.1 账户机制\t175
8.2 /etc/passwd文件\t175
8.3 Linux的/etc/shadow文件\t179
8.4 FreeBSD的/etc/master.passwd文件与/etc/login.conf文件\t180
8.5 /etc/group文件\t182
8.6 手动添加用户\t183
8.7 用脚本添加用户:useradd、adduser、newusers\t187
8.8 安全删除用户的账户及其文件\t189
8.9 禁止登录\t190
8.10 使用PAM降低风险\t191
8.11 集中式账户管理\t191
第9章 云计算\t193
9.1 云\t194
9.2 云平台的选择\t195
9.3 云服务基础\t197
9.4 云:各种平台上的VPS快速入门\t202
9.5 成本控制\t207
第10章 日志\t210
10.1 日志位置\t212
10.2 systemd journal\t214
10.3 syslog\t216
10.4 内核与引导期间的日志记录\t228
10.5 日志文件的管理与轮替\t229
10.6 管理大规模日志\t230
10.7 日志记录策略\t232
第11章 驱动程序与内核\t233
11.1 内核相关的日常事务\t234
11.2 内核版本编号\t234
11.3 设备及其驱动程序\t235
11.4 Linux内核配置\t243
11.5 FreeBSD内核配置\t246
11.6 可装载内核模块\t248
11.7 引导\t250
11.8 在云中引导其他内核\t254
11.9 内核错误\t255
第12章 打印\t258
12.1 CUPS打印\t259
12.2 CUPS服务器管理\t262
12.3 故障排除技巧\t265
第二部分 连网
第13章 TCP/IP连网\t269
13.1 TCP/IP与Internet的关系\t269
13.2 连网基础\t271
13.3 分组寻址\t275
13.4 IP地址:残酷的细节\t277
13.5 路由选择\t285
13.6 IPv4 ARP与IPv6邻居发现\t287
13.7 DCHP:动态主机配置协议\t288
13.8 安全问题\t290
13.9 基本的网络配置\t293
13.10 Linux连网\t297
13.11 FreeBSD连网\t303
13.12 网络故障排除\t305
13.13 网络监控\t311
13.14 防火墙与NAT\t313
13.15 云连网\t319
第14章 物理连网\t326
14.1 以太网:连网技术中的瑞士军刀\t327
14.2 无线:流动人员的以太网\t333
14.3 SDN:软件定义网络\t336
14.4 网络测试与调试\t336
14.5 楼宇布线\t337
14.6 网络设计问题\t338
14.7 管理问题\t339
14.8 推荐厂商\t340
第15章 IP路由选择\t341
15.1 详解分组转发\t341
15.2 路由守护进程和路由协议\t344
15.3 协议巡礼\t346
15.4 路由协议多播协调\t347
15.5 路由策略的选择标准\t348
15.6 路由守护进程\t349
15.7 Cisco路由器\t350
第16章 DNS:域名系统\t353
16.1 DNS架构\t353
16.2 DNS的查询顺序\t355
16.3 DNS名称空间\t356
16.4 DNS的工作原理\t357
16.5 DNS数据库\t363
16.6 BIND软件\t373
16.7 DNS分割与view语句\t385
16.8 BIND配置示例\t386
16.9 更新区文件\t389
16.10 DNS安全问题\t392
16.11 调试BIND\t405
第17章 单点登录\t412
17.1 SSO的核心要素\t412
17.2 LDAP:“轻量级”目录服务\t413
17.3 使用目录服务登录\t418
17.4 替代方案\t423
第18章 电子邮件\t425
18.1 邮件系统架构\t425
18.2 剖析邮件消息\t428
18.3 SMTP协议\t430
18.4 垃圾邮件与恶意软件\t432
18.5 消息隐私与加密\t434
18.6 邮件别名\t434
18.7 电子邮件配置\t437
18.8 Sendmail\t438
18.9 EXIM\t457
18.10 Postfix\t471
第19章 Web托管\t481
19.1 HTTP:超文本传输协议\t481
19.2 Web软件基础\t487
19.3 云环境中的Web托管\t495
19.4 Apache httpd\t497
19.5 Nginx\t503
19.6 HAProxy\t507
第三部分 存储
第20章 存储\t513
20.1 我就是想加块硬盘\t514
20.2 存储硬件\t516
20.3 存储硬件接口\t522
20.4 硬盘的安装与低层管理\t524
20.5 逐层剖析存储的软件面\t528
20.6 硬盘分区\t530
20.7 逻辑卷管理\t534
20.8 RAID:廉价磁盘冗余阵列\t538
20.9 文件系统\t545
20.10 传统文件系统:UFS、ext4、XFS\t545
20.11 下一代文件系统:ZFS与Btrfs\t551
20.12 ZFS:解决所有的存储问题\t552
20.13 Btrfs:Linux的“简化版ZFS”\t559
20.14 数据备份策略\t563
第21章 网络文件系统\t565
21.1 认识网络文件服务\t565
21.2 NFS之道\t567
21.3 服务器端的NFS\t572
21.4 客户端NFS\t577
21.5 NFSv4身份映射\t579
21.6 nfsstat:转储NFS统计信息\t579
21.7 专有NFS文件服务器\t580
21.8 自动挂载\t581
第22章 SMB\t585
22.1 Samba:UNIX的SMB服务器\t585
22.2 Samba的安装与配置\t586
22.3 挂载SMB文件共享\t590
22.4 浏览SMB文件共享\t590
22.5 确保Samba的安全\t590
22.6 Samba调试\t591
第四部分 运维
第23章 配置管理\t597
23.1 配置管理概述\t597
23.2 配置管理的危险\t598
23.3 配置管理要素\t598
23.4 流行的CM系统对比\t602
23.5 Ansible简介\t611
23.6 Salt简介\t624
23.7 比较Ansible与Salt\t639
23.8 最佳实践\t641
第24章 虚拟化\t644
24.1 大话虚拟化\t645
24.2 Linux虚拟化\t648
24.3 FreeBSD bhyve\t651
24.4 VMware\t651
24.5 VirtualBox\t651
24.6 Packer\t652
24.7 Vagrant\t653
第25章 容器\t654
25.1 背景知识与核心概念\t655
25.2 Dcoker:开源的容器引擎\t656
25.3 容器实践\t670
25.4 容器集群与管理\t674
第26章 持续集成与交付\t678
26.1 CI/CD基础\t679
26.2 流水线\t682
26.3 Jenkin:开源的自动化服务器\t686
26.4 CI/CD实战\t688
26.5 容器与CI/CD\t698
第27章 安全\t701
27.1 安全要素\t702
27.2 安全是如何被破坏的\t702
27.3 基本安全措施\t704
27.4 密码与用户账户\t708
27.5 强力安全工具\t711
27.6 密码学入门\t717
27.7 SSH:The Secure SHell\t724
27.8 防火墙\t733
27.9 虚拟私有网络(VPN)\t734
27.10 专业认证与标准\t735
27.11 安全信息来源\t737
27.12 如果你的站点遭受攻击\t739
第28章 监控\t741
28.1 监控概览\t741
28.2 监控文化\t744
28.3 监控平台\t744
28.4 数据采集\t748
28.5 网络监控\t751
28.6 系统监控\t752
28.7 应用监控\t754
28.8 安全监控\t755
28.9 SNMP:简单网络管理协议 757
28.10 监控技巧\t760
第29章 性能分析\t761
29.1 性能调校的哲学\t761
29.2 提高性能的方法\t762
29.3 影响性能的因素\t763
29.4 窃取CPU周期\t764
29.5 分析性能问题\t764
29.6 检查系统性能\t765
29.7 救命!我的服务器实在是太慢了\t773
第30章 数据中心基础\t776
30.1 机架\t777
30.2 电力\t777
30.3 冷却与环境\t779
30.4 数据中心可靠性分级\t782
30.5 数据中心安全\t783
30.6 工具 \t784
第31章 方法论、策略与政治\t786
31.1 大一统理论:DevOps\t787
31.2 工单与任务管理系统\t790
31.3 本地文档维护\t792
31.4 环境分离\t794
31.5 灾难管理\t795
31.6 IT策略与规程\t797
31.7 服务水平协议\t799
31.8 合规:规章与标准\t801
31.9 法律问题\t803
31.10 组织、会议及其他资源\t805
附录 系统管理简史\t807
第1章 从哪入手\t3
1.1 系统管理员的基本任务\t3
1.2 建议的知识背景\t5
1.3 Linux发行版\t6
1.4 本书中用到的示例系统\t7
1.5 写法与印刷约定\t9
1.6 单位\t10
1.7 手册页和其他联机文档\t11
1.8 其他权威文档\t12
1.9 其他信息源\t13
1.10 如何查找及安装软件\t14
1.11 选择托管\t18
1.12 专业及相邻学科\t19
第2章 引导与系统管理守护进程\t21
2.1 引导过程概览\t21
2.2 系统固件\t22
2.3 引导装载程序\t24
2.4 GRUB\t25
2.5 FreeBSD引导过程\t27
2.6 系统管理守护进程\t29
2.7 systemd详解\t31
2.8 FreeBSD init与启动脚本\t41
2.9 重新引导与关机\t42
2.10 系统无法引导的应对策略\t43
第3章 访问控制与超级权限\t47
3.1 标准UNIX访问控制\t47
3.2 管理root账户\t50
3.3 标准访问控制模型的扩展\t57
3.4 现代访问控制\t59
第4章 进程控制\t64
4.1 进程的组成\t64
4.2 进程的生命周期\t66
4.3 ps:监视进程\t70
4.4 使用top动态监视进程\t72
4.5 nice与renice:修改调度优先级\t73
4.6 /proc文件系统\t74
4.7 strace与truss:跟踪信号和系统调用\t75
4.8 失控进程\t77
4.9 周期性进程\t78
第5章 文件系统\t86
5.1 路径名\t87
5.2 文件系统的挂载与卸载\t87
5.3 文件树的组织\t89
5.4 文件类型\t91
5.5 文件属性\t95
5.6 访问控制列表\t101
第6章 软件的安装与管理\t110
6.1 操作系统安装\t110
6.2 软件包管理\t117
6.3 Linux软件包管理系统\t117
6.4 Linux高层软件包管理系统\t119
6.5 FreeBSD软件管理\t125
6.6 软件的本地化与配置\t128
第7章 脚本编程与shell\t130
7.1 脚本化的哲学\t130
7.2 shell基础\t134
7.3 sh脚本编程\t141
7.4 正则表达式\t150
7.5 Python编程\t154
7.6 Ruby编程\t160
7.7 Python和Ruby的库与环境管理\t165
7.8 使用Git实现版本控制\t169
第8章 用户管理\t174
8.1 账户机制\t175
8.2 /etc/passwd文件\t175
8.3 Linux的/etc/shadow文件\t179
8.4 FreeBSD的/etc/master.passwd文件与/etc/login.conf文件\t180
8.5 /etc/group文件\t182
8.6 手动添加用户\t183
8.7 用脚本添加用户:useradd、adduser、newusers\t187
8.8 安全删除用户的账户及其文件\t189
8.9 禁止登录\t190
8.10 使用PAM降低风险\t191
8.11 集中式账户管理\t191
第9章 云计算\t193
9.1 云\t194
9.2 云平台的选择\t195
9.3 云服务基础\t197
9.4 云:各种平台上的VPS快速入门\t202
9.5 成本控制\t207
第10章 日志\t210
10.1 日志位置\t212
10.2 systemd journal\t214
10.3 syslog\t216
10.4 内核与引导期间的日志记录\t228
10.5 日志文件的管理与轮替\t229
10.6 管理大规模日志\t230
10.7 日志记录策略\t232
第11章 驱动程序与内核\t233
11.1 内核相关的日常事务\t234
11.2 内核版本编号\t234
11.3 设备及其驱动程序\t235
11.4 Linux内核配置\t243
11.5 FreeBSD内核配置\t246
11.6 可装载内核模块\t248
11.7 引导\t250
11.8 在云中引导其他内核\t254
11.9 内核错误\t255
第12章 打印\t258
12.1 CUPS打印\t259
12.2 CUPS服务器管理\t262
12.3 故障排除技巧\t265
第二部分 连网
第13章 TCP/IP连网\t269
13.1 TCP/IP与Internet的关系\t269
13.2 连网基础\t271
13.3 分组寻址\t275
13.4 IP地址:残酷的细节\t277
13.5 路由选择\t285
13.6 IPv4 ARP与IPv6邻居发现\t287
13.7 DCHP:动态主机配置协议\t288
13.8 安全问题\t290
13.9 基本的网络配置\t293
13.10 Linux连网\t297
13.11 FreeBSD连网\t303
13.12 网络故障排除\t305
13.13 网络监控\t311
13.14 防火墙与NAT\t313
13.15 云连网\t319
第14章 物理连网\t326
14.1 以太网:连网技术中的瑞士军刀\t327
14.2 无线:流动人员的以太网\t333
14.3 SDN:软件定义网络\t336
14.4 网络测试与调试\t336
14.5 楼宇布线\t337
14.6 网络设计问题\t338
14.7 管理问题\t339
14.8 推荐厂商\t340
第15章 IP路由选择\t341
15.1 详解分组转发\t341
15.2 路由守护进程和路由协议\t344
15.3 协议巡礼\t346
15.4 路由协议多播协调\t347
15.5 路由策略的选择标准\t348
15.6 路由守护进程\t349
15.7 Cisco路由器\t350
第16章 DNS:域名系统\t353
16.1 DNS架构\t353
16.2 DNS的查询顺序\t355
16.3 DNS名称空间\t356
16.4 DNS的工作原理\t357
16.5 DNS数据库\t363
16.6 BIND软件\t373
16.7 DNS分割与view语句\t385
16.8 BIND配置示例\t386
16.9 更新区文件\t389
16.10 DNS安全问题\t392
16.11 调试BIND\t405
第17章 单点登录\t412
17.1 SSO的核心要素\t412
17.2 LDAP:“轻量级”目录服务\t413
17.3 使用目录服务登录\t418
17.4 替代方案\t423
第18章 电子邮件\t425
18.1 邮件系统架构\t425
18.2 剖析邮件消息\t428
18.3 SMTP协议\t430
18.4 垃圾邮件与恶意软件\t432
18.5 消息隐私与加密\t434
18.6 邮件别名\t434
18.7 电子邮件配置\t437
18.8 Sendmail\t438
18.9 EXIM\t457
18.10 Postfix\t471
第19章 Web托管\t481
19.1 HTTP:超文本传输协议\t481
19.2 Web软件基础\t487
19.3 云环境中的Web托管\t495
19.4 Apache httpd\t497
19.5 Nginx\t503
19.6 HAProxy\t507
第三部分 存储
第20章 存储\t513
20.1 我就是想加块硬盘\t514
20.2 存储硬件\t516
20.3 存储硬件接口\t522
20.4 硬盘的安装与低层管理\t524
20.5 逐层剖析存储的软件面\t528
20.6 硬盘分区\t530
20.7 逻辑卷管理\t534
20.8 RAID:廉价磁盘冗余阵列\t538
20.9 文件系统\t545
20.10 传统文件系统:UFS、ext4、XFS\t545
20.11 下一代文件系统:ZFS与Btrfs\t551
20.12 ZFS:解决所有的存储问题\t552
20.13 Btrfs:Linux的“简化版ZFS”\t559
20.14 数据备份策略\t563
第21章 网络文件系统\t565
21.1 认识网络文件服务\t565
21.2 NFS之道\t567
21.3 服务器端的NFS\t572
21.4 客户端NFS\t577
21.5 NFSv4身份映射\t579
21.6 nfsstat:转储NFS统计信息\t579
21.7 专有NFS文件服务器\t580
21.8 自动挂载\t581
第22章 SMB\t585
22.1 Samba:UNIX的SMB服务器\t585
22.2 Samba的安装与配置\t586
22.3 挂载SMB文件共享\t590
22.4 浏览SMB文件共享\t590
22.5 确保Samba的安全\t590
22.6 Samba调试\t591
第四部分 运维
第23章 配置管理\t597
23.1 配置管理概述\t597
23.2 配置管理的危险\t598
23.3 配置管理要素\t598
23.4 流行的CM系统对比\t602
23.5 Ansible简介\t611
23.6 Salt简介\t624
23.7 比较Ansible与Salt\t639
23.8 最佳实践\t641
第24章 虚拟化\t644
24.1 大话虚拟化\t645
24.2 Linux虚拟化\t648
24.3 FreeBSD bhyve\t651
24.4 VMware\t651
24.5 VirtualBox\t651
24.6 Packer\t652
24.7 Vagrant\t653
第25章 容器\t654
25.1 背景知识与核心概念\t655
25.2 Dcoker:开源的容器引擎\t656
25.3 容器实践\t670
25.4 容器集群与管理\t674
第26章 持续集成与交付\t678
26.1 CI/CD基础\t679
26.2 流水线\t682
26.3 Jenkin:开源的自动化服务器\t686
26.4 CI/CD实战\t688
26.5 容器与CI/CD\t698
第27章 安全\t701
27.1 安全要素\t702
27.2 安全是如何被破坏的\t702
27.3 基本安全措施\t704
27.4 密码与用户账户\t708
27.5 强力安全工具\t711
27.6 密码学入门\t717
27.7 SSH:The Secure SHell\t724
27.8 防火墙\t733
27.9 虚拟私有网络(VPN)\t734
27.10 专业认证与标准\t735
27.11 安全信息来源\t737
27.12 如果你的站点遭受攻击\t739
第28章 监控\t741
28.1 监控概览\t741
28.2 监控文化\t744
28.3 监控平台\t744
28.4 数据采集\t748
28.5 网络监控\t751
28.6 系统监控\t752
28.7 应用监控\t754
28.8 安全监控\t755
28.9 SNMP:简单网络管理协议 757
28.10 监控技巧\t760
第29章 性能分析\t761
29.1 性能调校的哲学\t761
29.2 提高性能的方法\t762
29.3 影响性能的因素\t763
29.4 窃取CPU周期\t764
29.5 分析性能问题\t764
29.6 检查系统性能\t765
29.7 救命!我的服务器实在是太慢了\t773
第30章 数据中心基础\t776
30.1 机架\t777
30.2 电力\t777
30.3 冷却与环境\t779
30.4 数据中心可靠性分级\t782
30.5 数据中心安全\t783
30.6 工具 \t784
第31章 方法论、策略与政治\t786
31.1 大一统理论:DevOps\t787
31.2 工单与任务管理系统\t790
31.3 本地文档维护\t792
31.4 环境分离\t794
31.5 灾难管理\t795
31.6 IT策略与规程\t797
31.7 服务水平协议\t799
31.8 合规:规章与标准\t801
31.9 法律问题\t803
31.10 组织、会议及其他资源\t805
附录 系统管理简史\t807
猜您喜欢