图书目录

第一篇  Linux入门与基础管理

第1章  Linux安装及入门 / 1

1.1  Linux初识 / 2

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 6 / 8

1.5.1  Red Hat Enterprise Linux 6版本 / 8

1.5.2  Red Hat Enterprise Linux 6主要特点 / 9

1.5.3  RHEL 6与RHEL 5.5的区别 / 11

1.6  Red Hat Enterprise Linux 6重要安装步骤 / 11

1.6.1  启动安装程序 / 12

1.6.2  安装类型及分区注意事项 / 12

1.6.3  引导装载程序设置 / 14

1.6.4  软件包选择 / 16

1.7  系统删除 / 17

1.8  系统启动、登录等基本操作 / 18

1.8.1  启动系统 / 18

1.8.2  终端模拟、ssh和telnet / 20

1.8.3  用reboot命令重新启动计算机 / 21

1.8.4  用shutdown命令关机或进入单人维护模式 / 21

1.9  文本模式和图形化模式的切换 / 22

1.10  系统登录时的几个注意事项 / 22

1.10.1  如何处理登录失败 / 23

1.10.2  退出 / 23

第2章  桌面程序管理 / 24

2.1  桌面环境介绍 / 25

2.1.1  CDE / 25

2.1.2  KDE / 25

2.1.3  GNOME / 26

2.2  桌面和面板 / 26

2.2.1  桌面 / 26

2.2.2  面板 / 27

2.3  添加、删除应用程序 / 28

2.4  使用RPM命令安装软件包 / 29

2.4.1  使用rpm命令安装xxx.rpm文件 / 29

2.4.2  使用rpm命令安装

xxx.src.rpm文件 / 29

2.4.3  安装程序xxx.bin / 30

2.4.4  安装xxx.tar.gz、xxx.bz2、xxx.z文件 / 30

2.5  获取帮助文档 / 30

2.5.1  --help选项 / 31

2.5.2  man命令 / 31

2.5.3  info命令显示工具信息 / 33

2.5.4  使用“帮助”窗口 / 34

2.6  vim编辑器 / 35

2.6.1  vim简介 / 35

2.6.2  vi/vim常用的命令 / 36

2.7  Red Hat Enterprise Linux 6下的常用软件 / 39

2.8  Linux设备简介 / 40

2.9  日期和时间 / 40

2.10  输入法 / 41

2.11  电源管理 / 42

2.12  桌面显示设置 / 43

2.13  设置屏幕外观 / 43

2.14  配置声卡 / 44

2.15  安装配置Mplayer / 45

2.15.1  下载解压包 / 45

2.15.2  下载解压Mplayer软件包 / 46

2.15.3  编译、安装 / 48

2.16  配置网卡 / 48

2.16.1  图形化配置方式 / 48

2.16.2  测试网络配置情况 / 50

第3章  Webmin和xinetd管理 / 52

3.1  Webmin介绍 / 53

3.2  Webmin的下载与安装 / 53

3.3  安装设置Webmin / 55

3.4  Webmin应用 / 57

3.5  xinetd介绍 / 59

3.6  配置xinetd服务器 / 59

3.6.1  xinetd主配置文件 / 59

3.6.2  单个xinetd服务文件 / 62

3.6.3  xinetd的启动和停止 / 62

3.7  允许xinetd连接 / 63

3.7.1  TCP封装器和xinetd / 63

3.7.2  xinetd的单个访问控制 / 64

第4章  文件系统管理 / 66

4.1  文件管理器介绍 / 67

4.2  Linux文件系统的基本类型 / 68

4.2.1  ext2 / 68

4.2.2  ext3 / 69

4.2.3  ext4(The fourth extended file system) / 70

4.2.4  交换分区 / 71

4.2.5  独立磁盘冗余阵列(RAID) / 72

4.2.6  逻辑卷管理器(LVM) / 72

4.3  系统目录 / 73

4.4  文件系统的结构 / 75

4.5  文件名的命名 / 76

4.6  文件及目录访问权限 / 77

4.6.1  一般权限 / 78

4.6.2  特殊权限 / 79

4.6.3  使用文件管理器来改变文件/目录的权限 / 80

4.6.4  使用chmod和数字改变文件/目录的访问特权 / 82

