《Linux系统与网络管理教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:阎映炳,刘雪洁等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121121920
  • 页数:494 页
图书介绍:本书分为三篇共18章,由浅入深、循序渐进地介绍了Linux的系统管理以及网络服务的相关知识,内容涉及Linux的基础知识、文件和磁盘管理、常见软件和硬件配置、用户和组管理、软件包管理、GRUB引导器、进程管理、远程登录管理、TCP/IP网络基础知识、Samba服务器、Proxy服务器、数据库服务器、Apache服务器、FTP服务器、NFS服务器、邮件服务器、网络信息安全,以及Linux下的编程等内容。

第一篇 Linux基础篇 2

第1章 Linux入门 2

1.1 什么是Linux 2

1.2 Linux的发展历史 2

1.3 Linux的优势 3

1.4 Linux的应用领域 4

1.5 Linux的安装 4

1.5.1 硬件需求 5

1.5.2 安装方式 5

1.5.3 安装过程 6

1.6 Linux的启动过程 14

1.7 图形界面登录和退出Linux 14

1.8 字符界面登录和退出Linux 15

1.9 本章小结 16

1.10 习题 16

第2章 文件和磁盘管理 17

2.1 Linux文件系统入门 17

2.1.1 Linux常用文件系统介绍 17

2.1.2 Linux文件介绍 18

2.1.3 Linux目录介绍 19

2.1.4 Linux目录结构 20

2.2 文件与目录基本操作 22

2.2.1 显示文件内容命令:cat、more、less、head、tail 22

2.2.2 文件内容查询命令:grep、egrep、fgrep 25

2.2.3 文件查找命令:find、locate 26

2.2.4 文本处理命令:sort、uniq 28

2.2.5 文件内容统计命令:wc 30

2.2.6 文件比较命令:comm、diff 31

2.2.7 文件的复制、移动和删除命令:cp、mv、m 33

2.2.8 文件链接命令:ln 35

2.2.9 目录的创建与删除命令:mkdir、rmdir 36

2.2.10 改变工作目录、显示路径以及显示目录内容命令:cd、pwd、ls 36

2.3 文件/目录访问权限管理 39

2.3.1 文件/目录访问权限简介 39

2.3.2 使用chmod改变文件/目录的访问权限 40

2.3.3 使用命令chown更改文件/目录的所有权 41

2.4 管理磁盘存储器 42

2.4.1 存储设备的命名 42

2.4.2 磁盘空间管理 42

2.4.3 使用Fdisk工具进行磁盘分区 45

2.4.4 优化Linux系统硬盘 46

2.5 本章小结 48

2.6 习题 48

第3章 常见软件设置和硬件配置 49

3.1 设置用户界面 49

3.1.1 GNOME桌面系统 50

3.1.2 KDE桌面系统 52

3.1.3 设置文件浏览界面 53

3.1.4 首选项 56

3.2 安装软件 59

3.2.1 基于源代码的软件安装 59

3.2.2 基于可执行文件的软件安装 62

3.2.3 RPM可执行文件的软件安装 62

3.3 卸载软件 63

3.4 常见硬件的检测 63

3.4.1 中央处理器状态的检测 63

3.4.2 硬盘物理坏道的检测 65

3.4.3 内存的检测 67

3.5 硬件驱动和配置 69

3.5.1 声卡驱动与配置 69

3.5.2 显卡的配置 72

3.5.3 网卡的配置 73

3.5.4 打印机的配置、管理和使用 75

3.6 本章小结 77

3.7 习题 78

第二篇 Linux系统管理与维护篇 80

第4章 用户和组管理 80

4.1 用户和组文件 80

4.1.1 用户账号文件——passwd 80

4.1.2 用户影子文件——shadow 82

4.1.3 用户组账号文件——group 83

4.1.4 组账号文件——gshadow 84

4.1.5 使用pwck和grpck命令验证用户和组文件 85

