
作者:梁如军等编著
出版社:机械工业出版社
出版日期:2019
ISBN:9787111358954
电子书格式:pdf/epub/txt
本书特色
本书以CentOS5.5为蓝本,分3篇介绍了Linux操作系统的使用和配置。基础篇介绍了Linux的基础知识、CentOS系统的安装、字符界面常用命令的使用、Shell的功能及其使用;系统管理篇介绍了Linux系统下的软件包管理、磁盘分区、LVM管理、文件系统管理、账户管理、权限管理、Linux下的网络配置、进程管理、系统监视、系统维护、系统安全等;服务与安全篇介绍了FTP服务、NFS服务、Samba服务、DHCP服务和基于PXE安装服务器、DNS服务器、基于Apache的Web服务、E-mail服务、IPTables和NAT等。本书内容详尽、结构清晰、通俗易懂,使用大量的图表对内容进行表述和归纳,并对重点内容给出了详细的操作步骤,便于读者理解及查阅,具有很强的实用性和指导性。本书可以作为高等院校相关专业、Linux短期培训班的教材,同时也可供广大Linux爱好者自学使用。
目录
出版说明
前言
教学建议
第1篇 基础篇
(第1~3章)
第1章 Linux简介与安装 3
1.1 Linux简介 3
1.1.1 自由软件与Linux 3
1.1.2 Linux系统的特点和组成 4
1.1.3 Linux的内核版本与发行版本 5
1.1.4 Red Hat Linux及其相关产品 6
1.2 准备安装 Linux 7
1.2.1 获取软件 7
1.2.2 安装程序和安装方式 7
1.3 本地光盘手动安装CentOS 5.5 8
1.3.1 安装引导配置 8
1.3.2 安装配置–磁盘分区 10
1.3.3 安装配置–启动加载器 12
1.3.4 安装配置–配置网络
相关参数 14
1.3.5 安装配置–时钟设置 16
1.3.6 安装配置–设置超级
用户口令 16
1.3.7 安装配置–选择安装组件 16
1.3.8 安装过程 17
1.3.9 首次启动的基本配置 18
1.4 思考与实验 19
第2章 字符界面操作基础 21
2.1 字符界面简介 21
2.1.1 选择在字符界面下工作 21
2.1.2 虚拟控制台和本地登录 21
2.1.3 远程登录Linux系统 22
2.1.4 系统运行级别与关机 23
2.2 Shell和命令基础 25
2.2.1 Shell简介 25
2.2.2 命令格式和通配符 28
2.2.3 文件及Linux目录结构 29
2.2.4 获得命令帮助 33
2.3 思考与实验 36
第3章 字符界面操作进阶 37
3.1 Linux常用操作命令 37
3.1.1 文件目录操作命令 37
3.1.2 打包和压缩命令 38
3.1.3 文本文件操作命令 40
3.1.4 信息显示命令 42
3.2 几种提高工作效率的方法 44
3.2.1 自动补全命令行 44
3.2.2 命令历史 44
3.2.3 命令别名 45
3.3 文本编辑器 Vi 46
3.3.1 Vi及其3种运行模式 46
3.3.2 普通模式下的操作 47
3.3.3 命令模式下的操作 49
3.4 进一步使用Shell 51
3.4.1 重定向 51
3.4.2 管道 52
3.4.3 命令替换 54
3.4.4 命令聚合 54
3.5 Shell变量和Shell环境 55
3.5.1 用户自定义变量 55
3.5.2 Shell变量的作用域 57
3.5.3 环境变量 58
3.5.4 设置用户工作环境 59
3.6 思考与实验 60
第2篇 系统管理篇
(第4~13章)
第4章 包管理与系统更新 65
4.1 RPM包管理 65
4.1.1 RPM概述 65
4.1.2 RPM命令的使用 66
4.2 YUM更新系统 69
4.2.1 YUM简介 69
4.2.2 配置YUM 70
4.2.3 使用非官方更新源 73
4.2.4 使用yum命令 75
4.2.5 使用YUM插件 77
4.3 软件仓库管理 78
4.3.1 YUM仓库管理 78
4.3.2 创建本地YUM仓库 78
4.4 思考与实验 79
第5章 硬盘分区和LVM 81
5.1 硬盘和硬盘分区 81
5.1.1 硬盘及其相关概念 81
5.1.2 硬盘分区 82
5.1.3 静态分区的缺点 86
5.2 LVM管理 87
5.2.1 LVM相关概念 87
5.2.2 使用LVM命令 89
5.2.3 LVM应用举例 91
5.3 思考与实验 94
第6章 文件系统管理 95
6.1 Linux文件系统概述 95
6.1.1 文件系统的系统观和用户观 95
6.1.2 Linux下的文件系统 96
6.1.3 使用文件系统的一般方法 97
6.2 挂装和卸装文件系统 98
6.2.1 挂装文件系统 98
6.2.2 在系统启动时自动挂装
文件系统 99
6.2.3 文件系统挂装选项 100
6.2.4 卸装文件系统 101
6.2.5 使用移动存储介质 101
6.3 ext2/ext3文件系统管理 104
6.3.1 ext2/ext3文件系统管理工具 104
6.3.2 创建文件系统 105
6.3.3 检查文件系统 106
6.3.4 调整文件系统属性 107
6.3.5 维护文件系统的卷标 108
6.4 磁盘限额 109
6.4.1 磁盘限额概述 108
6.4.2 配置磁盘限额 110
6.4.3 查看磁盘限额 112
6.5 思考与实验 114
第7章 账户管理和权限管理 115
7.1 账户管理 115
7.1.1 账户管理概述 115
7.1.2 使用命令行工具管理账户 118
7.1.3 口令管理和口令时效 118
7.2 权限管理 122
7.2.1 操作权限概述 122
7.2.2 更改操作权限 123
7.2.3 更改属主和同组人 126
7.2.4 设置文件和目录的生成掩码 126
7.2.5 特殊权限设置 127
7.2.6 使用ACL权限 128
7.2.7 权限设置举例 131
7.3 思考与实验 132
第8章 网络配置和网络工具 133
8.1 Linux与网络 133
8.1.1 Linux网络基础 133
8.1.2 Linux网络应用 134
8.2 配置网络参数 135
8.2.1 临时性网络配置 135
8.2.2 永久性网络配置 139
8.2.3 使用TUI工具配置网络 141
8.3 Linux网络工具 143
8.3.1 网络测试工具 143
8.3.2 网络客户工具 144
8.4 安全的网络客户工具 150
8.4.1 SSH与OpenSSH 150
8.4.2 使用OpenSSH客户端 152
8.4.3 OpenSSH的主机密钥管理 153
8.4.4 OpenSSH的用户密钥管理 154
8.5 思考与实验 157
第9章 进程管理 159
9.1 进程概述 159
9.1.1 进程的概念 159
9.1.2 Linux中的进程 159
9.1.3 进程的类型 160
9.1.4 进程的启动方式 160
9.2 进程管理和作业控制 160
9.2.1 查看系统中的进程 160
9.2.2 杀死系统中的进程 162
9.2.3 作业控制 163
9.3 守护进程 166
9.3.1 守护进程的概念 166
9.3.2 xinetd 167
9.3.3 守护进程管理工具 170
9.3.4 TCP Wrappers 173
9.4 安排周期性任务 175
9.4.1 cron守护进程简介 175
9.4.2 安排用户的cron任务 176
9.4.3 安排系统的cron任务 178
9.5 思考与实验 178
第10章 Shell脚本编程 180
10.1 Shell编程基础 180
10.1.1 Shell脚本简介 180
10.1.2 Shell变量操作 182
10.1.3 位置变量和简单脚本举例 183
10.2 条件测试和分支结构 184
10.2.1 条件测试 184
10.2.2 if语句 186
10.2.3 case 语句 189
10.3 循环结构 191
10.3.1 while和until语句 191
10.3.2 for语句 192
10.4 函数和Shell脚本调试 194
10.4.1 函数 194
10.4.2 Shell脚本跟踪与调试 198
10.5 思考与实验 199
第11章 系统监视与系统日志 200
11.1 监视系统性能 200
11.1.1 系统监视概述 200
11.1.2 top命令 200
11.1.3 mpstat命令 203
11.1.4 vmstat命令 204
11.1.5 iostat命令 206
11.1.6 性能分析标准的经验准则 208
11.2 日志系统和系统日志 209
11.2.1 日志系统 209
11.2.2 配置日志及日志测试工具 212
11.2.3 日志滚动 213
11.2.4 日志分析工具简介 216
11.2.5 查看日志文件 217
11.3 思考与实验 219
第12章 内核管理与系统
启动过程 221
12.1 内核管理与升级 221
12.1.1 Linux内核简介 221
12.1.2 管理内核模块 222
12.1.3 修改内核参数
(/proc与sysctl) 224
12.1.4 内核的升级 226
12.2 系统启动过程 226
12.2.1 RHEL/CentOS启动
过程简介 226
12.2.2 GRUB系统引导器 228
12.2.3 init的配置文件 234
12.3 故障排查 235
12.3.1 故障排查概述 235
12.3.2 系统修复运行级别 237
12.3.3 系统援救环境 239
12.4 思考与实验 242
第13章 系统安全基础 244
13.1 基本的系统安全 244
13.1.1 磁盘布局和文件系统 244
13.1.2 软件和服务 246
13.1.3 物理终端安全 248
13.2 账号安全和访问控制 250
13.2.1 禁止root账号登录 250
13.2.2 可插拔认证模块(PAM) 255
13.2.3 基于PAM的账号保护和
访问控制 260
13.3 思考与实验 266
第3篇 服务与安全篇
(第14~22章)
第14章 FTP服务和NFS服务 269
14.1 FTP服务 269
14.1.1 FTP的相关概念 269
14.1.2 RHEL/CentOS下的
vsftpd服务 271
14.1.3 配置vsftpd服务器 274
14.2 NFS服务 278
14.2.1 NFS的相关概念 278
14.2.2 RHEL/CentOS下的NFS 280
14.2.3 配置NFS服务 282
14.2.4 NFS客户端 284
14.3 思考与实验 285
第15章 Samba服务 287
15.1 SMB/CIFS协议和Samba
简介 287
15.1.1 SMB/CIFS协议 287
15.1.2 Samba及其功能 288
15.2 RHEL/CentOS 5中的Samba 288
15.2.1 安装Samba服务 288
15.2.2 RHEL/CentOS 5中Samba的默认
配置 289
15.2.3 Samba账户及口令文件 290
15.2.4 启动Samba服务 292
15.2.5 测试RHEL/CentOS 5中的默认
配置 293
15.3 Samba的主配置文件 294
15.3.1 Samba配置基础 294
15.3.2 全局参数的设置 296
15.3.3 设置共享资源参数 297
15.4 Samba共享配置举例 298
15.4.1 Samba共享的基本配置 298
15.4.2 为所有用户配置只读共享和
读写共享 300
15.4.3 为指定用户配置读写共享 300
15.4.4 为指定组配置读写共享 301
15.4.5 Samba的其他配置 303
15.5 在Linux环境下访问Samba
共享 305
15.5.1 使用smbclient 305
15.5.2 挂装Samba共享 306
15.6 思考与实验 307
第16章 DHCP服务和安装
服务器 309
16.1 DHCP服务 309
16.1.1 DHCP简介 309
16.1.2 RHEL/CentOS 5的DHCP
服务 311
16.1.3 DHCP服务的配置文件 313
16.1.4 DHCP服务配置举例 314
16.1.5 大型网络的DHCP部署 315
16.2 PXE网络安装服务器 317
16.2.1 自动安装服务器简介 317
16.2.2 配置PXE安装服务器 319
16.2.3 Kickstart文件 324
16.3 思考与实验 328
第17章 DNS服务 329
17.1 DNS相关概念 329
17.1.1 DNS系统与域名空间 329
17.1.2 DNS服务器类型与域管理 332
17.1.3 DNS 查询模式与解析过程 334
17.2 BIND及其基本配置 336
17.2.1 BIND的安装和启动 336
17.2.2 域名服务器的配置语法 338
17.3 域名服务器配置举例 341
17.3.1 域名服务器的基本配置 341
17.3.2 ACL 配置 347
17.3.3 分离式(Split)DNS 配置 350
17.4 思考与实验 353
第18章 Apache基础 354
18.1 WWW和Apache 354
18.1.1 WWW及其组件 354
18.1.2 Apache简介 357
18.1.3 RHEL/CentOS下的Apache 359
18.2 Apache配置基础 360
18.2.1 Apache 的配置文件 360
18.2.2 Apache 的模块 361
18.2.3 Apache 的基本配置指令 362
18.2.4 Apache 的配置容器和指令
作用域 363
18.3 Apache的基本配置 365
18.3.1 主机访问控制和别名机制 365
18.3.2 配置每个用户的Web站点 369
18.3.3 使用.htaccess配置文件 371
18.4 思考与实验 373
第19章 Apache进阶 375
19.1 Apache的虚拟主机 375
19.1.1 虚拟主机简介 375
19.1.2 配置基于IP的虚拟主机 377
19.1.3 配置基于域名的虚拟主机 379
19.1.4 默认的虚拟主机 380
19.2 认证和授权 382
19.2.1 认证和授权及其配置指令 382
19.2.2 认证和授权配置举例 384
19.2.3 访问控制、认证和授权的
综合应用 386
19.3 日志管理 387
19.3.1 日志管理简介 387
19.3.2 配置错误日志 388
19.3.3 配置访问日志 389
19.3.4 虚拟主机的日志分离 390
19.4 思考与实验 392
第20章 Apache动态站点 393
20.1 脚本语言与动态网站技术 393
20.1.1 常用的脚本语言 393
20.1.2 常用的动态网站技术 394
20.1.3 数据库和LAMP 399
20.2 Apache日志统计分析工具 401
20.2.1 Web流量统计及其工具 401
20.2.2 AWStats简介 402
20.2.3 CentOS下的AWStats 403
20.2.4 为虚拟主机配置AWStats
举例 404
20.3 LAMP的环境配置及应用 406
20.3.1 安装配置LAMP环境 406
20.3.2 LAMP的应用 409
20.4 思考与实验 412
第21章 E-mail服务 413
21.1 邮件系统与邮件协议 413
21.1.1 电子邮件系统 413
21.1.2 电子邮件协议 415
21.2 Postfix及其工作原理 416
21.2.1 Postfix简介 416
21.2.2 Postfix的体系结构 417
21.2.3 Postfix邮件传输流程 419
21.2.4 MTA与DNS、LDA与
用户邮箱 421
21.3 邮件服务器的安装和
配置基础 422
21.3.1 RHEL/CentOS 5下的Postfix 422
21.3.2 Postfix 的配置文件 427
21.3.3 配置SMTP认证 429
21.3.4 Postfix的映射表及其应用 432
21.3.5 Dovecot的安装和配置 436
21.4 思考与实验 437
第22章 iptables防火墙 439
22.1 防火墙概述 439
22.1.1 包过滤防火墙 439
22.1.2 NAT 441
22.1.3 相关的TCP/IP知识 442
22.2 Netfilter/iptables
基础 444
22.2.1 Netfilter/iptables概述 444
22.2.2 连接跟踪和状态防火墙 447
22.2.3 数据包在多表中的穿越流程 449
22.3 使用Iptables配置
防火墙 452
22.3.1 RHEL/CentOS防火墙 452
22.3.2 iptables命令 458
22.3.3 防火墙配置举例 464
22.4 思考与实验 466
参考文献 468