4.6.5  使用命令chown改变文件/目录的所有权 / 83

4.7  链接 / 84

4.7.1  符号链接 / 85

4.7.2  删除链接 / 86

第5章  账号管理 / 87

5.1  root账号 / 88

5.2  普通账号 / 90

5.2.1  创建用户账号 / 91

5.2.2  账号停用 / 93

5.2.3  账号删除 / 93

5.3  管理组群 / 94

5.4  图形化管理用户 / 94

第6章  磁盘管理 / 96

6.1  数据存储 / 97

6.1.1  数据存储方式 / 97

6.1.2  存储发展趋势 / 97

6.2  数据管理 / 98

6.2.1  高可用集群 / 98

6.2.2  备份 / 98

6.2.3  复制 / 99

6.2.4  容灾 / 99

6.2.5  迁移 / 99

6.2.6  内容管理 / 99

6.3  RAID / 100

6.3.1  RAID简介 / 100

6.3.2  RAID的优点 / 100

6.3.3  RAID级别 / 101

6.3.4  RAID 0级(Stripe) / 101

6.3.5  RAID 1级(Mirror) / 101

6.3.6  RAID 1+0 / 101

6.3.7  RAID 3 / 102

6.3.8  RAID 5级 / 102

6.4  Linux逻辑卷管理 / 102

6.4.1  Linux逻辑卷简介 / 102

6.4.2  逻辑卷基本原理 / 103

6.4.3  逻辑卷使用举例 / 103

6.4.4  磁盘实用工具 / 106

6.4.5  实际空间问题及解决方法 / 106

6.5  Linux磁盘空间管理 / 107

6.5.1  df命令 / 107

6.5.2  du命令 / 108

6.5.3  磁盘使用分析器 / 108

6.6  数据备份简介 / 109

6.6.1  备份的数据量 / 109

6.6.2  备份媒体的类型 / 110

第7章  常用系统管理 / 111

7.1  系统服务管理 / 112

7.1.1  运行、重启和停止某个服务 / 112

7.1.2  使某个服务在系统启动时自动运行或停止 / 113

7.2  系统端口管理 / 113

7.2.1  端口分类 / 113

7.2.2  监听端口开启情况 / 114

7.2.3  关闭/开启端口 / 114

7.2.4  常用端口 / 115

7.3  文件系统使用情况监控 / 117

7.3.1  确定文件系统使用情况 / 117

7.3.2  开放文件情况监控 / 118

7.4  磁盘性能监控 / 118

7.4.1  使用iostat命令 / 118

7.4.2  使用sar命令 / 118

7.5  系统性能监控 / 119

7.5.1  top命令 / 119

7.5.2  使用top监视特定用户 / 120

7.5.3  终止执行中的进程 / 120

7.5.4  使用系统监视器 / 122

7.6  系统处理器情况监控 / 123

7.7  内存使用情况监控 / 124

7.8  网络子系统情况监控 / 124

7.9  系统进程管理 / 125

7.9.1  捕获进程状态 / 125

7.9.2  查看较详细的说明 / 125

7.9.3  查看其他用户的进程 / 126

7.9.4  查看后台执行的进程 / 126

7.9.5  将进程清单排序 / 126

7.9.6  搭配其他命令查询进程 / 127

7.9.7  删除进程 / 127

7.9.8  控制进程优先级 / 128

7.10  查看用户行为 / 129

7.10.1  查看系统当前的在线用户 / 130

7.10.2  查看曾经登录系统的用户 / 131

7.11  系统日志管理 / 132

7.11.1  日志文件概述 / 132

7.11.2  syslogd与klogd守护进程 / 133

7.11.3  配置系统日志 / 134

7.11.4  配置文件语法 / 137

7.11.5  分析日志文件 / 139

7.11.6  转储日志文件 / 140

第8章  Linux常用命令 / 141

8.1  终端介绍 / 142

8.2  文件目录操作基本命令 / 143

8.2.1  cat / 143

8.2.2  chgrp / 143

8.2.3  chmod / 143

8.2.4  chown / 143

8.2.5  clear / 143

8.2.6  cmp / 144

8.2.7  cp / 144

8.2.8  cut / 144

8.2.9  diff / 144

8.2.10  du / 144