4.2 使用命令行方式管理用户和组 87

4.2.1 使用useradd命令添加用户 87

4.2.2 使用usermod命令修改用户信息 88

4.2.3 使用userdel命令删除用户 89

4.2.4 使用groupadd命令创建用户组 89

4.2.5 使用groupmod命令修改用户组属性 90

4.2.6 使用groupdel命令删除用户组 90

4.3 使用Red Hat用户管理器管理用户和组 91

4.3.1 启动Red Hat用户管理器 91

4.3.2 创建用户 91

4.3.3 修改用户属性 92

4.3.4 创建用户组 93

4.3.5 修改用户组属性 94

4.4 本章小结 95

4.5 习题 95

第5章 软件包管理 96

5.1 RPM包管理 96

5.1.1 RPM软件包的查询 96

5.1.2 RPM软件包的安装 98

5.1.3 RPM软件包安装可能出现的问题 99

5.1.4 RPM软件包的卸载 100

5.1.5 RPM软件包的升级 100

5.1.6 RPM软件包的验证 101

5.1.7 添加/删除应用程序 102

5.2 RPM软件包的密钥管理 104

5.2.1 下载与安装PGP 104

5.2.2 RPM使用PGP产生签名所需的配置 105

5.2.3 配置RPM宏 106

5.2.4 RPM的PGP签名选项 106

5.2.5 添加数字签名 106

5.3 TAR包管理 106

5.3.1 TAR命令语法及参数选项 106

5.3.2 创建tar文件 108

5.3.3 显示tar文件内容 109

5.3.4 向tar文件中添加一个文件 109

5.3.5 从tar文件中取出文件 110

5.4 Linux下常用的压缩工具 111

5.4.1 gzip压缩工具 111

5.4.2 zip/unzip命令 113

5.4.3 bzip2/bunzip2命令 118

5.5 本章小结 120

5.6 习题 120

第6章 GRUB引导器 121

6.1 GRUB概述 121

6.2 GRUB的特点 121

6.3 GRUB运行原理 122

6.4 使用GRUB 122

6.4.1 GRUB的选择安装 122

6.4.2 GRUB的设备名称 123

6.4.3 GRUB的文件名称 124

6.4.4 GRUB的基本接口 124

6.4.5 GRUB的基本命令 126

6.4.6 GRUB配置文件介绍 127

6.5 GRUB的应用举例 128

6.6 本章小结 130

6.7 习题 131

第7章 Linux中的进程管理 132

7.1 Linux进程概述 132

7.2 Linux进程原理 132

7.2.1 Linux进程的状态 132

7.2.2 Linux进程工作模式 133

7.3 Linux守护进程介绍 134

7.3.1 守护进程简介 134

7.3.2 重要守护进程介绍 134

7.4 启动Linux进程 135

7.4.1 手工启动 135

7.4.2 在指定时刻执行命令序列——at命令 136

7.4.3 在资源比较空闲的时候执行命令——batch命令 139

7.4.4 不断重复执行某些命令——cron命令 139

7.4.5 操作cron后台进程的表格——crontab命令 139

7.5 进程的挂起及恢复 142

7.6 Linux进程管理 142

7.6.1 使用ps命令查看进程状态 142

7.6.2 使用top命令查看进程状态 144

7.6.3 使用kill命令终止进程 145

7.6.4 使用sleep命令暂停进程 146

7.7 进程文件系统PROC 147

7.8 本章小结 149

7.9 习题 149

第8章 远程登录管理 150

8.1 使用Telnet 150

8.1.1 Telnet简介 150

8.1.2 Telnet原理 150

8.1.3 安装和启动Telnet 151

8.1.4 配置Telnet 152

8.1.5 Telnet会话示例 153

8.2 使用SSH 154

8.2.1 SSH介绍 154

8.2.2 安装与启动SSH 155

8.2.3 简单测试和使用SSH 155

