《UNIX技术内幕》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Robin Anderson,(美)Andy Johnston等著;周靖等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111109317
  • 页数:768 页
图书介绍:

1.2 五步引导过程概述 1

1.3 第1步:固件——硬件自识别 1

目录 1

序 1

前言 1

第一部分 基本操作 1

第1章 启动和关机 1

1.1 介绍 1

1.3.1 固件的一些实例 2

1.3.3 固件设置 3

1.3.2 固件的工作 3

1.3.4 固件的机制和特点 4

1.4.2 bootloader的机制和特点 12

1.4.1 bootloader的工作 12

1.4 第2步:bootloader——载入OS 12

1.5 第3步:内核——初始化和控制转移 13

1.5.1 内核的工作  14

1.5.2 内核的机制和特点 15

1.6 第4步:init进程和初始化脚本 16

1.6.2 init的机制和特点:inittab 17

1.6.1 init的工作 17

1.6.3 init的机制和特点:init脚本 20

1.7 第5步:交给管理员——其他杂项 22

1.9 dmesg显示的Red Hat引导顺序 23

1.8 系统关闭和更改init级别 23

1.10 dmesg显示的Solaris引导顺序 26

1.11 最佳操作 29

1.13 注释 30

1.12 在线参考 30

2.2 物理设备 32

2.1 介绍 32

第2章 管理磁盘硬件 32

2.3.2 FireWire(IEEE 1394)简述 33

2.3.1 串行通信简述 33

2.3 独立于OS的硬件通信标准 33

2.3.5 并行通信简述 34

2.3.4 ATAPI简述 34

2.3.3 USB简述 34

2.3.6 IDE/ATA 35

2.3.7 SCSI 37

2.4.1 命名约定 48

2.4 了解你的系统 48

2.4.2 让OS报告它识别到的硬件 49

2.5 添加/删除磁盘(和其他设备) 52

2.5.1 添加设备 53

2.5.2 删除设备 55

2.6 最佳操作 56

2.7 在线参考 57

2.8 注释 59

3.2.1 虚拟设备:分区 62

3.2 合理划分磁盘空间 62

第3章 文件系统管理 62

3.1 介绍 62

3.2.2 逻辑结构:文件系统 66

3.2.3 划分原则 69

3.2.4 分区的技术细节 74

3.3 文件系统的进一步讨论 76

3.3.1 文件系统组成部分管理员须知 77

3.3.2 文件系统类型 85

3.4.1 本地文件系统创建 90

3.4 管理本地文件系统 90

3.4.2 本地文件系统可用性管理 91

3.4.3 空间管理 96

3.5 可移动存储介质 100

3.6 最佳操作 101

3.8 注释 102

3.7 在线参考 102

4.1 身份、实体、权力的定义 105

第4章 用户管理 105

4.2.1 /etc/passwd 107

4.2 在本地存储基本用户信息 107

4.2.2 /etc/group 109

4.2.3 /etc/shadow 111

4.3.1 rsync,rdist,cfengine 115

4.3 在网络上共享用户(或其他人的)信息 115

4.3.2 NIS(被NIS+取代) 116

4.3.3 LDAP 127

4.4.1 策略 129

4.4 创建帐户 129

4.4.2 技术问题 133

4.5.1 策略 136

4.5 删除帐户 136

4.5.2 技术问题 138

4.6 最佳操作 140

4.7 在线参考 142

4.8 注释 143

5.2.1 Interrnet是网络的网络 147

5.2 TCP/IP 147

第5章 网络应用 147

5.1 介绍 147

5.2.2 IP地址 150

5.2.3 IP配置与故障排除命令 156

5.2.4 服务与端口 162

5.3 最佳操作 166

5.4 在线参考 167

6.2.1 BSD系统日志 169

6.2 标准UNIX系统日志:syslog 169

第6章 日志 169

6.1 介绍 169

6.2.2 syslog内部模式 173

6.2.3 syslog.conf 174

6.3 计时:ntp 178

6.3.2 在系统中配置ntp 179

6.3.1 ntp结构 179

6.4 配置系统的日志安全 180

6.4.1 保护本地日志配置 181