8.2.11  file / 144

8.2.12  find / 145

8.2.13  head / 145

8.2.14  In / 145

8.2.15  less / 145

8.2.16  locate / 145

8.2.17  ls / 145

8.2.18  mkdir / 146

8.2.19  more / 146

8.2.20  rmkdir / 146

8.2.21  mv / 146

8.2.22  pico / 146

8.2.23  pwd / 147

8.2.24  rm / 147

8.2.25  sort / 147

8.2.26  stat / 147

8.2.27  strings / 147

8.2.28  tail / 147

8.2.29  touch / 148

8.2.30  umask / 148

8.2.31  uniq / 148

8.2.32  vi / 148

8.2.33  wc / 148

8.2.34  whereis / 148

8.2.35  man / 148

8.2.36  dd / 148

8.2.37  df / 149

8.2.38  edquota / 149

8.2.39  fdformat / 149

8.2.40  fdisk / 149

8.2.41  mkfs / 149

8.2.42  mkswap / 149

8.2.43  mount / 149

8.2.44  quota / 149

8.2.45  swapon、swapoff / 150

8.2.46  quotaon、quotaoff / 150

8.2.47  umount / 150

8.3  系统信息显示命令 / 150

8.3.1  dmesg / 150

8.3.2  mesg / 150

8.3.3  free / 151

8.3.4  shutdown / 151

8.3.5  uname / 151

8.3.6  uptime / 151

8.3.7  date / 151

8.3.8  who / 151

8.3.9  whoami / 152

8.3.10  last / 152

8.3.11  su / 152

8.3.12  cal / 152

8.3.13  write / 152

8.4  备份压缩归档命令 / 153

8.4.1  zip、gzip和gunzip / 153

8.4.2  tar / 154

8.5  系统网络管理相关命令 / 155

8.5.1  finger / 156

8.5.2  ftp / 156

8.5.3  host / 156

8.5.4  hostname / 156

8.5.5  ifconfig / 156

8.5.6  mail / 156

8.5.7  netstat / 156

8.5.8  ping / 157

8.5.9  rlogin / 157

8.5.10  rcp / 157

8.5.11  route / 157

8.5.12  tcpdump / 157

8.5.13  talk / 158

8.5.14  telnet / 158

8.5.15  wall / 158

8.5.16  wget / 158

8.5.17  &、bg / 158

8.5.18  fg / 158

8.5.19  jobs / 159

8.5.20  kill / 159

8.5.21  ps / 159

8.5.22  top / 159

8.5.23  at、atq、atrm、crontab / 159

8.6  YUM命令 / 160

8.6.1  yum的特点 / 160

8.6.2  配置yum文件 / 160

8.6.3  yum指令详解 / 161

8.7  DOS和Linux常用命令对比 / 163

第9章  Linux编程 / 164

9.1  shell / 165

9.2  bash基本命令 / 166

9.3  shell变量类型 / 167

9.3.1  预定义变量 / 167

9.3.2  环境变量 / 168

9.3.3  用户变量 / 169

9.3.4  参数变量 / 169

9.4  比较语句 / 170

9.4.1  字符串比较 / 170

9.4.2  数值的比较 / 170

9.4.3  逻辑操作 / 170

9.4.4  文件操作 / 171

9.5  控制程序执行流程的语句类型 / 171

9.5.1  if条件语句 / 172

9.5.2  for循环 / 172

9.5.3  while和until循环 / 172

9.5.4  case条件选择 / 173

9.5.5  无条件控制语句break和continue / 173

9.6  函数 / 174

9.7  运行shell程序的方法 / 174

9.7.1  sh shell程序文件名 / 174

9.7.2  sh / 175

9.7.3  用chmod命令使shell程序成为可执行程序 / 175

9.8  信号或中断处理 / 175

9.9  bash shell程序的调试 / 176

9.10  GCC编译器 / 177

9.10.1  GNU C编译器简介 / 177

9.10.2  GCC约定规则 / 177

9.10.3  GCC的基本用法 / 178

9.10.4  GCC的基本选项 / 178

9.10.5  GCC编译程序举例 / 180

9.10.6  GCC的错误类型及对策 / 181

9.11  GNU make / 182

9.11.1  GNU make简介 / 182