8.2.4 配置/etc/ssh/sshd config文件 157

8.2.5 配置/etc/ssh/ssh config文件 160

8.2.6 SSH的密匙管理 161

8.2.7 使用scp远程复制文件 162

8.2.8 使用SSH设置加密通道 163

8.2.9 配置SSH的客户端 164

8.2.10 配置SSH自动登录 165

8.3 使用VNC 167

8.3.1 VNC简介 167

8.3.2 安装和启动VNC 168

8.3.3 配置VNC 168

8.3.4 VNC会话示例 170

8.4 本章小结 171

8.5 习题 171

第9章 TCP/IP网络基础 172

9.1 网络简介 172

9.2 网络的体系结构 172

9.3 TCP/IP简介 174

9.3.1 IP协议介绍 175

9.3.2 TCP协议介绍 178

9.3.3 UDP协议介绍 180

9.4 使用xinetd启动Linux网络服务 181

9.5 本章小结 184

9.6 习题 184

第三篇 Linux服务器配置篇 186

第10章 Samba服务器配置 186

10.1 Samba服务器简介及安装 186

10.1.1 Samba工作原理 186

10.1.2 Samba服务器的功能 186

10.1.3 SMB协议 187

10.1.4 安装Samba 187

10.2 启动及关闭Samba服务器 188

10.2.1 在命令行中启动和关闭Samba服务 188

10.2.2 在System Services中启动和关闭Samba服务 189

10.2.3 简单测试Samba服务器 190

10.3 配置Samba服务器的用户信息 192

10.3.1 创建服务器待认证用户 193

10.3.2 将系统用户转换为Samba用户 193

10.3.3 Samba服务器和主浏览器 194

10.4 smb.conf配置文件实例详解 195

10.4.1 设置工作组 195

10.4.2 设置共享Linux账户主目录 196

10.4.3 设置公用共享目录 197

10.4.4 设置一般共享目录 197

10.4.5 设置共享打印机 198

10.4.6 打印机配置相关问题 199

10.5 一个完整的smb.conf文件实例 200

10.5.1 global段 201

10.5.2 home段 205

10.5.3 printers段 205

10.5.4 netlogon段 206

10.5.5 Profiles段 206

10.5.6 public段 206

10.5.7 一般共享段 207

10.5.8 测试smb.conf文件 207

10.5.9 该配置在Windows系统下的显示结果 208

10.6 smb.conf中的其他选项 209

10.7 Linux和Windows文件互访 211

10.7.1 Windows客户使用Linux系统共享文件 211

10.7.2 用smbclient命令访问局域网上的Windows系统 211

10.7.3 用smbmount命令访问局域网上的其他系统 213

10.7.4 使用LinNeighborhood访问局域网上的共享文件 213

10.8 本章小结 215

10.9 习题 215

第11章 Proxy服务器配置 216

11.1 Proxy服务器原理简介 216

11.2 Squid简介 217

11.3 安装和启动Squid服务器 218

11.3.1 安装Squid服务器 218

11.3.2 启动和关闭Squid服务器 220

11.4 在客户端使用Squid服务器 220

11.4.1 在IE浏览器中设置 221

11.4.2 在Linux浏览器中设置 222

11.5 配置Squid服务器 223

11.5.1 配置Squid服务器的基本参数 223

11.5.2 配置Squid服务器的访问控制 225

11.5.3 配置Squid服务器的简单实例 229

11.6 配置基于Squid的透明代理 229

11.6.1 Linux内核的相关配置 229

11.6.2 Squid的相关配置选项 230

11.6.3 iptables的相关配置 231

11.7 配置多级缓存改善Proxy服务器的性能 231

11.7.1 多级缓存(cache)简介 231

11.7.2 配置多级缓存 232

11.8 Squid日志管理 233

11.8.1 配置文件中有关日志的选项 233

11.8.2 日志管理主文件——accesss.conf 234