6.4.2 保护远程日志配置 182

6.5 使用syslog记录应用程序日志 185

6.7 syslog以外的标准系统日志 186

6.6 syslog以外的特定应用程序日志 186

6.9 日志分析和报告 190

6.8 跨平台记录syslog的其他方式 190

6.9.1 日志分析 192

6.9.2 实时/准实时警告和通知 194

6.9.3 日志循环和保存 196

6.10 最佳操作 198

6.11 在线参考 199

6.12 注释 200

7.3 UNIX密码验证概述 201

7.2 身份验证的定义 201

第7章 身份验证 201

7.1 介绍 201

7.4 好的密码和糟糕的密码 202

7.4.2 Solaris 2.8中的密码检查规则 203

7.4.1 Linux Red Hat 7.1中的密码检查规则 203

7.4.3 Linux Red Hat 7.1中的密码有效期 205

7.5 基本UNIX密码实现 206

7.4.4 Solaris 2.8中的密码有效期 206

7.5.1 Linux Red Hat 7.1中的密码散列 207

7.5.5 Solaris 2.8中的shadow密码项域 208

7.5.4 Linux Red Hat 7.1中的shadow密码项域 208

7.5.2 Solaris 2.8中的密码散列 208

7.5.3 Linux Red Hat 7.1和Solaris 2.8的本地密码文件格式 208

7.5.8 Linux Red Hat 7.1中的newusers程序 209

7.5.7 在Solaris 2.8中编辑密码文件 209

7.5.6 在Linux Red Hat 7.1中编辑密码文件 209

7.6 密码破解 210

7.7 网络信息系统 211

7.7.2 Solaris 2.8中的nsswitch.conf文件 213

7.7.1 Linux Red Hat 7.1中的nsswitch.conf文件 213

7.8.2 Solaris 2.8中的散列算法 214

7.8.1 Linux Red Hat 7.1中的散列算法 214

7.8 其他UNIX密码算法 214

7.9 其他身份验证方案 215

7.10.1 Linux Red Hat 7.1的OpenSSH 217

7.10 ssh和身份验证 217

7.10.2 Solaris 2.8中的ssh选项 218

7.11 集成PAM 220

7.10.3 Kerberos 220

7.11.1 Linux Red Hat 7.1中的PAM 223

7.12 ident服务器和身份验证 224

7.11.2 Solaris 2.8中的PAM 224

7.13 最佳操作 225

7.12.2 Solaris 2.8的identd守护进程 225

7.12.1 Linux Red Hat 7.1的identd守护进程 225

7.14 参考 226

8.1 必须加强系统 228

第8章 系统安装后的保护措施 228

8.2 安装补丁:过程与策略 229

8.2.1 安装Solaris时 230

8.2.2 在Red Hat Linux系统中安装补丁 231

8.3.1 第1步:有人在程序中发现了一个bug 232

8.3 除了安装补丁以外,为什么还需要其他措施 232

8.2.3 Mandrake Linux 232

8.2.4 安装补丁的综合考虑 232

8.3.2 第2步:有人意识到这个bug是个安全漏洞 233

8.3.4 第4步:有人可能会将漏洞的信息公开 234

8.3.3 第3步:有人指出如何利用这个漏洞 234

8.3.6 第6步:发布二进制形式的(供应商)补丁 235

8.3.5 第5步:发布源代码补丁 235

8.4.1 第一部分:inetd/xinetd审查 236

8.4 审查服务 236

8.3.7 第7步:人们应用了补丁 236

8.4.2 第二部分:使用netstat、lsof和一些检查工具跟踪其余信息 243

8.5.1 TCP Wrappers(tcpd) 253

8.5 安全的网络守护进程替代产品 253

8.4.3 定期检查完整性 253

8.5.3 安全portmapper(portmap/rpcbind) 254

8.5.2 Secure Shell(ssh) 254

8.6 审查密码 255

8.7 使用Bastille Linux实现自动化锁定Linux/UNIX 256

8.7.2 文件权限(FilePermissions.pm) 257

8.7.1 帐户安全(AccountSecurity.pm) 257

8.7.7 禁用用户工具(DisableUserTools.pm) 258

