第1章 Linux概述 1
1.1 Linux起源与简介 1
1.2 Linux的特性 2
1.2.1 Linux的优势 3
1.2.2 Linux流行的原因 6
1.2.3 Linux的可移植性 6
1.3 Linux的版本类别 7
1.4 Red Hat Linux的发展趋势 7
1.5 Red Hat Enterprise Linux 5 8
1.5.1 Red Hat Enterprise Linux 5的版本类别 8
1.5.2 Red Hat Enterprise Linux 5的主要功能 8
1.6 下载及注意事项 10
1.7 系统安装过程中的几个重要步骤 10
1.7.1 启动安装程序 11
1.7.2 分区注意事项 12
1.7.3 引导装载程序设置 13
1.7.4 软件包选择 14
1.8 系统删除 15
1.9 系统启动、登录等基本操作 16
1.9.1 系统启动及登录 16
1.9.2 终端模拟、ssh和telnet 18
1.9.3 用reboot命令重新启动计算机 19
1.9.4 用shutdown命令关机或进入单人维护模式 20
1.10 文本模式和图形化模式的切换 21
1.11 系统登录时的几个注意事项 22
1.11.1 如何处理登录失败 22
1.11.2 退出 22
1.11.3 更改密码 22
1.12 上机实验 24
1.13 思考练习 24
1.13.1 填空题 24
1.13.2 选择题 25
1.13.3 问答题 25
第2章 GNOME桌面 27
2.1 桌面简介 27
2.1.1 通用桌面环境(CDE) 28
2.1.2 K桌面环境(KDE) 28
2.1.3 GNU网络对象模型环境(GNOME) 28
2.2 桌面和面板 29
2.2.1 桌面 29
2.2.2 面板 30
2.3 设置系统日期和时间 30
2.4 挂载移动存储设备 31
2.5 添加/删除应用程序 32
2.6 软件包更新工具 34
2.7 命令行安装软件包方法 34
2.8 获取帮助文档 36
2.8.1 --help选项 36
2.8.2 man命令显示系统手册页 37
2.8.3 info命令显示工具信息 38
2.8.4 HOWTO文档 40
2.9 vim和emacs编辑器 40
2.9.1 vim简介 40
2.9.2 vi常用的命令 42
2.9.3 emacs 44
2.9.4 emacs与vim 45
2.10 Webmin 46
2.10.1 Webmin简介 46
2.10.2 Webmin的下载与安装 47
2.10.3 安装设置Webmin 49
2.10.4 启动Webmin 53
2.11 Red Hat Enterprise Linux 5下的常用软件 54
2.12 KDE简介 55
2.13 上机实验 56
2.14 思考练习 56
2.14.1 填空题 56
2.14.2 选择题 57
2.14.3 问答题 57
第3章 用户账号管理 59
3.1 root账号 59
3.2 普通账号 62
3.2.1 创建用户账号 63
3.2.2 账号停用 64
3.2.3 删除账号 65
3.3 管理组群 66
3.4 用户管理器 66
3.4.1 创建新用户账号 67
3.4.2 修改已存在的用户账号 67
3.4.3 删除或者禁止已存在的用户账号 68
3.4.4 添加、修改以及删除组 69
3.5 上机实验 69
3.6 思考练习 70
3.6.1 填空题 70
3.6.2 选择题 70
3.6.3 问答题 70
第4章 文件系统及目录权限设置 71
4.1 文件管理器 71
4.2 文件系统 74
4.2.1 文件系统的类型 74
4.2.2 系统目录简介 76
4.2.3 文件系统的结构 78
4.2.4 文件名 79
4.3 文件及目录访问权限设置 80
4.3.1 一般权限 81
4.3.2 特殊权限 82
4.3.3 使用文件管理器来改变文件/目录的权限 83
4.3.4 使用chmod和数字改变文件/目录的访问特权 84
4.3.5 使用命令chown改变文件/目录的所有权 86
4.5 链接 87
4.5.1 符号链接 88
4.5.2 删除链接 89
4.6 上机实验 90
4.7 思考练习 90
4.7.1 填空题 90
4.7.2 选择题 90
4.7.3 问答题 90
第5章 磁盘空间存储管理 91
5.1 数据存储简介 91
5.1.1 数据存储方式 91
5.1.2 存储发展趋势 92
5.2 数据管理 92
5.2.1 高可用集群 93
5.2.2 备份 93
5.2.3 复制 93
5.2.4 容灾 93
5.2.5 迁移 94
5.2.6 内容管理 94
5.3 RAID 94
5.3.1 RAID简介 94
5.3.2 RAID的优点 95
5.3.3 RAID级别 95
5.3.4 RAID 0级(Stripe) 95
5.3.5 RAID 1级(Mirror) 96
5.3.6 RAID 1+0 96
5.3.7 RAID 3 96
5.3.8 RAID 5级 96
5.4 Linux逻辑卷管理 97
5.4.1 Linux逻辑卷简介 97
5.4.2 逻辑卷基本原理 97
5.4.3 逻辑卷使用举例 98
5.4.4 图像化逻辑卷管理 100
5.4.5 实际空间问题及解决方法 101
5.5 Linux磁盘空间管理 101
5.5.1 df命令 101
5.5.2 du命令 102
5.5.3 磁盘使用分析器 103
5.6 磁盘挂载 104
5.7 上机实验 104
5.8 思考练习 105
5.8.1 填空题 105
5.8.2 选择题 105
5.8.3 问答题 106
第6章 数据资源共享 107
6.1 Samba简介 107
6.2 smb.conf文件说明 108
6.3 配置Samba共享服务 115
6.3.1 配置share级共享 115
6.3.2 配置user级共享 118
6.3.3 配置server级服务器 121
6.3.4 配置domain级服务器 121
6.4 Linux分区和Windows分区资源共享 122
6.4.1 从Linux分区访问Windows分区 123
6.4.2 从Windows分区访问Linux分区 123
6.5 图形化配置Samba服务器 124
6.6 Samba相关命令及程序 128
6.6.1 smbd 129
6.6.2 nmbd 129
6.6.3 Smbclient(查看资源共享情况) 129
6.6.4 smbstatus(列出共享资源使用情况) 130
6.6.5 testparm 130
6.6.6 smbmount(挂载和卸除共享的目录) 130
6.6.7 testprns(检查打印机配置文件的正确性) 130
6.7 配置Samba打印共享 131
6.7.1 配置Samba打印共享 131
6.7.2 测试Samba共享打印机配置的正确性 131
6.7.3 配置Windows客户机访问Samba共享打印机 132
6.8 上机实验 134
6.9 思考练习 135
6.9.1 填空题 135
6.9.2 选择题 135
6.9.3 问答题 136
第7章 硬件设备管理 137
7.1 Linux设备简介 137
7.2 X Window System 138
7.2.1 X Window System简介 138
7.2.2 /etc/X11/Xorg.conf文件 138
7.2.3 ServerLayout 141
7.2.4 Input Device 141
7.2 5 Device 141
7.2.6 Screen 141
7.2.7 桌面显示设置 142
7.2.8 设置屏幕分辨率 144
7.3 配置声卡 144
7.4 配置网卡 146
7.4.1 网卡配置步骤 146
7.4.2 图形化配置方式 146
7.4.3 手工配置网卡 148
7.4.4 安装双网卡 149
7.5 打印机的配置 151
7.6 上机实验 152
7.7 思考练习 152
7.7.1 填空题 152
7.7.2 选择题 153
7.7.3 问答题 153
第8章 基本网络应用 155
8.1 网络基础知识 155
8.2 网络基本类型 156
8.2.1 局域网 156
8.2.2 城域网 157
8.2.3 广域网 157
8.3 拓扑结构 158
8.3.1 总线拓扑 158
8.3.2 星型拓扑 159
8.3.3 环型拓扑 160
8.3.4 树型拓扑 161
8.3.5 网状拓扑结构 161
8.4 IP地址 162
8.4.1 IP地址的划分 162
8.4.2 内部IP地址 163
8.4.3 子网掩码 164
8.5 linux常用网络命令 164
8.5.1 ping命令 164
8.5.2 netstat命令 165
8.5.3 ifconfig命令 166
8.5.4 route命令 168
8.5.5 tcpdump命令 169
8.6 接入Internet 170
8.6.1 接入Internet方式简介 170
8.6.2 以太网接入Internet设置 172
8.6.3 xDSL连接设置 174
8.7 Mozilla Firefox浏览器 175
8.7.1 Mozilla Firefox简介 175
8.7.2 设置访问代理 177
8.8 安全级别及防火墙 177
8.8.1 Linux防火墙配置 177
8.8.2 SELinux设置 179
8.9 上机实验 180
8.10 思考练习 180
8.10.1 填空题 180
8.10.2 选择题 181
8.10.3 问答题 181
第9章 系统管理 183
9.1 查看用户行为 183
9.1.1 查看系统当前的在线用户 185
9.1.2 查看曾经登录系统的用户 185
9.2 系统性能监控 186
9.2.1 top命令 186
9.2.2 使用top监视特定用户 187
9.2.3 终止执行中的进程 188
9.2.4 使用系统监视器 189
9.3 系统进程管理 191
9.3.1 捕获进程状态 191
9.3.2 查看较详细的说明 191
9.3.3 查看其他用户的进程 192
9.3.4 查看后台执行的进程 192
9.3.5 将进程清单排序 193
9.3.6 搭配其他命令查询进程 193
9.3.7 删除进程 193
9.3.8 控制进程优先级 195
9.4 系统日志管理 196
9.4.1 日志文件介绍 196
9.4.2 日志配置文件 197
9.4.3 配置文件的种类和优先级 198
9.4.4 配置文件的格式 199
9.4.5 图形化管理系统日志 200
9.5 系统服务管理 201
9.5.1 运行、重启和停止某个服务 201
9.5.2 使某个服务在系统启动时自运行或停止 201
9.6 系统端口管理 202
9.6.1 端口分类 202
9.6.2 查看端口 203
9.6.3 关闭/开启端口 203
9.6.4 常用端口 203
9.7 上机实验 205
9.8 思考练习 205
9.8.1 填空题 205
9.8.2 选择题 206
9.8.3 问答题 206
第10章 Linux常用命令 207
10.1 终端窗口简介 207
10.2 文件目录操作命令 208
10.2.1 cat 209
10.2.2 chgrp 209
10.2.3 chmod 209
10.2.4 chown 209
10.2.5 clear 209
10.2.6 cmp 209
10.2.7 cp 209
10.2.8 cut 210
10.2.9 diff 210
10.2.10 du 210
10.2.11 file 210
10.2.12 find 210
10.2.13 head 211
10.2.14 In 211
10.2.15 less 211
10.2.16 locate 211
10.2.17 Is 211
10.2.18 mkdir 212
10.2.19 more 212
10.2.20 rmkdir 213
10.2.21 mv 213
10.2.22 pico 213
10.2.23 pwd 213
10.2.24 rm 213
10.2.25 sort 214
10.2.26 stat 214
10.2.27 strings 214
10.2.28 tail 214
10.2.29 touch 214
10.2.30 umask 215
10.2.31 uniq 215
10.2.32 vi 215
10.2.33 wc 215
10.2.34 whereis 215
10.2.35 man 215
10.2.36 dd 215
10.2.37 df 215
10.2.38 edquota 216
10.2.39 fdformat 216
10.2.40 fdisk 216
10.2.41 mkfs 216
10.2.42 mkswap 216
10.2.43 mount 216
10.2.44 quota 216
10.2.45 swapon,swapoff 216
10.2.46 quotaon,quotaoff 216
10.2.47 umount 217
10.3 信息显示命令 217
10.3.1 dmesg 217
10.3.2 mesg 218
10.3.3 free 218
10.3.4 shutdown 218
10.3.5 uname 218
10.3.6 uptime 218
10.3.7 data 218
10.3.8 who 219
10.3.9 whoami 219
10.3.10 last 219
10.3.11 su 219
10.3.12 cal 219
10.3.13 write 220
10.4 备份压缩的命令 220
10.4.1 zip、gzip和gunzip 220
10.4.2 tar 221
10.5 系统管理命令 223
10.5.1 finger 223
10.5.2 ftp 223
10.5.3 host 223
10.5.4 hostname 223
10.5.5 ifconfig 224
10.5.6 mail 224
10.5.7 netstat 224
10.5.8 ping 224
10.5.9 rlogin 224
10.5.10 rcp 225
10.5.11 route 225
10.5.12 tcpdump 225
10.5.13 talk 225
10.5.14 telnet 225
10.5.15 wall 225
10.5.16 wget 225
10.5.17 &,bg 226
10.5.18 fg 226
10.5.19 jobs 226
10.5.20 kill 226
10.5.21 ps 227
10.5.22 top 227
10.5.23 at、batch、atq、atrm 227
10.6 DOS和Linux常用命令对比 227
10.7 上机实验 228
10.8 思考练习 228
10.8.1 填空题 228
10.8.2 选择题 229
10.8.3 问答题 229
第11章 shell及shell编程 231
1 1.1 shell简介 231
11.2 bash基本命令 233
11.3 shell变量类型 234
11.3.1 预定义变量 234
11.3.2 环境变量 235
11.3.3 用户变量 236
11.3.4 参数变量 236
11.4 shell编程比较语句 237
11.4.1 字符串比较 237
11.4.2 数值的比较 237
11.4.3 逻辑操作 237
11.4.4 文件操作 238
11.5 控制程序执行流程的语句 238
11.5.1 if条件语句 238
11.5.2 for循环 239
11.5.3 while和until循环 239
11.5.4 case条件选择 240
11.5.5 无条件控制语句break和continue 240
11.6 函数 241
11.7 运行shell程序的方法 241
11.8 信号或中断处理 242
11.9 bash shell程序的调试 243
11.10 上机实验 243
11.11 思考练习 244
11.11.1 填空题 244
11.11.2 选择题 244
11.11.3 问答题 244
第12章 Linux下的编程 245
12.1 GCC编译器 246
12.1.1 GNU C编译器简介 246
12.1.2 GCC约定规则 246
12.1.3 GCC的基本用法 246
12.1.4 GCC的基本选项 247
12.1.5 GCC编译程序举例 248
12.1.6 GCC的错误类型及对策 250
12.2 GNU make 251
12.2.1 GNU make简介 251
12.2.2 makefile基本结构 253
12.2.3 makefile变量 253
12.2.4 运行make 254
12.3 GDB 255
12.3.1 GDB简介 255
12.3.2 基本GDB命令 255
12.3.3 启动GDB 256
12.3.4 GDB调试程序过程 257
12.3.5 GDB调试举例 259
12.4 上机实验 262
12.5 思考练习 263
12.5.1 填空题 263
12.5.2 选择题 264
12.5.3 问答题 264
第13章 文件传输 265
13.1 FTP简介 265
13.1.1 anonymous(匿名账号) 266
13.1.2 real(真实账号) 266
13.1.3 guest(虚拟账号) 266
13.2 安装与启动vsftpd 266
13.3 vsftpd.conf说明 267
13.4 匿名账号服务器配置 271
13.4.1 简单的匿名账号服务器配置 271
13.4.2 配置匿名账号上传功能 275
13.4.3 连接服务器的最大并发连接数和用户的最大线程数设置 278
13.4.4 匿名用户的最大传输速率设置 278
13.4.5 禁止某些IP段的匿名用户访问FTP服务器 278
13.4.6 仅允许匿名用户访问 279
13.4.7 用ASCII方式传送数据设置 281
13.4.8 设置各种欢迎信息 281
13.4.9 设置数据传输中断的时间间隔 283
13.5 真实账号服务器配置 283
13.5.1 限制用户列表内的用户访问FTP服务器 283
13.5.2 更改FTP服务器默认的端口号 285
13.5.3 限制用户访问特定的目录 286
13.6 客户端访问FTP服务器 288
13.6.1 通过Windows客户端访问FTP服务器 288
13.6.2 通过Linux客户端访问FTP服务器 293
13.7 上机实验 296
13.8 思考练习 297
13.8.1 填空题 297
13.8.2 选择题 297
13.8.3 问答题 297
第14章 远程控制与管理 299
14.1 VPN简介 299
14.2 VPN的类型 300
14.2.1 VPDN(Virtual Private Dial Network) 300
14.2.2 Intranet VPN 300
14.2.3 Extranet VPN 301
14.3 VPN的特点 301
14.4 VPN的隧道协议类型 301
14.4.1 PPTP/L2TP 302
14.4.2 IPSec 302
14.4.3 SOCKS v5 303
14.5 VPN安装与启动 304
14.5.1 安装PPP 304
14.5.2 安装pptpd 305
14.5.3 相关配置文件 305
14.5.4 启动VPN服务 305
14.6 VPN服务器配置 305
14.6.1 启动Linux内核的路由功能 305
14.6.2 配置/etc/pptpd.conf文件 305
14.6.3 配置/etc/ppp/chap-secrets文件 306
14.7 VPN客户端配置 306
14.7.1 客户端基本配置 306
14.7.2 连接VPN服务器 307
14.8 VNC(Virtual NetWork Computing)简介 308
14.9 Linux下配置VNC服务器 309
14.10 Linux客户端访问VNC服务器 309
14.11 Openssh简介 310
14.12 配置Openssh服务器 311
14.13 使用ssh远程管理Linux服务器 314
14.14 上机实验 315
14.15 思考练习 315
14.15.1 填空题 315
14.15.2 选择题 315
14.15.3 问答题 316
第15章 系统安全加固 317
15.1 GRUB与LILO安全设置 317
15.2 账号安全设置 319
15.2.1 设置默认口令和账号的长度及有效期 319
15.2.2 清除不设口令的账号 320
15.2.3 特别账号处理 321
15.3 重要系统文件的安全设置 322
15.3.1 权限与文件系统 322
15.3.2 设置自动注销账号的登录 322
15.3.3 禁止外来ping请求,防止被攻击 324
15.3.4 设置文件/etc/host.conf,防止IP欺骗 324
15.3.5 禁止任何人su作为root 325
15.3.6 禁止使用Ctrl+Alt+Delete重启机器 325
15.3.7 截短以前使用的命令列表 327
15.4 系统开启服务的安全 327
15.4.1 用命令方式检查和关闭开启的服务 328
15.4.2 直接修改脚本文件 331
15.4.3 使用“服务配置”工具 333
15.5 连接服务器时的安全事项 333
15.6 系统端口安全 334
15.6.1 端口分类 334
15.6.2 易受攻击的端口 335
15.7 日志文件的安全 338
15.7.1 Linux下的日志子系统 339
15.7.2 常用的日志文件和命令 339
15.7.3 进程统计 342
15.7.4 日志文件的安全 343
15.8 上机实验 343
15.9 思考练习 344
15.9.1 填空题 344
15.9.2 选择题 344
15.9.3 问答题 345
附录 思考练习参考答案 347