9.11.2  makefile 基本结构 / 184

9.11.3  makefile 变量 / 184

9.11.4  运行make / 185

9.12  GDB / 186

9.12.1  GDB简介 / 186

9.12.2  基本GDB命令 / 186

9.12.3  启动GDB / 187

9.12.4  GDB调试程序过程 / 188

第二篇  各种服务器管理与应用

第10章  DNS服务器管理 / 191

10.1  DNS介绍 / 192

10.1.1  DNS特征及组成 / 192

10.1.2  DNS的层次结构与域名

分配 / 193

10.1.3  DNS查询过程 / 194

10.1.4  DNS的种类 / 195

10.2  BIND / 196

10.2.1  安装BIND / 196

10.2.2  启动DNS / 197

10.2.3  BIND常用测试命令 / 197

10.3  配置主域名服务器 / 197

10.3.1  配置主文件/etc/named.

conf / 198

10.3.2  配置正向解析文件

/var/named/localhost.zone / 199

10.3.3  配置反向解析文件

/var/named/named.local / 199

10.3.4  配置根域名服务器指向文件

/var/named/named.ca / 200

10.4  测试DNS服务器 / 201

10.4.1  用ping命令测试 / 201

10.4.2  用nslookup命令测试 / 202

10.5  配置辅助域名服务器 / 205

10.6  配置区域委派及子域DNS服务器 / 206

10.7  配置负载均衡域名服务器 / 209

10.8  配置直接域名解析 / 210

10.9  配置DNS泛域名解析功能 / 211

10.10  Linux客户端DNS配置 / 212

第11章  DHCP服务器管理 / 213

11.1  DHCP 介绍 / 214

11.1.1  DHCP服务器应用 / 214

11.1.2  DHCP地址租约方式 / 215

11.2  安装启动DHCP服务 / 215

11.3  配置DHCP服务器 / 216

11.3.1  dhcpd.conf文件详解 / 216

11.3.2  配置DHCP服务器 / 217

11.4  如何配置DHCP中继代理 / 218

11.4.1  配置子网A中的DHCP服务器 / 219

11.4.2  DHCP中继代理设置 / 220

11.5  配置DHCP客户端 / 221

11.5.1  Windows XP下的DHCP客户端配置 / 221

11.5.2  Linux下的DHCP客户端配置 / 222

第12章  Samba服务器管理 / 224

12.1  Samba / 225

12.2  配置Samba服务器 / 225

12.2.1  share级服务器 / 226

12.2.2  user级服务器 / 228

12.2.3  server级服务器 / 230

12.3  Linux分区和Windows分区资源互访 / 231

12.3.1  从Linux分区访问Windows分区 / 231

12.3.2  从Windows分区访问Linux分区 / 232

12.4  Samba相关命令及程序 / 233

12.4.1  smbd / 233

12.4.2  nmbd / 233

12.4.3  smbclient / 234

12.4.4  smbstatus / 234

12.4.5  testparm / 235

12.4.6  smbmount / 235

12.4.7  testprns / 235

12.5  配置Samba打印共享 / 235

12.5.1  配置Samba打印共享 / 235

12.5.2  测试Samba共享打印机配置的正确性 / 236

12.5.3  配置Windows客户机访问Samba共享打印机 / 236

第13章  FTP服务器管理 / 239

13.1  FTP介绍 / 240

13.1.1  anonymous / 240

13.1.2  real / 240

13.1.3  guest / 241

13.2  安装与启动vsftpd / 241

13.3  vsftpd.conf文件详述 / 242

13.4  匿名账号FTP服务器配置 / 245

13.4.1  简单的匿名账号服务器配置 / 245

13.4.2  配置匿名账号上传功能 / 248

13.4.3  最大并发连接数和用户的最大线程数设置 / 251

13.4.4  匿名用户的最大传输速率设置 / 251

13.4.5  禁止某些IP段的匿名用户访问FTP服务器 / 251

13.4.6  仅允许匿名用户访问 / 252

13.4.7  设置用ASCII方式传送数据 / 253

13.4.8  设置登录FTP服务器的欢迎信息 / 253

13.4.9  设置数据传输中断的时间间隔 / 255

13.5  真实账号FTP服务器配置 / 255