8.7.6 配置各种PAM设置(Configure-MiscPAM.pm) 258

8.7.3 关闭各种守护进程(Miscellaneous-Daemons.pm ) 258

8.7.4 引导安全(BootSecurity.pm) 258

8.7.5 添加功能增强的日志(logging.pm) 258

8.7.12 sendmail(sendmail.pm) 259

8.7.11 FTP(FTP.pm) 259

8.7.8 打印(printing.pm) 259

8.7.9 Apache(Apache.pm) 259

8.7.10 DNS(DNS.pm) 259

8.7.16 端口扫描攻击检测程序(psad.pm) 260

8.7.15 防火墙(firewall.pm) 260

8.7.13 安全的inetd配置(SecureInetd.pm) 260

8.7.14 tmp目录保护(TMPDIR.pm) 260

8.8.1 Titan 261

8.8 使用其他工具实现自动化锁定Solaris/UNIX 261

8.9 最佳操作 264

8.8.2 Solaris专用的加强工具:YASSP和jass 264

8.11 注释 265

8.10 资源 265

9.2.1 成为root的重要性 268

9.2 主动的系统管理员 268

第9章 日常系统管理 268

9.1 概述 268

9.2.2 进程管理 269

9.2.3 查看系统日志 273

9.2.5 赞成和反对使用配额的理由 274

9.2.4 检查分区使用情况 274

9.2.7 所有程序都在运行吗 275

9.2.6 系统是何时启动的 275

9.2.8 备份完成了吗 276

9.3.1 降低防范 277

9.3 反应式管理 277

9.2.9 成为系统环境专家 277

9.3.2 排除故障 278

9.3.3 解释用户请求 279

9.3.4 删除的mailspool 281

9.3.6 “需要为Web页组和邮件组创建帐户”的情况 283

9.3.5 “新人员需要帐户”的情况 283

9.3.8 需要新硬件 284

9.3.7 “〈在此插入应用程序名〉有问题”的情况 284

9.4 最佳操作 285

9.3.9 需要新软件/许可证 285

9.5 在线参考 286

10.3 X发行版导航 287

10.2.2 Solaris风格 287

第二部分 关键子系统 287

第10章 X Window系统 287

10.1 介绍 287

10.2 X目录结构 287

10.2.1 XFree86风格 287

10.4 非基础性的基础知识 289

10.5.1 基于主机的授权 290

10.5 安全性 290

10.5.2 xauth:更强的验证方法 291

10.5.4 启动安全验证 293

10.5.3 其他验证方案 293

10.6.1 .xsession 294

10.6 自定义环境(以用户身份) 294

10.6.2 资源 295

10.6.3 键映射 298

10.6.4 实用应用程序:xkeycaps 299

10.6.5 窗口管理器和环境 300

10.7.1 xdm 301

10.7 系统级X环境 301

10.7.2 X字体 304

10.7.3 字体存储方式 306

10.8 参考 307

10.7.5 字体路径 307

10.7.4 字体存储位置 307

11.1.1 域和子域 309

11.1 介绍 309

第11章 名称服务(DNS) 309

11.1.3 名称服务基本原理 310

11.1.2 BIND 310

11.2 客户端(即解析程序) 313

11.1.5 FQDN 313

11.1.4 服务器与客户端的区别 313

11.3.1 主名称服务器和从属名称服务器 315

11.3 名称服务器 315

11.3.2 配置BIND启动 316

11.3.3 配置区 317

11.3.4 维护DNS 324

11.4.1 nslookup 325

11.4 工具和故障排除 325

11.3.5 仅起高速缓存作用的名称服务器 325

11.6 在线参考 326

11.5 最佳操作 326

11.4.2 dig 326

12.1 UNIX邮件处理 328

第12章 邮件 328

12.1.1 UNIX邮件投递代理 329

12.1.2 UNIX邮件传输代理 331

12.1.3 UNIX邮件用户代理 334

12.1.4 SMTP协议 336

12.2 sendmail MTA包 344

12.2.2 使用m4宏预处理程序 345

12.2.1 配置sendmail 345

12.3.1 UNIX工作站邮件配置 347

