第1章 Linux操作系统和常用软件 1
1.1 软件基础知识 1
1.1.1 系统软件 1
1.1.2 Linux下的应用软件分类 7
1.2 软件的获取方式 8
1.3 软件许可的分类 8
第2章 Linux虚拟化工具 11
2.1 Linux虚拟化简介 11
2.1.1 Linux虚拟化类型 11
2.1.2 Linux虚拟化项目 13
2.1.3 Linux服务器虚拟化的重要性 14
2.2 VirtualBox虚拟化技术 15
2.2.1 VirtualBox简介 15
2.2.2 Linux下安装VirtualBox 17
2.2.3 启动VirtualBox 18
2.2.4 建立一个虚拟机 18
2.2.5 虚拟机配置 20
2.2.6 使用VirtualBox在Linux下安装运行WindowsXPSP3的技巧 21
2.2.7 增强功能工具的其他功能 24
2.3 KVM虚拟机配置 25
2.3.1 KVM虚拟机简介 25
2.3.2 安装及配置KVM相关软件 27
2.3.3 使用virt-manager建立一个KVM虚拟机 28
2.3.4 RHEL 6 KVM虚拟机新功能 31
2.3.5 使用命令行执行高级管理任务 35
2.4 KVM虚拟机存储设置 40
2.4.1 KVM虚拟机存储模式解析 40
2.4.2 创建基于分区的存储池 41
2.4.3 创建基于目录的存储池 42
2.4.4 创建基于LVM的存储池 43
2.4.5 使用命令行方式管理存储池 44
2.5 KVMSPICE配置 47
2.5.1 SPICE简介 47
2.5.2 安装及配置SPICE服务器 48
2.5.3 使用SPICE客户机 50
2.6 远程管理虚拟机 52
2.6.1 KVM虚拟机远程管理 52
2.6.2 使用phpVirtualBox远程管理VirtualBox虚拟机 52
2.6.3 使用RemoteBox的远程管理虚拟机 60
第3章 Linux文件管理工具 65
3.1 22个基于命令行的文件管理工具 65
3.1.1 ls:显示文件名 65
3.1.2 cat:显示文本文件内容 67
3.1.3 rm:删除文件 69
3.1.4 cp:复制文件 70
3.1.5 mv:更改文件名 71
3.1.6 echo:显示文本 72
3.1.7 date:显示日期和时间 73
3.1.8 locate:搜索文件 75
3.1.9 chattr:改变文件的属性 76
3.1.1 0 umask:指定在建立文件时预设的权限掩码 77
3.1.1 1 chmod:设置文件或者目录的权限 78
3.1.1 2 chgrp:改变文件或者目录所属的群组 81
3.1.1 3 chown:改变文件的拥有者或者群组 81
3.1.1 4 split:分割文件 82
3.1.1 5 find:查找目录或者文件 82
3.1.1 6 ln:链接文件或目录 84
3.1.1 7 tree:以树状图显示目录内容 85
3.1.1 8 more:查看文件的内容 87
3.1.1 9 rmdir:删除目录 88
3.1.2 0 bunzip2:解压缩bz2文件 89
3.1.2 1 unzip:解压缩zip文件 90
3.1.2 2 gzip:压缩文件 91
3.2 基于图形化的文件管理工具 92
3.2.1 Nautilus文件管理器 92
3.2.2 搜索文件工具 95
3.2.3 抓图工具 97
3.2.4 文档查看器 97
3.2.5 归档管理器 99
3.2.6 字符映射表 101
3.2.7 日期和时间设置工具 101
3.2.8 连接到服务器 102
3.2.9 图像查看器 103
3.2.1 0计算器 104
第4章 Linux安全管理工具 105
4.1 使用Nmap端口扫描工具 105
4.1.1 Nmap简介 105
4.1.2 使用Nmap 105
4.1.3 nmap命令实例 106
4.1.4 Nmap图形前端 109
4.1.5 Nmap使用注意事项 109
4.2 使用Wireshark网络包分析 109
4.2.1 Wireshark简介 109
4.2.2 下载安装Wireshark 111
4.2.3 使用Wireshark 111
4.2.4 用Wireshark分析互联网数据包实例 114
4.3 使用防火墙管理工具Fwbuilder 116
4.3.1 Fwbuilder简介 116
4.3.2 下载安装 116
4.3.3 使用Fwbuilder 116
4.4 部署Web应用防火墙工具ModSecurity 121
4.4.1 WAF简介 121
4.4.2 使用ModSecriry 124
4.4.3 ModSecurity未来的发展方向 128
4.5 使用rootkit检查工具 128
4.5.1 rootkit的定义 128
4.5.2 rootkit的类型 129
4.5.3 防止rootkit攻击的基本思路 131
4.5.4 使用chkrootkit工具软件 131
4.5.5 使用Rootkit Hunter 133
4.6 使用Linux防病毒工具 135
4.6.1 Linux病毒简介 135
4.6.2 使用ESETNOD32 Antivirus 136
4.7 使用Nessus漏洞扫描器 141
4.7.1 Nessus简介 141
4.7.2 安装配置 142
4.8 其他Linux安全工具简介 148
4.8.1 密码分析工具Johnthe ripper 148
4.8.2 系统管理工具sudo 148
4.8.3 网络瑞士军刀Netcat 149
4.8.4 网络审计和渗透测试工具DSniff 149
4.8.5 网络探测工具Hping2 149
4.8.6 列出打开的文件命令工具LSOF 149
4.8.7 强大的无线嗅探器Kismet 149
4.8.8 802.1 1 WEP密码破解工具 AirSnort 149
4.8.9 高级的traceroute工具 Firewalk 149
4.8.1 0主动操作系统指纹识别工具 XProbe2 150
第5章 Linux软件包管理升级工具 151
5.1 RPM软件包管理 151
5.1.1 RPM简介 151
5.1.2 RPM的功能 151
5.1.3 RPM软件包格式 152
5.1.4 rpm命令格式 152
5.1.5 rpm命令实例 156
5.2 YUM软件包管理 159
5.2.1 YUM简介 159
5.2.2 YUM命令 160
5.3 使用图形化工具 166
5.3.1 使用图形化工具PackageKit 安装软件包 166
5.3.2 使用图形化工具PackageKit更新系统 168
5.3.3 使用yumex 170
第6章 Linux用户管理工具 176
6.1 命令行管理工具 176
6.1.1 useradd:建立用户 176
6.1.2 userdel:删除用户 177
6.1.3 usermod:修改已有用户的信息 178
6.1.4 passwd:设置密码 178
6.1.5 chage:密码老化 179
6.1.6 groupadd:添加组 180
6.1.7 groupdel:删除组账户 180
6.1.8 groupmod:修改组 181
6.1.9 vipw:编辑/etc/passwd文件 181
6.1.1 0 vigr:编辑/etc/group文件 181
6.1.1 1 newgrp:转换组 182
6.1.1 2 groups:显示组 182
6.1.1 3 gpasswd:添加组 183
6.1.1 4 whoami:显示当前用户名称 183
6.1.1 5 who:显示登录用户 183
6.1.1 6 id:显示用户信息 184
6.1.1 7 su:切换身份 185
6.1.1 8 pwck:检测账户 185
6.1.1 9 grpck:检测用户组账号信息的完整性 186
6.1.2 0 chsh:设置shell 186
6.1.2 1 chfn:修改用户信息 187
6.1.2 2 ac:显示用户在线时间的统计信息 188
6.1.2 3 grpconv:开启群组的投影密码 189
6.1.2 4 grpunconv:关闭群组的投影密码 190
6.1.2 5 lastlog;显示最近登录用户的用户名、登录端口和登录时间 190
6.1.2 6 logname:显示当前用户的名称 191
6.1.2 7 users:显示当前登录到系统的用户 191
6.1.2 8 lastb:显示登录系统失败用户的相关信息 191
6.2 使用图形化工具管理用户 192
6.2.1 用户和组群配置工具简介 192
6.2.2 添加新用户 193
6.2.3 修改用户属性 194
6.2.4 添加新组群 194
6.2.5 修改组群属性 195
6.3 Linux用户管理技巧 195
6.3.1 Linux下批量添加用户 195
6.3.2 配置sudo让Linux用户管理更加安全 196
第7章 Linux存储管理工具 203
7.1 Linux磁盘管理工具命令 203
7.1.1 fdisk:磁盘分区 203
7.1.2 badblock:检查磁盘 205
7.1.3 parted:磁盘分区工具 205
7.1.4 df:显示报告文件系统磁盘使用信息 207
7.1.5 du:显示目录或者文件所占的磁盘空间 208
7.1.6 dd:磁盘操作 209
7.1.7 quota:显示磁盘已使用的空间与限制 212
7.1.8 quotacheck:检查磁盘的使用空间与限制 212
7.1.9 quotaoff:关闭磁盘空间限制 213
7.1.1 0 quotaon:开启磁盘空间限制 213
7.1.1 1 quotastats:显示磁盘空间的限制 214
7.1.1 2 repquota:检查磁盘空间限制的状态 214
7.1.1 3 mdadm:RAID设置工具 215
7.2 ext2/ext3文件系统管理工具 217
7.2.1 创建ext2/ext3/etx4文件系统 218
7.2.2 检查ext2/ext3/ext4文件系统 220
7.2.3 调整ext2/ext3/ext4文件系统的属性 222
7.2.4 管理ext2/ext3/ext4文件系统的卷标 223
7.3 Linux磁盘操作实战 223
7.3.1 为Linux添加新硬盘 223
7.3.2 Linux磁盘配额配置 225
7.4 Linux磁盘RAID配置 231
7.5 LVM管理工具 234
7.5.1 LVM基础 234
7.5.2 命令行LVM配置实战 238
7.5.3 使用system-config-lvm管理LVM 247
7.6 使用磁盘使用分析器 252
7.6.1 磁盘使用分析器简介 252
7.6.2 磁盘使用分析器快速入门 253
7.7 使用Palimpsest磁盘工具 255
7.7.1 简介 255
7.7.2 安装使用 255
7.7.3 主要功能 256
7.8 刻录工具的使用 259
7.8.1 命令行下刻录 260
7.8.2 图形界面下的刻录工具 Brasero 261
7.9 使用Gparted分区编辑器 263
7.9.1 简介 263
7.9.2 安装 264
7.9.3 创建分区 264
7.9.4 格式化分区 267
7.9.5 激活分区 267
7.1 0清理磁盘碎片和为系统瘦身工具 269
7.i0.1 命令行工具 269
7.1 0.2 使用BleachBit工具 269
第8章 Linux网络配置工具 276
8.1 Linux网络基础 276
8.1.1 Linux网络结构的特点 276
8.1.2 Linux下端口号分配 278
8.1.3 Linux的TCP/IP网络配置 280
8.2 基于Linux命令行的管理工具 281
8.2.1 arp:管理系统中的ARP高速缓存 281
8.2.2 arpwatch:监听ARP记录 282
8.2.3 arping:发送ARP请求到一个相邻主机 283
8.2.4 fnger:查找并显示用户信息 284
8.2.5 ifconfig:设置网络接口 285
8.2.6 iwconfig:设置无线网卡 286
8.2.7 hostname:显示主机名 290
8.2.8 ifup:激活设备 291
8.2.9 ifdown:禁用网络设备 292
8.2.1 0 mii-tool:调整网卡模式 292
8.2.1 1 route:设置路由表 293
8.2.1 2 netstat:查看网络连接 295
8.2.1 3 ping:检测主机的连通性 296
8.2.1 4 traceroute:检查数据包所经过的路由器 298
8.2.1 5 wget:下载文件 299
8.2.1 6 telnet:远程登录 302
8.2.1 7 ethtool:查询及设置网卡参数 304
8.2.1 8 tc:显示和维护流量控制设置 305
8.3 使用NetworkManager和Wcid配置网络连接 306
8.3.1 NetworkManager简介 306
8.3.2 使用NetworkManager配置有线网络接口 307
8.3.3 使用NetworkManager连接Wi-Fi(802.1 1)网络 308
8.3.4 使用Wicd网络管理器 309
8.4 掌握Linux命令行网络监控工具 311
8.4.1 使用iftop工具监控网卡的流量 311
8.4.2 使用ngrep监控网络接口 312
8.4.3 利用Bwm-NG监测带宽 314
8.4.4 lsof 315
8.4.5 使用IPTraf监控Linux网络 317
8.4.6 使用Tcpdump 319
第9章 Linux编辑器vi和gedit 324
9.1 vi编辑器 324
9.1.1 Linux命令行编辑器简介 324
9.1.2 vi编辑器简介 329
9.1.3 vi编辑器的模式 329
9.1.4 vi三种模式的切换 330
9.1.5 vi编辑器基本操作 331
9.1.6 在vi编辑器移动光标 332
9.1.7 在文件中搜索、修改和删除文本 334
9.1.8 vi进阶应用 335
9.1.9 vi总结 339
9.2 gedit 339
9.2.1 简介 339
9.2.2 gedit的启动 340
9.2.3 gedit的首选项 340
9.2.4 常用的技巧 341
9.2.5 用gedit制作脚本的简单例子 342
9.2.6 解决gedit中文乱码 343
9.2.7 用gedit制作代码转换的简单例子 344
第10章 SELinux和安全审计工具 346
10.1 SELinux简介 346
10.1.1 SELinux起源 346
10.1.2 SELinux构架 347
10.1.3 SELinux相关的文件 350
10.2 SELinux使用实战 350
10.2.1 SELinux布尔值和上下文配置 352
10.3 使用命令行工具管理SELinux 356
10.4 SELinux日志文件的使用 369
10.5 SELinux和网络服务设置 369
10.5.1 Apache与SELinux 369
10.5.2 Samba和SELinux 371
10.5.3 Vsftp和SELinux 373
10.5.4 NFS和SELinux 374
10.5.5 MySQL和SELinux 374
10.5.6 DNS和SELinux 375
10.6 Linux安全审计工具 375
10.6.1 Linux用户空间审计系统简介 375
10.6.2 安装软件包并且配置审计守护进程 377
10.6.3 用户空间审计系统的使用实例 380
第11章 Linux计划任务和日志管理工具 388
11.1 Linux计划任务命令行工具 388
11.1.1 at相关命令 388
11.1.2 at相关命令使用实例 390
11.1.3 系统资源的定时调用(使用cron) 391
11.2 Linux计划任务图形化工具 Gnome-schedule 394
11.2.1 简介 394
11.2.2 安装 394
11.2.3 使用方法 394
11.3 Linux日志管理工具 396
11.3.1 简介 396
11.3.2 日志管理软件包psacct 简介 397
11.3.3 lastcomm命令 398
11.3.4 sa命令 399
11.3.5 ac命令 401
11.3.6 accton命令 402
11.4 其他日志管理实用工具 403
11.5 Linux日志管理技巧 406
11.5.1 使用logrotate工具 406
11.5.2 搜索日志文件的策略和技巧 406
11.5.3 手动搜索日志文件 407
11.5.4 使用logwatch工具搜索日志文件 408
11.5.5 其他日志工具 408
11.6 使用图形化工具:系统日志查看器 409
11.6.1 安装 409
11.6.2 快速使用入门 409
11.7 配置Rsyslog 411
11.7.1 简介 411
11.7.2 安装配置 413
第12章 Linux打印管理工具 421
12.1 使用图形化打印配置管理工具 421
12.1.1 Linux打印过程 421
12.1.2 下载安装驱动 422
12.1.3 使用system-config-printer 422
12.2 使用CUPS打印系统 426
12.2.1 了解Alternative机制 426
12.2.2 启动CUPS打印服务 426
12.2.3 管理CUPS打印系统 426
12.3 使用命令行工具 428
12.3.1 cupsd:通用打印程序守护进程 428
12.3.2 lpadmin:配置LP打印服务 429
12.3.3 lp:打印文件 431
12.3.4 lpstat:显示行式打印机状态信息 432
12.3.5 lpr:排队打印作业 433
12.3.6 lprm:打印队列删除任务 434
12.3.7 lpc:控制打印机 434
12.3.8 lpq:检查假脱机队列 435
12.3.9 lpinfo:显示驱动和设备 436
12.3.1 0 lpmove:将作业从一个队列移动到另外一个队列中 438
12.3.1 1 lpd:行打印守护进程 439
12.3.1 2 Linux打印故障诊断 439
第13章 使用Webmin工具管理 Linux 441
13.1 Webmin安装配置 441
13.1.1 Webmin简介 441
13.1.2 下载安装Webmin 442
13.2 使用Webmin 442
13.2.1 登录Webmin 442
13.2.2 Webmin的自身配置 443
13.2.3 Webmin主界面 445
13.2.4 理解Webmin配置文件 447
13.2.5 Webmin的安全性 448
13.3 服务器类型模块 449
13.3.1 Apache服务器 449
13.3.2 DHCP服务器 450
13.3.3 Postfix配置 450
13.3.4 SambaWindows文件共享 451
13.3.5 Squid代理服务器 451
13.3.6 SSH服务 452
13.3.7 Webalizer日志分析 452
13.4 网络配置管理 452
13.4.1 网络接口 453
13.4.2 路由和网关 453
13.5 硬件配置管理 454
13.5.1 本地磁盘分区 454
13.5.2 系统时间 454
13.6 系统配置管理 455
13.6.1 用户与组 455
13.6.2 Cron任务调度 455
13.6.3 文件系统备份 456
13.6.4 开机和关机 457
13.7 其他配置管理 458
13.7.1 系统和服务器状态 458
13.7.2 Perl模块 459
13.7.3 PHP配置 459
第14章 Linux系统管理工具 460
14.1 基于命令行的系统管理工具 460
14.1.1 accton:打开或关闭进程统计 460
14.1.2 lastcomm:显示以前使用过的命令的信息 461
14.1.3 sa:报告、清理并维护进程统计文件 462
14.1.4 halt:关闭系统 463
14.1.5 init:进程处理初始化 464
14.1.6 local:显示本地支持的语言系统信息 465
14.1.7 logout命令:退出系统 466
14.1.8 bg:后台运行命令 466
14.1.9 fg:挂起程序 467
14.1.10 iobs:显示后台程序 467
14.1.11 kill:杀掉进程 468
14.1.12 crontab:设置计时器 469
14.1.13 pstree:显示进程状态树 470
14.1.14 nice:改变优先权等级 471
14.1.15 renice:修改优先级 472
14.1.16 sleep:暂停进程 472
14.1.17 nohup:用户退出系统之后继续工作 473
14.1.18 pgrep:查找匹配条件的进程 473
14.1.19 fuser:用文件或者套接口表示进程 474
14.1.20 chkconfig:设置系统的各种服务 475
14.1.21 strace:用来跟踪一个进程的系统调用或信号产生的情况 477
14.1.22 ltrace:跟踪进程调用库函数的情况 477
14.1.23 ntsysv:设置系统服务 477
14.1.24 systemctl:设置系统服务 479
14.1.25 lsmod:显示Linux内核的模块信息 480
14.1.26 reboot:重新启动系统 480
14.1.27 uname:显示系统信息 481
14.1.28 set:设置shell 481
14.1.29 setenv:查询或显示环境变量 482
14.1.30 lspci:查看硬件插槽 483
14.2 基于图形化的系统管理工具 484
14.2.1 系统监视器 484
14.2.2 输入法设置工具 486
14.2.3 键盘设置 488
14.2.4 鼠标设置 490
14.2.5 服务设置工具 system-config-services 491
第15章 Linux备份与恢复工具 497
15.1 Linux备份基础 497
15.1.1 什么是备份 497
15.1.2 备份前需考虑的因素 497
15.1.3 选择备份介质 498
15.1.4 Linux备份策略 499
15.2 Linux磁带机备份和恢复 501
15.2.1 磁带存储简介 501
15.2.2 磁带管理命令 502
15.3 Linux常用备份工具的使用 507
15.3.1 用mirrordir做硬盘分区镜像 507
15.3.2 使用partimage备份恢复 Linux分区 509
15.3.3 使用afio工具备份 510
15.3.4 图形化工具LuckyBackup 511
15.3.5 Linux备份恢复工具 513
15.4 使用网络备份工具Bacula 514
15.4.1 Bacula简介 514
15.4.2 Bacula安装及配置 517
15.4.3 执行备份和恢复 524
15.4.4 使用图形化工具 bacula-console-bat 529
第16章 Linux系统监控和性能测试工具 532
16.1 监控原理 532
16.1.1 性能监控方法 532
16.1.2 proc文件系统的特点 533
16.1.3 lproc文件系统的功能 533
16.1.4 监控系统负载 533
16.1.5 使用phpsysinfo 534
16.1.6 监控Linux进程运行 536
16.1.7 监控内存使用情况 537
16.1.8 监控中央处理器 538
16.1.9 使用iostat监控I/O性能 540
16.1.10 监控网络性能 542
16.1.11 sar 544
16.1.12 使用kSar 548
16.2 Linux核心硬件状态监控 555
16.2.1 使用命令行工具检测主板、CPU 555
16.2.2 使用smartmontools检测硬盘健康状态 558
16.3 使用Nagios 560
16.3.1 Nagios简介 560
16.3.2 安装Nagios 561
16.3.3 添加监测目标 563
16.3.4 在监测主机上安装nrpe 代理 564
16.3.5 设置报警 565
16.3.6 安装其他插件 567
16.3.7 配置SMTP插件 568
16.3.8 配置POP插件 569
16.3.9 配置IMAP插件 570
16.4 Linux网络性能测试工具 571
16.4.1 网络性能测试简介 571
16.4.2 利用ipref测试网络性能 572
16.4.3 使用tcptrace 575