11.9 使用Webalizer对Squid进行流量分析 236

11.9.1 Webalizer的特点 236

11.9.2 安装Webalizer 237

11.9.3 配置Webalizer 238

11.9.4 使用Webalizer 238

11.10 本章小结 241

11.11 习题 241

第12章 数据库服务器配置 242

12.1 Linux下数据库系统简介 242

12.2 MySQL数据库系统简介 242

12.3 MySQL数据库系统的安装 242

12.3.1 基于源代码包的MySQL安装 242

12.3.2 基于RPM包的MySQL安装 246

12.4 设置用户访问权限 247

12.4.1 建立MySQL的用户和用户组 247

12.4.2 设置用户访问权限 247

12.4.3 启动MySQL 248

12.6 MySQL常用操作 250

12.5.1 连接MySQL服务器 250

12.5.2 退出MySQL服务器 251

12.5.3 密码管理 251

12.5.4 增加新用户 251

12.5.5 命令分行 252

12.5.6 命令历史记录 252

12.5.7 显示数据库列表 252

12.5.8 显示数据库中的数据表 253

12.5.9 显示数据库的表结构 254

12.5.10 新建数据库 254

12.5.11 新建数据库表 255

12.5.12 删库和删表 255

12.5.13 将表中记录清空 256

12.5.14 显示表的记录 256

12.5.15 向表中插入记录 256

12.5.16 MySQL数据导入和备份 256

12.6 在程序中操作MySQL数据库 257

12.7 安装Oracle数据库系统 258

12.7.1 安装Oracle 11g的硬件条件 258

12.7.2 下载Oracle 11g的安装文件 258

12.7.3 安装前的准备工作 259

12.7.4 安装Oracle 260

12.8 测试Oracle数据库系统 261

12.8.1 使用svrmgrl测试安装是否成功 262

12.8.2 使用sql*plus测试安装是否成功 262

12.9 设置Oracle服务自动启动 262

12.10 操作Oracle数据库 262

12.10.1 创建表空间和创建用户 263

12.10.2 删除用户 263

12.10.3 修改用户密码 263

12.10.4 数据导出 263

12.10.5 数据导入 264

12.10.6 其他数据操作 264

12.11 在程序中操作Oracle数据库 264

12.11.1 用C语言操作Oracle数据库 264

12.11.2 用PHP语言访问Oracle数据库 268

12.12 本章小结 271

12.13 习题 272

第13章 Apache服务器配置 273

13.1 Apache简介 273

13.1.1 Apache的诞生 273

13.1.2 Apache的特性 274

13.2 Apache的获取和安装 274

13.2.1 Apache获取及其最新信息 274

13.2.2 基于源代码的Apache安装 275

13.2.3 基于RPM软件包的Apache安装 281

13.3 启动和停止Apache服务器 281

13.3.1 手动启动和停止Apache服务器 281

13.3.2 在/etc/rc.d目录下httpd文件中用脚本启动 282

13.3.3 测试Apache 284

13.4 配置Apache服务器 284

13.4.1 httpd.conf文件中的全局配置选项 284

13.4.2 .htaccess文件和访问限制 287

13.4.3 httpd.conf文件中的CGI设置 288

13.4.4 httpd.conf文件中的URL路径名设置 289

13.4.5 httpd.conf文件中的MIME类型 292

13.5 虚拟主机的设置 293

13.5.1 基于域名的虚拟主机 293

13.5.2 基于IP的虚拟主机 294

13.6 日志记录 294

13.7 SSI设置 295

13.7.1 SSI简介 295

13.7.2 启用SSI 295

13.7.3 SSI指令 296

13.8 一个完整的配置文件 299

13.8.1 全局环境的设置 300

13.8.2 动态共享对象支持DSO的设置 302

13.8.3 主服务器设置 303

13.8.4 设置日志管理 305

13.8.5 设置虚拟目录 306