12.3 UNIX邮件客户端 347

12.3.2 使用PINE阅读和发送邮件消息 348

12.4.1 专用域邮件集中器 349

12.4 服务器主题 349

12.4.2 使用procmail作为本地邮件投递代理 351

12.4.3 SMTP验证 355

12.4.4 IMAP服务器和POP服务器 358

12.4.5 IMAP和POP安全 362

12.5 最佳操作 363

12.6 在线参考 364

13.1.1 文件共享的概念 365

13.1 文件共享概述 365

第13章 文件共享 365

13.1.2 文件共享的历史 366

13.1.3 文件共享的现状 367

13.1.4 当网络策略不支持同时使用文件共享时的共享技术 369

13.2.1 NFS概述 370

13.2 设置NFS 370

13.2.2 服务器设置 374

13.2.3 客户端设置 381

13.2.4 NFS性能调节和故障排除 386

13.3 设置Samba 390

13.3.1 Samba概述 391

13.3.2 服务器设置 394

13.3.3 Samba客户端设置 404

13.3.4 Samba故障排除和性能调节 405

13.5 在线参考 406

13.4 最佳操作 406

14.1 介绍 408

第14章 打印 408

14.2.1 将作业加入队列 409

14.2 后台打印系统 409

14.2.2 过滤作业 411

14.3.1 配置文件 412

14.3 System V下的打印 412

14.2.3 命令 412

14.3.3 添加本地打印机配置 413

14.3.2 命令 413

14.3.6 修改默认目标 414

14.3.5 删除打印机配置 414

14.3.4 在客户端添加远程打印机配置 414

14.3.11 终止/启动打印 415

14.3.10 终止/启动后台队列 415

14.3.7 提交打印作业请求 415

14.3.8 状态信息 415

14.3.9 取消打印作业请求 415

14.4.2 命令 416

14.4.1 配置文件 416

14.3.12 将作业转移到另一个目标 416

14.3.13 记帐 416

14.4 BSD系统下的打印 416

14.4.3 添加本地打印机配置 417

14.4.4 在客户端添加远程打印机配置 418

14.4.9 取消打印作业请求 419

14.4.8 状态信息 419

14.4.5 删除打印机配置 419

14.4.6 修改默认目标 419

14.4.7 提交打印作业请求 419

14.5.1 配置文件 420

14.5 LPRng下的打印 420

14.4.10 终止/启动后台队列 420

14.4.11 终止/启动打印 420

14.4.12 记帐 420

14.5.2 命令 421

14.5.3 添加本地打印机配置 422

14.5.8 状态信息 423

14.5.7 提交打印作业请求 423

14.5.4 在客户端添加远程打印机配置 423

14.5.5 删除打印机配置 423

14.5.6 修改默认目标 423

14.6.1 配置文件 424

14.6 CUPS下的打印 424

14.5.9 取消打印作业请求 424

14.5.10 终止/启动后台队列 424

14.5.11 终止/启动打印 424

14.5.12 将作业转移到另一个目标 424

14.5.13 记帐 424

14.6.3 添加本地打印机配置 425

14.6.2 命令 425

14.6.7 提交打印作业请求 428

14.6.6 修改默认目标 428

14.6.4 在客户端添加远程打印机配置 428

14.6.5 删除打印机配置 428

14.7 最佳操作 429

14.6.14 打印机配置 429

14.6.8 状态信息 429

14.6.9 取消打印作业请求 429

14.6.10 终止/启动后台队列 429

14.6.11 终止/启动打印 429

14.6.12 将作业转移到另一个目标 429

14.6.13 记帐 429

14.8 在线参考 430

15.2 提供基本Web服务 431

15.1 介绍 431

第15章 基本Web服务 431

15.3.1 Apache须知 432

15.3 获取并安装Apache 432

15.3.3 配置源代码 433

15.3.2 获取源代码 433

15.3.5 安装新服务器 434

15.3.4 生成Apache 434

15.4.1 配置文件 436

15.4 配置Apache 436

15.4.2 全局配置指令 437

15.4.3 配置默认服务器 439

15.4.4 配置虚拟服务器 443

