第1章 Red Hat Linux 1
1.1 概述 1
1.1.1 安装提示 1
1.1.2 其他发布版本 4
1.2 即时解决方案 5
1.2.1 获取Red Hat Linux新版本的方法 5
1.2.2 通过Red Hat更新系统 5
1.2.3 GNOME简介 6
1.2.4 KDE简介 11
第2章 用户管理 16
2.1.1 用户账户的类型 17
2.1 概述 17
2.1.2 分析Useradd过程 18
2.1.3 分析userdel过程 21
2.1.4 组的巧妙使用 21
2.2 即时解决方案 22
2.2.1 创建shell账户 22
2.2.2 创建限制访问的账户 27
2.2.3 创建软件账户 31
2.2.4 更改账户创建中的缺省设置 32
2.2.5 重命名用户 34
2.2.6 禁用用户 36
2.2.7 删除用户 37
2.2.8 安装用户要运行的软件 39
2.2.9 创建组 40
2.2.10 将用户添加到组 41
2.2.11 转发用户邮件 42
第3章 文件系统管理 44
3.1 概述 45
3.1.1 硬驱概述 45
3.1.2 文件系统内幕 45
3.1.3 了解Linux文件系统 47
3.1.4 保护数据 50
3.1.5 限制用户存储空间 55
3.2.2 列出ext2文件系统的设置 56
3.2.3 更改权限 56
3.2.1 创建Linux文件系统 56
3.2 即时解决方案 56
3.2.4 设置umask 58
3.2.5 更改所有权 58
3.2.6 更改组 58
3.2.7 检查文件系统错误 58
3.2.8 备份和恢复文件系统结构 58
3.2.9 备份文件系统 59
3.2.10 从备份中恢复文件系统 60
3.2.11 将文件系统的一部分移到分区上 61
3.2.12 在文件系统中添加或拆除介质 61
3.2.14 在GNOME中导航文件系统 65
3.2.13 查看当前安装的设备 65
3.2.15 在KDE中导航文件系统 68
3.2.16 设置磁盘限额 69
3.2.17 关机和重启动 71
3.2.18 制作定制的引导盘 71
3.2.19 制作急救盘 72
第4章 软件包管理 73
4.1 概述 73
4.1.1 工具类型 73
4.1.2 选择下载的格式 75
4.1.3 软件包管理原则 76
4.2.2 打开gzip文件 77
4.2.3 创建Z compress文件 77
4.2.1 创建gzip文件 77
4.2 即时解决方案 77
4.2.4 打开Z compress文件 78
4.2.5 创建tar文件 78
4.2.6 检查tar文件的内容 78
4.2.7 打开tar文件 78
4.2.8 打开或创建tarball文件 79
4.2.9 安装二进制文件 79
4.2.10 创建RPM文件 79
4.2.11 安装RPM文件 81
4.2.15 验证RPM文件 82
4.2.14 删除一个RPM软件包 82
4.2.13 列出所安装的RPM 82
4.2.12 查看RPM文件的内容 82
4.2.16 检验一个带PGP签名的RPM 83
4.2.17 使用GNOME的RPM工具 83
4.2.18 使用KDE的RPM工具 85
第5章 内核管理 89
5.1 概述 89
5.1.1 Linux内核 89
5.1.2 内核文档 92
5.2.1 获取内核版本和其他系统信息 95
5.2.2 获得最新的内核源代码 95
5.2 即时解决方案 95
5.2.3 安装新内核 96
5.2.4 使用config配置内核 97
5.2.5 使用menuconfig配置内核 100
5.2.6 使用xconfig配置内核 102
5.2.7 列出已装载模块 103
5.2.8 手工插入模块 103
5.2.9 手工删除模块 104
5.2.10 获取系统信息 104
5.2.11 设置模块参数 105
5.2.12 更新LILO 106
6.1.1 Linux GUI组件 108
第6章 GUI管理 108
6.1 概述 108
6.1.2 相关文件 111
6.2 即时解决方案 112
6.2.1 在Red Hat内安装X服务器 112
6.2.2 在Red Hat内安装GNOME或KDE 113
6.2.3 联机查找GUI组件 115
6.2.4 添加窗口管理器 115
6.2.5 添加主题 117
6.2.6 更改桌面环境 119
6.2.7 重新启动X服务器 119
6.2.8 更改缺省运行级别 120
第7章 网络 121
7.1 概述 122
7.1.1 Linux网络介绍 122
7.1.2 路由器 126
7.1.3 部分地址类 126
7.1.4 集中管理网络 127
7.2 即时解决方案 130
7.2.1 配置网络 130
7.2.2 获得一组IP地址 131
7.2.3 注册域名 131
7.2.5 为子网化一个C类网络判断值 132
7.2.4 检查一个域名是否被占用 132
7.2.6 将子网值应用到一个网络 134
7.2.7 表示地址范围 134
7.2.8 为局域网手工配置基本静态网络 134
7.2.9 使用Linuxconf为一个局域网配置基本网络 135
7.2.10 添加虚拟站点 137
7.2.11 在命令行上将多于一个IP地址分配到一个接口 138
7.2.12 在Linuxconf中将多个IP地址分配到一个接口 138
7.2.13 在命令行上配置第二个网络接口 139
7.2.14 在Linuxconf中配置第二个网络接口 139
7.2.16 使用Linuxconf设置路由 140
7.2.15 在命令行上设置路由 140
7.2.17 在Linuxconf上配置路由守护程序 143
7.2.18 设置IP伪装 144
7.2.19 设置拨出连接 144
7.2.20 设置DHCP服务器 149
7.2.21 配置pump客户程序 150
7.2.22 远程管理机器 151
第8章 打印 153
8.1 概述 153
8.1.1 介绍Linux下的打印 153
8.1.2 Linux打印问题 157
8.1.3 介绍GhostScript 157
8.2 即时解决方案 158
8.2.1 在控制面板中设置本地打印机 158
8.1.4 非软件技术问题 158
8.2.2 在命令行上设置本地打印机 160
8.2.3 在控制面板中设置网络打印机 162
8.2.4 在命令行设置网络打印机 164
8.2.5 设置流行的打印过滤器 165
8.2.6 测试打印机 166
8.2.7 打印文件 166
8.2.8 查看打印队列 166
8.2.9 取消打印作业 167
8.2.10 检查打印机状态 167
8.2.11 禁用的启用打印队列 167
9.1 概述 168
第9章 系统安全基础 168
9.1.1 让门敞开 169
9.1.2 在线安全资源 172
9.1.3 可用的工具 173
9.1.4 攻击与侵入 179
9.1.5 防火墙 180
9.2 即时解决方案 185
9.2.1 激活和取消激活shadow套 185
9.2.2 关闭不必要的守护程序和后台进程 185
9.2.3 关闭不必要的无守护程序的网络服务 187
9.2.4 使用tcp_wrappers限制网络访问 188
9.2.5 获得及安装ssh 189
9.2.6 在服务器上设置ssh 190
9.2.7 在客户机上设置ssh 193
9.2.8 删除不必要的软件包 194
9.2.9 创建和使用命名管道 195
9.2.10 日志文件 195
9.2.11 安装swatch 196
9.2.12 分析日志文件 196
9.2.13 为系统破坏作准备 196
9.2.14 从破坏中恢复 197
9.2.15 成为超级用户 197
9.2.16 安装Crack Password Checker 197
9.2.17 使用Crack保护口令 198
9.2.18 设置口令规则 199
9.2.19 防止拒绝服务攻击 199
9.2.20 获得及安装PGP 199
9.2.21 设置IP防火墙 200
9.2.22 设置代理防火墙 202
9.2.23 只允许登录到根账户 203
第10章 重复安装工具——KickStart 204
10.1 概述 204
10.1.1 介绍KickStart 204
10.1.2 KickStart脚本的结构 205
10.1.3 测试-编辑循环 211
10.2.1 安装第一台机器 212
10.2 即时解决方案 212
10.2.3 用于KickStart的脚本提示 213
10.2.2 建立最初的KickStart文件 213
10.2.4 制作KickStart引导盘 214
10.2.5 直接引导到KickStart 214
10.2.6 设置NFS安装导出 215
10.2.7 将KickStart数据添加到DHCP服务器上 216
10.2.8 使用KickStart进行安装 216
10.2.9 使用KickStart进行升级 217
10.2.10 克隆机器配置 217
11.1 概述 219
11.1.1 域名系统 219
第11章 使用BIND的DNS 219
11.1.2 Linux下的名字服务 220
11.1.3 介绍/etc/named.conf 221
11.1.4 区文件 228
11.1.5 与名字服务相关的程序 231
11.2 即时解决方案 233
11.2.1 安装名字服务器 233
11.2.2 配置主名字服务器 234
11.2.3 配置从名字服务器 235
11.2.4 配置只转发的服务器 237
11.2.5 创建最初的高速缓存文件 238
11.2.6 创建反序本地区文件 238
11.2.7 创建自己的域区 239
11.2.8 创建自己的反序域区 241
11.2.9 创建加密密钥 242
11.2.10 安装及运行dnswalk 242
第12章 Internet电子邮件 244
12.1 概述 244
12.1.1 电子邮件如何到达目的地 244
12.1.2 Sendmail的介绍 248
12.1.3 邮件列表 256
12.2 即时解决方案 257
12.2.1 安装所有部分 257
12.2.2 命令行方式配置sendmail服务器 257
12.2.4 操作/etc/sendmail.cf 258
12.2.3 命令行方式下创建sendmail.cf 258
12.2.5 用Linuxconf配置sendmail服务器 261
12.2.6 手工设置邮件别名 275
12.2.7 远离邮件垃圾 276
12.2.8 创建CW文件 277
12.2.9 建立邮递员表 277
12.2.10 建立虚拟地址表 278
12.2.11 建立访问数据库 278
12.2.12 用Linuxconf将邮件从队列中删除 279
12.2.13 配置procmail 280
13.1.1 Apache介绍 284
第13章 Apache Web服务器 284
13.1 概述 284
13.1.2 配置文件 285
13.1.3 其他Linux Web服务器 304
13.2 即时解决方案 305
13.2.1 安装Apache 305
13.2.2 配置Apache 305
13.2.3 配置apache访问 305
13.2.4 配置httpd 308
13.2.5 设置虚拟Web服务 310
13.2.6 配置Web浏览器 311
13.2.7 定制日志 313
13.2.8 设置.htaccess 314
第14章 Squid Internet对象缓存 315
14.1 概述 315
14.1.1 Web缓存概述 315
14.1.2 Squid概述 315
14.2 即时解决方案 317
14.2.1 安装Squid 317
14.2.2 配置Squid 317
14.2.3 设置父缓存和成员缓存 322
14.2.4 设置Web服务器加速 324
14.2.6 配置客户端以利用缓存机制 325
14.2.5 设置组播 325
第15章 FTP和Telnet 328
15.1 概述 328
15.1.1 FTP问题 328
15.1.2 Telnet问题 332
15.2 即时解决方案 332
15.2.1 安全FTP 332
15.2.2 安装匿名FTP 335
15.2.3 安全Telnet 336
15.2.4 创建关机信息 336
16.1.1 NIS和NIS+简介 338
16.1 概述 338
第16章 NIS和NIS+ 338
16.1.2 使用NIS系统 339
16.2 即时解决方案 340
16.2.1 安装NIS服务器 340
16.2.2 安装NIS客户端 340
16.2.3 设置NIS服务器 341
16.2.4 设置NIS客户端 342
第17章 网络文件系统 344
17.1 概述 344
17.1.1 NFS简介 344
17.1.2 NFS配置文件 344
17.2.2 通过NFS安装远程文件系统 346
17.2.1 设置NFS导出 346
17.2 即时解决方案 346
17.2.3 创建并安装中心/usr目录 347
17.2.4 配置NFS安装服务器 349
第18章 Samba 350
18.1 概述 350
18.1.1 Samba简介 350
18.1.2 Samba配置文件 351
18.2 即时解决方案 360
18.2.1 安装Samba 360
18.2.2 配置Samba 360
18.2.3 提供Linux分区 366
18.2.4 创建文件共享段 369
18.2.5 在Linux下安装Windows共享段 371
18.2.6 提供Windows共享段 372
18.2.7 提供Linux打印共享 375
18.2.8 创建打印共享段 376
18.2.9 在Linux下使用Windows打印机 377
18.2.10 在Samba上实现加密口令 378
18.2.11 创建用户镜像 379
18.2.12 创建主机镜像 379
18.2.13 创建登录脚本 380
19.1.1 vi编辑器 382
19.1 概述 382
第19章 文本处理工具 382
19.1.2 模式匹配 386
19.1.3 Sed编辑器 388
19.1.4 其他工具 390
19.2 即时解决方案 393
19.2.1 vi实际操作 393
19.2.2 vi中的文本过滤 393
19.2.3 在vi中拷贝和粘贴文本 395
19.2.4 vi中的文本缩进 396
19.2.5 使用正则表达式 397
19.2.6 多命令方式下运行sed 398
19.2.7 构造sed脚本文件 399
19.2.8 通过外部文件脚本运行sed 400
19.2.9 使用cut命令 400
19.2.10 使用join命令 401
19.2.11 使用ispell进行拼写检查 401
19.2.12 构造ispell词典 403
19.2.13 精减ispell词典的大小 404
19.2.14 使用tr命令 405
第20章 shell脚本 406
20.1 概述 406
20.1.1 shell 406
20.1.2 Bash shell脚本 407
20.2.1 改变当前shell 413
20.2 即时解决方案 413
20.2.2 安装公共域Korn shell 414
20.2.3 更改自己的bash登录提示符 414
20.2.4 编写自己的软件包更新脚本 415
20.2.5 编写用户创建脚本 418
20.2.6 编写在RPM中查找文件的脚本 421
20.2.7 编写监视系统负载的脚本 423
第21章 Perl脚本 425
21.1 概述 425
21.1.1 Perl介绍 425
21.1.2 Perl程序设计 425
21.2.1 Perl安装 430
21.2 即时解决方案 430
21.2.2 获取和安装Perl库模块 431
21.2.3 运行Perl程序 432
21.2.4 用Perl编写CGI脚本 432
21.2.5 处理Web表格 433
第22章 Linux C编程 436
22.1 概述 436
22.2 即时解决方案 438
22.2.1 安装C编译器 438
22.2.2 使用gcc编译C源码文件 438
22.2.3 使用gdb调试代码 441
22.2.4 使用gprof命令查找大量占用资源的代码段 443
22.2.5 安装构造管理工具 444
第23章 其他系统管理工具 445
23.1 概述 445
23.1.1 自动安装工具 445
23.1.2 定时处理 446
23.1.3 搜索工具 447
23.2 即时解决方案 449
23.2.1 安装automount守护程序控制器 449
23.2.2 配置automounter 449
23.2.3 配置安装基点 450
23.2.5 创建at作业 451
23.2.4 配置可以使用at的用户 451
23.2.6 显示现有的at作业 453
23.2.7 删除现有的at作业 453
23.2.8 修改batch平均负载 453
23.2.9 修改系统cron作业 453
23.2.10 处理用户cron作业 455
23.2.11 使用find 456
23.2.12 修改locate数据库更新时间 460
23.2.13 使用locate查找文件 461
23.2.14 使用which查找程序 461
23.2.15 使用grep来查找所需的内容 461
附录A GNU通用公共许可证 463
附录B 本书光盘包含的内容 469