13.8.6 设置虚拟主机 307

13.8.7 设置MIME类型 307

13.8.8 错误显示 309

13.8.9 语言管理 310

13.9 本章小结 311

13.10 习题 312

第14章 FTP服务器配置 313

14.1 FTP简介 313

14.1.1 FTP协议介绍 313

14.1.2 FTP文件类型 314

14.1.3 FTP文件结构 315

14.1.4 FTP传输模式 315

14.1.5 FTP常用命令 315

14.1.6 FTP典型消息 316

14.2 使用Vsftp服务器 317

14.2.1 Vsftp简介 317

14.2.2 安装Vsftp服务器 317

14.2.3 启动和关闭Vsftp服务器 319

14.2.4 配置vsftpd.conf文件 320

14.2.5 配置ftpusers文件 322

14.2.6 配置user list文件 323

14.3 深入使用Vsftp服务器 323

14.3.1 匿名用户使用Vsftp服务器 324

14.3.2 本地用户使用Vsftp服务器 325

14.3.3 虚拟用户使用Vsftp服务器 327

14.3.4 配置Vsftp服务器中chroot 329

14.3.5 配置Vsftp服务器在非标准端口工作 329

14.3.6 配置虚拟FTP服务器 330

14.4 使用Wu-ftp服务器 332

14.4.1 安装Wu-ftp服务器 332

14.4.2 启动和使用Wu-ftp服务器 333

14.4.3 配置Wu-ftpd服务器 334

14.5 本章小结 335

14.6 习题 335

第15章 NFS服务器配置 337

15.1 NFS简介 337

15.2 安装和启动NFS服务器 338

15.2.1 安装NFS服务器 338

15.2.2 启动NFS服务器 341

15.3 配置NFS服务器 341

15.4 使用NFS服务器 343

15.4.1 查看NFS共享目录 343

15.4.2 挂载NFS共享目录 344

15.4.3 自动挂载共享目录 346

15.5 本章小结 347

15.6 习题 347

第16章 Mail服务器配置 348

16.1 邮件系统简介 348

16.1.1 邮件传递代理(MTA) 348

16.1.2 邮件存储和获取代理(MSA) 348

16.1.3 邮件客户代理(MUA) 349

16.2 SMTP介绍 349

16.2.1 SMTP的模型 349

16.2.2 SMTP的基本命令 350

16.2.3 电子邮件介绍 352

16.2.4 Open Relay的原理 354

16.3 建立Sendmail服务器 354

16.3.1 安装与启动Sendmail 354

16.3.2 设置sendmail.cf 357

16.3.3 使用sendmail.mc文件 359

16.3.4 创建新的邮件账号 361

16.3.5 设置账号别名 361

16.3.6 使用access数据库 361

16.3.7 配置带SMTP认证的Sendmail服务器 362

16.4 建立Dovecot邮件服务器 363

16.4.1 安装Dovecot服务器 364

16.4.2 配置Dovecot服务器 365

16.4.3 启动Dovecot服务器 366

16.4.4 发送/接收邮件实例 366

16.5 配置邮件客户端 367

16.6 防范垃圾邮件 371

16.6.1 常用技术 372

16.6.2 使用Sendmail防范垃圾邮件 373

16.7 本章小结 374

16.8 习题 374

第17章 网络信息安全 375

17.1 网络信息安全简介 375

17.1.1 网络信息安全的要素 375

17.1.2 网络中存在的威胁 376

17.1.3 网络信息安全领域的研究重点 376

17.2 常见的攻击类型 378

17.2.1 端口扫描 378

17.2.2 特洛伊木马 379

17.2.3 DoS攻击 381

17.2.4 Linux下的病毒 382

17.3 防火墙(FireWall)技术 384

17.3.1 防火墙简介 385

17.3.2 防火墙的分类 385

17.3.3 传统防火墙技术及其特点 387

17.3.4 新一代防火墙的主要技术特点 388