15.5.2 在Apache中配置SSI 444

15.5.1 使用SSI的原因 444

15.5 服务器端嵌入 444

15.5.3 测试SSI示例 445

15.6 配置MIME 446

15.7.1 启用CGI 448

15.7 CGI脚本 448

15.8.1 Apache模块的定义 449

15.8 使用Apache模块添加特性 449

15.7.2 测试配置 449

15.8.2 标准模块 450

15.8.4 模块配置指令 451

15.8.3 附加模块 451

15.9 运行改变根目录的(chrooted)Web服务器 452

15.9.2 设置chroot环境 453

15.9.1 运行改变根目录服务器的原因 453

15.11 最佳操作 454

15.10 参考 454

16.1 介绍 455

第16章 备份 455

16.2 备份的步骤和条件 456

16.2.2 系统或数据的关键性 459

16.2.1 预算 459

16.2.3 了解可能遇到的恢复类型 460

16.2.6 离场存储 462

16.2.5 保存 462

16.2.4 恢复速度 462

16.2.9 选择备份介质 463

16.2.8 完成配置——备份窗口和其他约束 463

16.2.7 中央专用备份服务器 463

16.2.11 还原/恢复测试 464

16.2.10 监视的重要性 464

16.2.13 指定备份计划 465

16.2.12 配套的系统配置文档 465

16.2.14 书写备份策略 466

16.3.1 常用嵌入工具 467

16.3 备份与恢复 467

16.2.15 改进系统 467

16.3.2 免费工具 468

16.3.3 商业化产品 479

16.4 最佳操作 480

16.6 总结 481

16.5 在线参考 481

17.1.1 有关自由软件的更多话题 483

17.1 介绍 483

第三部分 应用程序和工具 483

第17章 开放源码软件管理 483

17.1.3 在哪里查找自由和开放源码软件 484

17.1.2 一些基本的自由软件 484

17.1.5 应当选择源码还是二进制形式 485

17.1.4 厂商提供的“自由”软件 485

17.1.6 安装二进制版本 486

17.1.7 Solaris包 488

17.2 生成源码分发 493

17.2.1 需求 494

17.2.2 生成一个软件包:OpenSSH 495

17.2.3 生成软件 500

17.2.4 高级软件配置 502

17.3 管理软件安装 511

17.4 注释 519

18.2.1 什么是数据库 520

18.2 数据库综述 520

第18章 数据库 520

18.1 介绍 520

18.2.2 系统结构 523

18.2.3 数据库就是操作系统 524

18.2.4 数据库为什么要吞噬如此多的资源 527

18.3.3 性能和复杂性 533

18.3.2 支持大型系统还是支持小型系统 533

18.3 挑选一家数据库厂商 533

18.3.1 平台选择 533

18.3.5 价格和厂商可用性 534

18.3.4 支持和接口 534

18.4 Oracle数据库综述 535

18.4.1 机器设置 536

18.4.2 基本结构 539

18.4.3 安装过程 542

18.4.4 数据库环境和文件配置 544

18.4.5 备份 547

18.4.6 MySQL概述 549

18.5 总结 552

19.2.1 解释型和编译型语言 554

19.2 脚本编制 554

第19章 自动化 554

19.1 介绍 554

19.2.2 其他脚本编制语言:Expect、Perl等 560

19.3.1 at:面向未来事件的一次性调度 563

19.3 调度和定期执行的进程 563

19.3.2 cron:定期调度 564

19.3.4 cron的例子 565

19.3.3 anacron:可拦截的定期调度 565

19.4 用cfengine进行自动化配置管理 567

19.4.1 工作原理 568

19.4.3 一个cfengine命令实例——tidy: 569

19.4.2 用网络分发cfengine的配置文件 569

19.4.4 示范cfengine.conf文件 571

19.5.1 再教育 573

19.5 改进自动化技术的提示 573

19.6 对自动化价值的解释 574

19.5.2 良好工程 574

19.8 在线参考 575

19.7 最佳操作 575

20.1.1 动态与静态站点 576

20.1 提供高级Web服务 576

第20章 高级Web服务 576

20.1.2 站点所用软件 578

