第1章 Linux的安装 1
1.1 安装知识 1
1.1.1 基本配置信息 1
1.1.2 硬盘知识和Linux分区 3
1.1.3 Linux安装方式 5
1.2 安装前的提示 7
1.2.1 如何控制安装 7
1.2.2 如何获取安装过程中的信息 8
1.3 开始安装 8
1.3.1 启动安装程序 8
1.3.2 选择安装界面 8
1.3.3 选择语言和键盘 9
1.3.4 PCMCIA支持 9
1.3.5 选择一种安装方式 9
1.3.6 设置SCSI设备 10
1.3.7 硬盘分区 10
1.3.8 选择软件包 12
1.3.9 包的依赖性 12
1.3.10 包的安装 12
1.3.11 配置鼠标 13
1.3.12 配置网卡 13
1.3.13 配置TCP/IP网络 13
1.3.14 配置时区 14
1.3.15 选择系统启动时要启动的服务 14
1.3.16 配置打印机 14
1.3.17 配置密码和验证 15
1.3.18 制作启动盘 15
1.3.19 配置X Window 16
1.3.20 安装完成 17
1.4 小结 17
习题 17
第2章 Linux基本概念 19
2.1 登录进入系统 19
2.2 Linux文件系统层次结构 20
2.2.1 基本命令 20
2.2.2 文件系统层次结构 21
2.3 文件操作 22
2.4 Linux文件系统 24
2.4.1 索引节点 24
2.4.2 符号连接和硬连接 25
2.4.3 mv命令 26
2.5 挂装 27
2.6 如何获得帮助 28
2.7 小结 29
习题 30
第3章 Linux用户管理 31
3.1 用户账号 31
3.1.1 增加用户账号 32
3.1.2 理解/etc/passwd文件 33
3.1.3 理解/etc/shadow文件 34
3.2 用户组 35
3.2.1 建立新组 36
3.2.2 理解/etc/group文件 36
3.2.3 理解用户私有组 36
3.3 用户管理 37
3.3.1 改变用户设置 37
3.3.2 删除和禁止用户账号 39
3.3.3 用户身份转换 39
3.4 小结 40
习题 40
第4章 Linux文件权限 41
4.1 理解文件权限 41
4.2 改变文件的权限 43
4.2.1 改变文件的所有者 43
4.2.2 改变文件所有组 43
4.2.3 设置文件权限 44
4.3 文件和目录权限的区别 46
4.4 修改连接权限 47
4.4.1 硬连接 47
4.4.2 符号连接 47
4.5 为用户设置默认文件权限 48
4.6 理解SUID和SGID 48
4.7 理解Ext2特有权限 49
4.8 小结 50
习题 50
第5章 进程管理 51
5.1 进程的基本概念 51
5.2 查看进程状态 52
5.3 理解信号 54
5.4 向进程发信号 56
5.5 控制进程优先级 57
5.6 监视系统负荷 57
5.7 小结 58
习题 58
第6章 vi的使用 59
6.1 vi介绍 59
6.2 编辑方式 60
6.2.1 光标的移动 60
6.2.2 字符串查找 61
6.2.3 替换和删除 61
6.2.4 复制和粘贴 62
6.2.5 命令的撤消与重复 62
6.3 插入方式 63
6.3.1 插入命令 63
6.3.2 正文替换 63
6.4 命令方式 64
6.4.1 文件操作 64
6.4.2 退vi 65
6.4.3 vi编辑选项 65
6.4.4 行号操作 66
6.4.5 字符串替换 67
6.5 小结 67
习题 67
第7章 Bash介绍 69
7.1 Bash介绍 69
7.1.1 用分号串联命令 70
7.1.2 通配符和模板 70
7.1.3 引号和转义 71
7.2 输入/输出重定向 71
7.2.1 输出重定向 72
7.2.2 输入重定向 73
7.3 管道 74
7.4 历史表文件 74
7.5 Shell函数 75
7.6 Shell操作技巧 76
7.6.1 命令补全功能 76
7.6.2 后台作业 77
7.6.3 作业控制 78
7.7 正则表达式 79
7.8 小结 83
习题 83
第8章 Shell编程 85
8.1 Shell脚本 85
8.2 变量 87
8.2.1 环境变量 87
8.2.2 参数变量 88
8.2.3 用户变量 88
8.2.4 与脚本交互 90
8.2.5 将命令结果赋给变量 90
8.2.6 返回值 91
8.3条件表达式 91
8.4 流程控制 93
8.4.1 if语句 93
8.4.2 elif语句 94
8.4.3 for语句 95
8.4.4 while语句 96
8.4.5 until语句 97
8.4.6 case语句 98
8.4.7 命令的串联 99
8.5 函数 100
8.6 Shell命令 103
8.6.1 :命令 103
8.6.2 .命令 103
8.6.3 break命令 104
8.6.4 continue命令 105
8.6.5 echo命令 105
8.6.6 eval命令 105
8.6.7 export命令 106
8.6.8 expr命令 107
8.6.9 printf命令 107
8.6.10 set命令 108
8.6.11 shift命令 108
8.7 小结 109
习题 109
第9章 启动过程 111
9.1 理解系统启动过程 111
9.2 理解LILO 112
9.2.1 LILO安装在MBR中 112
9.2.2 LILO安装在Linux 分区的引导扇区中 113
9.3 理解Linux启动过程 113
9.3.1 理解inittab配置文件 115
9.3.2 /etc/rc.d/rc.sysinit脚本 118
9.3.3 理解rc.d目录 118
9.3.4 理解rc脚本 119
9.3.5 理解rc.d目录下的其他脚本 120
9.3.6 启动过程 120
9.4 关闭和重新启动系统 121
9.5 系统服务管理 122
9.6 小结 123
习题 124
第10章 升级与定制内核 125
10.1 升级内核 125
10.1.1 rpm文件名 125
10.1.2 查找rpm信息 126
10.1.3 rpm包的安装与删除 126
10.1.4 rpm包的升级 127
10.1.5 升级内核 127
10.2 定制内核 128
10.2.1 make config 129
10.2.2 make menuconfig 140
10.2.3 编译内核的一般方法 140
10.3 小结 141
习题 141
第11章 X Window初步 143
11.1 什么是X 143
11.2 配置X Window 145
11.2.1 使用X配置工具 145
11.2.2 理解X Window配置文件 150
11.2.3 进阶X Free86 4.0 153
11.3 小结 159
习题 159
第12章 网络基础知识 161
12.1 IP地址类型 161
12.1.1 A类地址 162
12.1.2 B类地址 163
12.1.3 C类地址 163
12.1.4 D类与E类地址 163
12.2 配置网络接口 163
12.2.1 配置新的网络接口 163
12.2.2 为一个网络接口建立多个IP地址别名 167
12.3配置网关 168
12.3.1 配置网关 168
12.3.2 利用ping测试网络 169
12.4 小结 170
习题 170
第13章 网络安全基础 171
13.1 设计安全网络 171
13.1.1 使用私有IP地址 171
13.1.2 IP地址伪装 172
13.2 配置防火墙 173
13.2.1 数据包过滤器 174
13.2.2 使用基本的数据包过滤防火墙 174
13.2.3 使用应用程序级的防火墙 176
13.3 使用Squid代理服务器 176
13.3.1 获取并安装Squid 176
13.3.2 使用Squid 177
13.3.3 配置Squid满足自己的需求 178
13.4 常用网络安全工具介绍 180
13.4.1 Sniffit 180
13.4.2 ttysnoop 181
13.4.3 nmap 182
13.5 小结 182
习题 182
第14章 DNS服务器的配置 183
14.1 背景知识 183
14.1.1 HOSTS.TXT文件 183
14.1.2 域名服务概述 184
14.1.3 DNS正式域名 185
14.1.4 域名服务器 185
14.1.5 资源记录 186
14.2 配置DNS客户 190
14.3 配置DNS服务器 192
14.3.1 安装BIND 192
14.3.2 配置主域名服务器 192
14.3.3 配置辅域名服务器 193
14.3.4 配置反向域名服务器 194
14.3.5 配置Caching only域名服务器 195
14.3.6 控制域名服务器 196
14.4 测试域名服务器 197
14.5 使用域名服务器平衡负荷 197
14.6 小结 198
习题 198
第15章 FTP服务器的安装与配置 199
15.1 安装Wu-ftpd程序 199
15.2 配置Ftp服务器 201
15.2.1 各Ftp配置文件介绍 201
15.2.2 建立匿名Ftp站点 211
15.2.3 建立guest Ftp帐号 212
15.2.4 监控transfer日志文件 215
15.2.5 wu-ftp的相关程序 215
15.3 小结 215
习题 215
第16章 Apache的安装和配置 217
16.1 安装Apache 217
16.1.1 获得Apache 217
16.1.2 定制Apache 218
16.1.3 编译并安装Apache 218
16.2 使用第三方的模块 220
16.2.1 添加FastCGI支持 220
16.2.2 在Apache 中添加嵌入式的Perl解释器 220
16.2.3 添加PHP脚本支持 221
16.3 配置与控制Apache 222
16.3.1 httpd.conf中主要的配置指令 222
16.3.2 配置Apache支持个人主页 225
16.3.3 配置虚拟主机 226
16.3.4 配置Apache的CGI脚本 228
16.3.5 配置Apache的SSI支持 231
16.3.6 使用错误日志 233
16.4 小结 234
习题 235
第17章 与Windows共享文件和打印机 237
17.1 安装Samba 237
17.2 配置Samba 238
17.2.1设置[global]参数 238
17.2.1设置[homes]参数 241
17.2.3设置[printers]参数 241
17.3 通过网络设置Samba 242
17.3.1测试/etc/smb.conf配置 244
17.3.2启动、停止和重新启动Samba服务 244
17.4 在Windows上使用 Linux文件服务器 244
17.5 在Linux上使用Windows文件服务器 245
17.6 在Linux和Windows间共享打印机 246
17.6.1 Linux共享Windows打印机 246
17.6.2 Windows共享Linux打印机 248
17.7 使用交互式Samba客户程序 249
17.8 保护Samba服务器 250
17.8.1 用Windows NT服务器做密码服务器 250
17.8.2 在Samba服务器上加密密码 250
17.9小结 251
习题 251
第18章 SSH与SSL的配置 253
18.1 配置SSH1 253
18.1.1 安装SSH1 254
18.1.2 配置SSH1 255
18.1.3 使用tcp-wrappers配置SSHD 258
18.1.4 单个用户配置SSHD 259
18.1.5 SSH1的用户工具 260
18.2 配置SSH2 261
18.2.1 安装SSH2 261
18.2.2 配置SSH2 262
18.2.3 配置SSHD2使用tcp-wrappers 265
18.2.4 单个用户配置SSHD 266
18.2.5 SSH2的用户工具 267
18.3 配置OpenSSL 268
18.3.1 SSL概述 268
18.3.2 安装SSL 269
18.3.3 配置SSL 271
18.4 小结 279
习题 279
附录A 常见问题解答 281
附录B 光盘内容 317