13.5.1  限制用户列表内的用户访问FTP服务器 / 256

13.5.2  更改FTP服务器默认的端口号 / 257

13.5.3  限制用户访问特定的目录 / 258

13.6  Windows客户端访问FTP服务器 / 260

13.6.1  DOS模式下使用ftp命令访问 / 260

13.6.2  使用IE浏览器访问 / 263

13.6.3  使用专用ftp客户端软件访问 / 264

13.7  Linux客户端访问FTP服务器 / 264

13.7.1  使用ftp命令访问 / 264

13.7.2  使用Mozilla Firefox浏览器访问 / 267

第14章  NFS服务器管理 / 268

14.1  NFS介绍 / 269

14.1.1  rpc.nfsd / 270

14.1.2  rpc.mountd / 270

14.2  NFS服务器配置 / 270

14.2.1  配置/etc/exports文件 / 271

14.2.2  使用exportfs命令更改设置 / 272

14.3  配置NFS客户端 / 272

14.3.1  使用mount命令 / 273

14.3.2  配置/etc/fstab文件 / 275

14.4  启动和停止NFS / 276

14.5  NFS服务的安全事项 / 277

14.5.1  NFS不安全性的主要体现 / 277

14.5.2  NFS安全建议 / 278

第15章  Web服务器管理 / 280

15.1  Apache介绍 / 281

15.2  安装与启动Apache / 281

15.3  配置Web服务器 / 284

15.3.1  配置Web目录 / 284

15.3.2  设置路径别名 / 285

15.3.3  配置访问控制 / 286

15.3.4  配置用户认证 / 287

15.4  个人站点配置和管理 / 290

15.5  配置基于IP地址的虚拟主机配置 / 292

15.5.1  IP地址相同,但端口号不同的虚拟主机配置 / 292

15.5.2  端口号相同,但IP地址不同的虚拟主机配置 / 294

15.6  基于名称的虚拟主机配置 / 295

15.7  动态虚拟主机配置 / 297

15.8  Web服务器日志管理 / 299

15.9  滚动日志配置 / 301

15.9.1  rotatelogs / 301

15.9.2  logrotate / 302

15.10  webalizer / 303

15.10.1  安装和查看webalizer / 303

15.10.2  配置webalizer / 304

15.10.3  在Mozilla Firefox浏览器中进行测试 / 305

第三篇  Linux高级应用

第16章 VPN服务器管理 / 306

16.1  VPN介绍 / 307

16.2  VPN的类型 / 307

16.2.1  远程访问虚拟网VPDN(Virtual Private Dial Network) / 308

16.2.2  企业内部虚拟网Intranet VPN / 308

16.2.3  企业扩展虚拟网Extranet VPN / 308

16.3  VPN的特点 / 308

16.3.1  降低费用 / 308

16.3.2  增强安全性 / 309

16.3.3  网络协议支持 / 309

16.3.4  IP地址安全 / 309

16.4  VPN工作原理 / 309

16.5  隧道协议类型 / 310

16.5.1  PPTP/ L2TP / 310

16.5.2  IPSec / 311

16.5.3  SOCKS v5 / 312

16.6  配置VPN服务器 / 313

16.6.1  安装ppp和pptpd / 313

16.6.2  配置VPN服务器 / 314

16.6.3  基于SSL的VPN客户端访问实现 / 314

16.7  VPN安全访问控制设计与实现 / 316

16.7.1  修改/etc/services文件 / 316

16.7.2  使用“服务配置”工具管理VPN服务 / 316

第17章  LDAP应用 / 317

17.1  LDAP 介绍 / 318

17.1.1  LDAP目录结构 / 318

17.1.2  LDAP客户端/服务器模型 / 319

17.1.3  LDAP的使用 / 319

17.1.4  LDAP术语 / 320

17.2  OpenLDAP / 320

17.2.1  服务器端进程 / 321

17.2.2  OpenLDAP工具 / 321

17.2.3  安装OpenLDAP / 321

17.2.4  配置slapd文件 / 322

17.2.5  启动slapd / 324

17.3  配置OpenLDAP客户端 / 324

17.3.1  创建目录项 / 325

17.3.2  搜索、查询以及修改目录 / 326

17.3.3  使用OpenLDAP进行用户认证 / 327