20.1.4 把用户看成测试者 582

20.1.3 运行时间、可靠性和风险 582

20.1.6 成本(以及由管理层决定的事情) 583

20.1.5 集成和系统级设置 583

20.2 脚本语言 588

20.1.7 不便共享时:专用服务器的情况 588

20.3 数据库 592

20.4.1 PHP 594

20.4 语言 594

20.4.2 Perl 597

20.4.3 Java 599

20.4.5 ASP 600

20.4.4 JSP 600

20.4.6 JavaScript 601

20.4.7 身份验证、状态保存和Cookie 603

20.4.8 服务器身份验证 605

20.5 安全性 607

20.4.9 状态变量 607

20.5.2 访问:谁有权用它和在哪里使用 608

20.5.1 系统安全性 608

20.5.3 污染 609

20.6 后期工作 610

20.6.1 人/页 611

20.6.3 负载问题 612

20.6.2 趋势分析 612

20.6.5 干扰和准确的用户数据 613

20.6.4 重新设计和报酬 613

20.6.6 可视化和使用情况 614

20.6.7 Web广告 615

21.2 为什么要担心 617

21.1 介绍 617

第四部分 改善系统管理 617

第21章 安全性 617

21.3 复杂系统的危险性 618

21.4 构建一个威胁模型 619

21.5.2 两种安全哲学 621

21.5.1 我们完了 621

21.5 安全哲学 621

21.6.2 系统加固 623

21.6.1 备份 623

21.6 安全就是麻烦 623

21.6.3 系统补丁 625

21.6.4 阅读日志 626

21.6.5 侦测问题 627

21.7 配置管理 629

21.8.1 策略理论 630

21.8 策略 630

21.8.2 规程 631

21.9 道德 632

21.8.3 管理层要买帐 632

21.12 资源 634

21.11 最佳操作 634

21.10 总结 634

22.2 网络的危险性 636

22.1 介绍 636

第22章 入侵侦测 636

22.3.1 封装 637

22.3 网络协议概念 637

22.3.2 分层 638

22.4.1 ISO OSI七层模型 639

22.4 堆栈 639

22.4.2 TCP/IP模型 640

22.5.2 端口扫描 656

22.5.1 缓冲区溢出 656

22.5 探索TCP/IP协议 656

22.7 负签名 657

22.6 正签名 657

22.8.1 安装Snort 659

22.8 Snort 659

22.8.2 测试Snort 661

22.9 NIDS 665

22.10 最佳操作 674

22.11 在线参考 675

23.1 需求分析 676

第23章 需求分析和性能监视 676

23.1.2 工作目标 677

23.1.1 资源 677

23.1.4 需求分析中的注意事项 678

23.1.3 需求分析驱动设计 678

23.2.1 找出瓶颈 679

23.2 性能监视 679

23.2.2 系统整体性能状态 680

23.3 容量展望与计划 693

23.3.3 维持灵活性 694

23.3.2 指定替换部件 694

23.3.1 建立计划表 694

23.5 在线参考 695

23.4 最佳操作 695

24.2 用户想要什么 696

24.1 赢得尊重 696

第24章 与人相处 696

24.3 做一名有远见的管理员 697

24.3.2 让他人更能干 698

24.3.1 如何教用户 698

24.3.3 如何教老板 700

24.4 成功的仪表 701

24.3.4 提前维护 701

24.5 与其他管理员相处 702

24.5.1 指导 703

24.6 研讨会和协会 705

24.5.2 新上岗的管理员须知 705

24.6.1 加入Usenix和SAGE 706

24.6.2 和志同道合者聊一聊 708

24.7 编写文件的好处 709

24.8 管理性策略 711

24.8.1 领导能力 712

24.8.2 制定章程 714

24.9 获取所需资源 715

24.11 你不可能取悦每个人 718

24.10 好的系统管理员同时也是好人 718

附录A 高级安装步骤 721

第五部分 附录 721

附录B 从磁盘到文件系统 726

附录C 用户创建核对表 737

附录D 二进制、十六进制小结 739

附录E UNIX密码系统 747

附录F 方便的命令 758

附录G 参考资料 765