致谢 1
前言 7
第1章 定制用户环境 13
1 最大限度地利用默认的shell 13
2 便捷的tcsh shell配置文件选项 18
3 创建shell绑定 21
4 使用终端和X绑定 24
5 在终端中使用鼠标 29
6 处理一些常规琐事 31
7 锁定屏幕 35
8 创建回收站目录 38
9 设定用户配置 41
10 在多系统上维护环境 50
11 使用交互式shell 54
12 在一个终端上使用多个屏幕 58
第2章 处理文件和文件系统 64
13 查找 64
14 充分利用grep命令 69
15 用sed处理文件 73
16 用命令行对文本进行格式处理 77
17 定位符文件的处理 83
18 DOS软盘操作 85
19 不经过服务器访问Windows的共享文件 94
20 磁盘整理 97
21 管理临时文件和交换分区 102
22 使用mtree重构目录结构 106
23 ghost系统 111
24 定制默认的引导菜单 117
第3章 引导与登录环境 117
25 保护启动过程 122
26 运行自主系统 126
27 对远程的自主系统进行日志记录 129
28 去除终端登录中的标语 133
29 用blowfish哈希表保护密码 136
30 监视密码策略的实施 139
31 创建一个有效的、可重用的密码策略 146
32 自动生成能记住的密码 151
33 使用一次性密码 155
34 限制登录 159
第4章 备份数据 164
35 利用SMBFS备份FreeBSD 164
36 创建便携式POSIX档案 168
37 交互式复制 173
38 在网络上保护我们的备份数据 177
39 自动远程备份 179
40 为PostgreSQL数据库自动转储数据 185
41 使用Bacula实现客户-服务器方式的跨平台备份 188
第5章 网络Hack 196
42 通过远程登录查看控制台消息 196
43 伪造MAC地址 199
44 使用多个无线NIC配置 203
45 避免Internet瘫痪造成的灾难 208
46 让tcpdump的输出更人性化 211
47 了解DNS记录和工具 218
48 不使用邮件客户端收发邮件 225
49 我们为什么需要sendmail? 229
50 保存邮件稍后发送 233
51 最大范围的获取FTP 236
52 分布式命令执行 239
53 交互式远程管理 242
第6章 维护系统安全 247
54 揭开内核的面纱 247
55 FreeBSD访问控制列表 258
56 用标志位保护文件 265
57 通过强制访问控制提升系统安全性能 271
58 将mtree作为系统内建的Tripwire 275
59 利用Snort,ACID,MySQL和FreeBSD进行入侵检测 280
60 对硬盘进行加密 292
61 sudo命令 298
62 sudoscript 301
63 限制SSH服务器 307
64 用脚本实现IP过滤规则 309
65 使用PF,保障无线网络的安全 312
66 自动生成防火墙规则 317
67 自动应用安全补丁 321
68 扫描网络中的Windows计算机,查找病毒 325
第7章 基础之上 331
69 根据不同的应用调整FreeBSD 331
70 FreeBSD上的流量整型 336
71 创建紧急修复工具 342
72 使用FreeBSD恢复进程 346
73 使用GNU调试器分析缓冲区溢出 350
74 巩固Web服务器日志 354
75 脚本同用户的交互 360
76 创建内部演示样例 365
第8章 实时更新 370
77 自动安装 370
78 在现有系统的基础上升级FreeBSD 374
79 将修改内容安全的合并到/etc中 380
80 自动升级 384
81 创建package repository 388
82 脱离ports tree完成安装 392
83 利用CTM进行程序和软件的实时更新 395
84 浏览Ports系统 398
85 对软件和程序进行回滚 403
86 创建我们自己的启动脚本 406
87 自动建立NetBSD的package 410
88 在Mac OS X上安装Unix的应用程序 414
第9章 深入理解BSD 419
89 我们该如何知道呢? 419
90 创建自己的帮助文档 422
91 充分利用帮助文档 426
92 应用,理解,创建补丁 430
93 显示硬件信息 436
94 查看系统中的当前用户 439
95 拼写竞赛 443
96 准时退出系统 447
97 运行本地的Java应用程序 449
98 交替使用签名 453
99 有用的One-Liner 455
100 玩转X 458