第18章  防火墙配置及应用 / 330

18.1  Iptables 介绍 / 331

18.2  Iptables和Ipchains语法比较 / 331

18.3  Iptables语法规则 / 333

18.3.1  表(table) / 333

18.3.2  命令(command) / 333

18.3.3  匹配(match) / 335

18.3.4  目标(target) / 336

18.3.5  保存规则 / 337

18.3.6  Iptables使用实例 / 337

18.4  配置Iptables包过滤防火墙 / 341

18.4.1  建立相应的脚本文件 / 341

18.4.2  刷新所有链的规则 / 342

18.4.3  首先禁止转发任何包,然后再一步步设置允许通过的包 / 342

18.4.4  设置关于服务器的包过滤规则 / 342

18.4.5  设置针对Intranet客户的过滤规则 / 343

18.4.6  接收来自整个Intranet的数据包过滤,定义如下规则 / 343

18.4.7  处理ip碎片 / 343

18.4.8  设置icmp包过滤 / 344

18.4.9  执行脚本,使配置生效 / 345

第19章  Linux路由及NAT应用 / 346

19.1  路由器介绍 / 347

19.2  路由选择原理 / 347

19.3  路由协议 / 348

19.3.1  RIP路由协议 / 348

19.3.2  OSPF路由协议 / 348

19.4  Linux软路由器配置要求 / 349

19.5  配置Linux静态路由器 / 349

19.5.1  配置网卡接口地址 / 350

19.5.2  测试网卡接口IP配置状况和路由表 / 350

19.5.3  分别设置两个网段内主机的IP和网关 / 351

19.5.4  测试路由运行情况 / 352

19.6  配置Linux动态路由器 / 353

19.6.1  Zebra相关配置文件 / 353

19.6.2  Zebra的基本配置 / 355

19.6.3  配置基于RIP协议的路由器 / 356

19.6.4  配置基于OSPF协议的路由器 / 361

19.7  NAT / 364

19.7.1  NAT的类型 / 365

19.7.2  NAT的功能 / 365

19.7.3  NAT应用 / 366

19.7.4  NAT规则及语法 / 367

19.7.5  操作实例 / 367

19.8  Linux下NAT配置 / 370

19.8.1  内网和外网IP地址映射 / 370

19.8.2  局域网通过配置NAT上网 / 371

第20章  Linux远程管理及应用 / 374

20.1  VNC / 375

20.2  配置VNC服务器 / 376

20.3  Linux下访问VNC服务器 / 376

20.4  Windows客户端访问VNC服务器 / 377

20.5  浏览器访问VNC服务器 / 379

20.6  Openssh / 379

20.7  配置Openssh服务器 / 380

20.8  SSH远程管理Linux服务器 / 382

20.9  PuTTY / 383

20.10  SecureCRT / 384

20.10.1  SecureCRT简介 / 384

20.10.2  使用SecureCRT 4.1 / 385

第四篇  Linux系统安全与防范

第21章  系统安全管理 / 387

21.1  设置GRUB与LILO安全性 / 388

21.2  设置账号安全 / 389

21.2.1  设置默认口令和账号的长度及有效期 / 389

21.2.2  清除空口令的账号 / 390

21.2.3  特别账号处理 / 391

21.3  设置重要系统文件的安全性 / 392

21.3.1  权限与文件系统 / 392

21.3.2  设置自动注销账号的登录 / 392

21.3.3  禁止外来ping请求 / 394

21.3.4  设置文件/etc/host.conf,防止IP欺骗 / 395

21.3.5  禁止任何人su作为root / 395

21.3.6  禁止使用Ctrl+Alt+Delete / 396

21.3.7  截断以前使用的命令列表 / 397

21.4  系统服务的安全管理 / 397

21.4.1  检查和关闭开启的服务 / 397

21.4.2  直接修改脚本文件 / 399

21.4.3  使用“服务配置”工具设置系统服务安全 / 400

21.5  远程连接服务器时的安全事项 / 400

21.6  系统端口管理 / 401

21.7  设置系统日志文件的安全性 / 404

21.7.1  关注Linux下的日志s子系统 / 405

21.7.2  重要的日志文件和命令 / 405

21.8  防火墙应用 / 407