17.3.5 新一代分布式防火墙概述 388

17.3.6 新一代嵌入式防火墙技术 388

17.3.7 新一代智能防火墙技术 389

17.3.8 防火墙技术的发展趋势 389

17.3.9 使用netfilter/iptables防火墙框架 391

17.4 入侵检测系统(IDS) 395

17.4.1 入侵检测系统简介 395

17.4.2 Snort介绍 396

17.4.3 安装Snort 396

17.4.4 使用Snort 398

17.4.5 配置Snort规则 401

17.4.6 编写Snort规则 403

17.4.7 Snort规则应用举例 404

17.5 使用Tripwire保护网络系统的数据安全 406

17.5.1 Tripwire简介 406

17.5.2 Tripwire工作原理 406

17.5.3 使用Tripwire 408

17.5.4 使用Tripwire的技巧 412

17.6 本章小结 413

17.7 习题 413

第四篇 Linux编程篇 416

第18章 Linux下的编程 416

18.1 Linux下常用的开发工具 416

18.1.1 GCC 416

18.1.2 CVS 416

18.1.3 Perl 416

18.1.4 Linux上的Delphi——Kylix 417

18.2 Linux下的Vi文本编辑器 417

18.2.1 Vi编辑器介绍 418

18.2.2 启动Vi编辑器 419

18.2.3 显示Vi中的行号 420

18.2.4 光标移动操作 420

18.2.5 屏幕命令 421

18.2.6 文本插入(insert)命令 422

18.2.7 附加(append)命令 422

18.2.8 新行(open)命令 423

18.2.9 文本修改命令 423

18.2.10 退出Vi编辑器 426

18.3 Linux的C编译器——GCC 426

18.3.1 GCC的编译过程 427

18.3.2 GCC的基本用法和常用选项 427

18.3.3 使用GDB调试C程序 429

18.3.4 编写Makefile文件 434

18.4 Linux下的PHP编程 438

18.4.1 PHP简介 439

18.4.2 配置运行环境 439

18.4.3 一个简单的PHP例子 441

18.5 本章小结 442

18.6 习题 442

第19章 Linux下的C编程 443

19.1 C语言概述 443

19.1.1 发展历史与特点 443

19.1.2 程序的基本结构 444

19.1.3 基本组成元素 444

19.1.4 语句 447

19.1.5 数组 451

19.1.6 指针 452

19.1.7 结构体 453

19.1.8 函数 455

19.2 基本应用 456

19.2.1 字符串操作 456

19.2.2 数据转换 459

19.2.3 内存分配与释放 461

19.3 文件操作 462

19.3.1 创建/打开文件 462

19.3.2 关闭文件 463

19.3.3 读写文件 463

19.4 进程操作 465

19.4.1 进程的概念 465

19.4.2 进程的创建 466

19.4.3 进程的终止 467

19.4.4 进程信息的获取 469

19.5 本章小结 470

19.6 习题 471

第20章 Linux下的网络编程 472

20.1 套接字编程概述 472

20.2 套接字数据结构 474

20.2.1 套接字地址结构 474

20.2.2 通用套接字地址结构 475

20.2.3 主机名结构 476

20.2.4 服务名结构 476

20.3 套接字函数 477

20.3.1 创建套接字 477

20.3.2 绑定套接字 478

20.3.3 监听网络端口 478

20.3.4 接受连接请求 479

20.3.5 建立连接 479

20.3.6 面向连接的数据传输 479

20.3.7 无连接的数据传输 480

20.3.8 关闭套接字 481

20.3.9 应用实例 481

20.4 服务器模型 487

20.4.1 循环服务器 487

20.4.2 并发服务器 488

20.5 域名系统 490

20.5.1 通过域名获取主机信息 490

20.5.2 通过地址获取主机信息 491

20.5.3 获取本地主机信息 491

20.6 本章小结 492

20.7 习题 493