第1篇 进入Linux天地 1
第1章 Linux简介 2
1.1 Linux的过去、现状和未来 2
1.2 Linux的内核 4
1.3 Linux的发行版 4
2.1.1 选择Linux发行版本 7
2.1.2 选择合适的硬件配置 7
2.1 准备工作 7
第2章 Linux的安装 7
2.1.3 空间和共存要求 12
2.2 安装指南 13
2.2.1 准备工作 13
2.2.2 安装的实施过程 17
第3章 Linux的基本命令 26
3.1 目录操作命令 26
3.1.1 用pwd显示当前和工作目录 26
3.1.3 用mkdir命令建立用户目录 27
3.1.2 用cd命令改变用户工作目录 27
3.1.4 用rmdir命令删除目录 28
3.1.5 用ls命令显示目录中的内容 29
3.2 文件操作命令 32
3.2.1 用cp命令复制文件 32
3.2.2 用mv命令移动文件和文件换名 34
3.2.3 用rm命令删除文件或目录 36
3.2.4 用file命令查看文件类 37
3.2.5 用ln命令在文件间建立连接 38
3.2.6 用split命令分割文件 41
3.2.7 用chmod改变文件或目录的许可权限 42
3.2.8 用chown改变文件的属主和所属的用户组 45
3.2.9 用chgrp改变文件或目录所属的用户组 46
3.2.1 0用touch命令改变文件的时间参数 47
3.3 选择命令 48
3.3.1 用whereis命令查找你所需要的命令 48
3.3.2 在大量目录中用find命令搜索特定文件 49
3.3.3 用diff命令比较文件的不同 51
3.3.4 用cmp命令比较文件的不同 52
3.3.5 用grep、egrep、fgrep命令在文件中搜索匹配行并输出 53
3.3.6 用head命令显示文件的前几行 56
3.3.7 用tail命令显示文件的最后几行 57
3.3.8 用wc命令统计文件中的字节数、单词数、行数 58
3.4 排序命令 59
3.5 文件处理命令 62
3.5.1 用cat命令连接文件并输出 62
3.5.2 用cut命令将文件的每一行都去掉一个域 63
3.5.3 用paste命令将不同文件的行连接起来 65
3.6 文件备份与压缩 66
3.6.1 用tar命令打包备份文件 66
3.6.2 用gzip、gunzip、zcat命令压缩或展开文件 68
3.6.3 用gzexe命令压缩可执行文件 69
3.7 获取帮助 69
3.7.1 用man命令获取帮助信息 70
3.7.2 用whatis命令获取命令的简略说明 72
3.7.3 用apropos命令查找你所需要的命令 73
3.7.4 使用窗口界面下的xman 73
3.8 其他命令 74
3.8.1 用who命令查看系统中登录的用户 75
3.8.2 用passwd命令改变用户口令 77
3.8.3 用last、lastb命令显示过去用户或终端登录到本机器的情况 78
3.8.5 用cal命令显示一个日历 79
3.8.4 用su命令成为超级用户 79
3.8.6 用df命令报告磁盘的剩余空间 80
3.8.7 用du命令报告磁盘空间的使用情况 81
第4章 shell编程 83
4.1 shell简介 83
4.2 shell变量 84
4.2.1 用户变量 85
4.2.2 环境变量 88
4.2.3 位置参数 93
4.3 Cshell编程 94
4.2.4 特殊变量 94
4.3.1 Cshell脚本文件 95
4.3.2 Cshell脚本表达式 98
4.3.3 Cshell脚本控制结构 101
4.3.4 Cshell脚本中的输入输出 107
第5章 Linux下的XWindow设置 110
5.1 XWindow系统 110
5.2 XWindow的初始化设置 112
5.2.1 ‘xinit’启动X 112
5.2.2 ‘startx’启动X 114
5.2.3 ‘xdm’启动X 115
5.3 XWindow的配置 116
5.4 XF86Config文件分析 125
5.5 选择窗口管理器 130
第2篇 Linux系统管理 141
6.2.1 超级用户 142
6.2 用户和用户组 142
第6章 用户管理 142
6.1 概述 142
6.2.2 用户与用户组 143
6.3 用户组的管理 148
6.3.1 建立用户组 148
6.3.2 设置用户组的口令 149
6.3.3 修改用户组的属性 149
6.4 用户管理 151
6.4.1 创建用户 151
6.3.4 删除用户组 151
6.4.2 修改用户属性 156
6.4.3 删除用户 157
6.5 用户间的通信 158
6.5.1 talk--与别人聊天 159
6.5.2 mesg--控制消息的到来 160
6.5.3 wall--将信息发往所有用户 161
6.5.4 write--与别人取得联系 163
6.5.5 mail--发封电子邮件 165
7.1.1 LILO基本安装和配置 171
第7章 LILO的设置 171
7.1 LILO的安装和配置 171
7.1.2 LILO的特殊操作 173
7.1.3 LILO的常见错误 175
7.2 LILO的卸载 177
7.3 从BIOS不可见的分区引导LILO 177
7.4 当BIOS不支持大硬盘时引导LILO 179
7.5 恢复盘上的LILO 179
第8章 优化内核 181
8.1 准备工作 181
8.2 修补内核 183
8.3 配置内核 184
8.4 编译内核 196
8.5 安装内核 197
9.1.1 设备与文件 199
9.1.3 接口控制器类型 199
9.1.2 块设备与字符设备 199
9.1 设备的基本概念 199
第9章 设备管理 199
9.2 配置块设备 201
9.2.1 硬盘驱动器 201
9.2.2 CD-ROM驱动器 202
9.3 配置字符设备 205
9.3.1 终端 206
9.3.2 声卡 207
9.3.3 鼠标 213
9.3.4 内存 214
9.3.5 显示卡 214
9.4 模块 216
9.4.1 编译模块 216
9.4.2 模块的安装 217
9.4.3 内核守护进程--kerneld 218
9.4.4 conf.modules文件说明 219
9.4.5 常用的模块 220
10.1.1 常用文件类型 222
10.1.2 文件组织方式简述 222
第10章 文件系统管理 222
10.1 文件与文件系统的概念 222
10.2 Linux文件系统的目录树 223
10.2.1 常用目录简介 223
10.2.2 用户文件的存放准则 227
10.3 Linux支持的文件系统 228
10.3.1 常用的文件系统类型 228
10.3.2 一些古老的文件系统 229
10.4.1 文件系统的加载与卸载 230
10.4 安装和卸载文件系统 230
10.4.2 文件系统的创建与维护 234
10.4.3 Linux文件系统的整体维护 237
10.5 Linux的文件属性 239
10.5.1 文件类型及权限 239
10.5.2 文件权限修改 241
10.6 使用交换空间提高文件系统的效率 241
10.6.1 交换空间 241
10.6.2 操作交换空间 242
10.6.3 使用高速缓存作为交换空间 245
10.7 Linux系统支持的设备 245
第11章 高级系统管理 246
11.1 系统启动 246
11.1.1 启动过程 246
11.1.2 设备的检测 246
11.1.3 调用init进程 248
11.1.4 inittab文件 248
11.1.5 执行rc.sysinit 250
11.1.6 执行/etc/rc.d/rc文件 257
11.1.7 进入运行等级3 259
11.1.8 控制台 262
11.2 配置你自己的工作环境 262
11.2.1 bash的工作环境的配置 263
11.2.2 tcsh中的工作环境的配置。 276
11.2.3 设置你的mail 279
第3篇 网络管理与服务 285
12.1 Internet和TCP/IP历史 286
第12章 TCP/IP协议 286
12.2.1 以太网(Ethernet) 287
12.2 局域网络技术 287
12.2.2 令牌环网(TokenRing) 288
12.2.3 光纤分布数据接口(FDDI) 289
12.3 局域网互连 290
12.3.1 重发器 290
12.3.2 桥接器 290
12.4 IP(InternetProtocol) 291
12.4.1 数据包传送 291
12.3.4 网关(GateWay) 291
12.3.3 路由器 291
12.4.2 数据包差错控制 292
12.4.3 网络寻径 292
12.5 TCP和UDP 295
12.5.1 传输控制协议(TCP) 296
12.5.2 用户数据报协议(UDP) 297
13.2.1 内核发展简介 299
13.2 网络内核 299
第13章 网络配置 299
13.1 关于Linux网络的相关站点和资源 299
13.2.2 更新内核和网络工具 300
13.2.3 模块 301
13.3 内核的支持 301
13.4 网络设备的安装 303
13.4.1 Linux支持的网络设备 304
13.4.2 以太网卡 304
13.5 配置网络参数 311
13.5.1 IP地址分配 311
13.5.2 设置网络接口 312
13.5.3 配置网络参数 313
13.6 IPMasquerade(伪IP) 327
13.6.1 配置IPMasquerade 328
13.6.2 分配IP地址 330
13.6.3 设置IPMasq主机的转发功能 330
13.7 与网络相关的配置文件 331
13.6.4 在其他系统下面配置IPMasq 331
13.8 网络安装和配置中出现的一些常见问题 336
第14章 建立你所感兴趣的业务 337
14.1 网络守护进程 337
14.1.1 inetd 337
14.1.2 services文件 340
14.1.3 protocol文件 341
14.1.4 TCP守护进程tcpd 341
14.2.1 ApacheServer源程序的取得 343
14.2 建立WWW服务器 343
14.2.2 编译源程序 344
14.2.3 启动WWW服务器 345
14.2.4 配置文件 345
14.2.5 httpd 350
14.2.6 总结:standalone和inetd 350
14.3 代理服务器 351
14.3.1 设置代理功能 351
14.4.1 安装BBS服务器 354
14.4 BBS服务器 354
14.3.2 设置Cache 354
14.4.2 测试 357
14.4.3 系统管理及相关档案的设置 357
14.4.4 应用 360
第4篇 安全漫谈 363
第15章 系统安全概述 364
15.1 系统安全隐患 364
15.2 安全意识 364
15.3.1 管理用户的策略 365
15.3 安全策略 365
15.3.2 系统管理员的策略 366
第16章 系统的物理安全措施 369
16.1 给机器上锁 369
16.2 设置BIOS密码 369
16.3 利用自举程序加密 375
16.4 利用Lock程序进行保护 377
16.5 莫名其妙的宕机 378
17.1.1 口令安全 380
第17章 用户与文件系统安全 380
17.1 用户安全 380
17.1.2 几点预备知识 381
17.1.3 保持用户安全的要点 382
17.2.3 维护口令安全 392
17.3 文件系统安全 394
17.3.1 Linux文件系统的回顾与设备安全 394
17.3.2 文件安全检查的相关问题 397
17.3.3 安全检查 401
17.4 关于特洛伊木马 402
17.4.1 何谓特洛伊木马 403
17.4.2 关于缓冲区溢出攻击的讨论 403
17.5 维护文件系统安全的措施 407
17.5.1 对shell(rsh)加以限制 407
17.5.2 用chroot()限制用户 407
18.1 UUCP系统及安全 409
18.1.1 UUCP系统概述 409
18.1.2 UUCP命令 409
第18章 网络安全 409
18.1.3 UUCP的安全问题 411
18.2 网络安全防护 412
18.2.1 攻击网络的手段 412
18.2.2 系统服务的精简和网路的屏蔽 413
18.2.3 记录与扫描你的网络 418
18.3 通信安全 418
18.3.1 物理安全保护 418
18.3.2 通讯加密保护 419
18.4 SUNOS系统的网络安全 420
18.4.2 SUN的UNIX鉴别机制 421
18.4.1 NFS的安全 421
18.4.3 SUN的DES鉴别机制 422
18.4.4 总结 424
附录 专用接口光盘驱动器模块安装 426
17.2 用户口令安全的深入讨论 486
17.2.1 有关用户口令的讨论 486
17.2.2 破解口令的讨论 488