本书以Red Hat Enterprise Linux Server release 5(Tikanga)为蓝本,全面介绍了Linux的基本概念、特点、重要安装步骤、GNOME桌面管理、系统配置、文件系统、用户管理、系统管理、网络管理、磁盘管理、Linux常用命令、各种服务器架设、NAT、VPN、VNC和Openssh应用、Shell编程、语言编程、Linux系统的安全设置等内容。
本书最大的特点是结合实际,讲解具有针对性,实用性强。无论是简单的Linux命令和系统管理,还是语言编程和安全管理,都采用通俗易懂的语言并配以简单明了的图片进行介绍,力求把复杂的问题简单化。同时,本书还穿插了笔者多年来在实际应用Linux过程中积累的大量经验及实例。
本书内容详尽,结构清晰,语言简练,实例众多,既可作为高等院校师生学习Linux的教材及培训机构的培训教材,也可作为从事Linux系统网络管理专业技术人员的参考书。
Red Hat Linux俗称红帽子,是目前最流行的Linux发行版。Linux具有开放性,支持多用户、多进程、多线程,实时性较好,功能强大而稳定。近年来,Linux已成为一个强大而又新颖的类UNIX操作系统,其流行性甚至超过了它的前辈UNIX。
Red Hat Enterprise Linux 5的版本主要分为Sever和Desktop两个。本书主要介绍Red Hat Enterprise Linux Server release 5 (Tikanga)。
本书分5篇共30章。各部分的具体内容如下。
第一篇 Linux入门及系统管理
第一篇为Linux入门及系统管理,包含第1~12章内容。
第1、2章主要对Linux的发展历史、特点和发展前景进行了简单介绍,然后介绍Red Hat Enterprise Linux 5的特点和新特性。以及RHEL5的重要安装步骤、启动方式,以及GNOME的管理,帮助文档的获取,vim和emacs编辑器,添加、删除应用程序等诸多内容。
第3章为硬件设备管理,主要介绍了图形界面设置,网络、声卡、显卡和打印机等硬件的安装、设置方法等。
第4章主要介绍了文件系统和目录管理方面的内容,以及文件及目录访问权限的设置方法等。
第5、7、8章重点介绍了系统用户行为的查看方式、系统日志的配置、分析、转储和管理;文件系统使用情况监控,磁盘性能监控,系统的内存、处理器、网络监控,系统进程的管理、系统性能的监控等内容;系统服务如何进行开启、关闭,以及端口的种类和端口的管理等内容。
第6章是用户管理。通过这章的学习,读者可了解系统超级用户管理、普通用户的管理、组群管理、用户管理器等内容。
第9章主要介绍了Linux下终端的各种常用命令,包括终端窗口简介、文件目录操作命令、信息显示命令、备份压缩的命令、系统管理命令等,以及DOS和Linux常用命令对比。
第10章为Linux系统的存储与备份。重点介绍了存储的方式、存储的发展趋势,数据管理的方式、RAID技术实现方式,Linux逻辑卷管理、Linux磁盘空间管理及硬盘挂载方式等内容。
第11、12章主要介绍了Linux的基本网络命令如Ping、ifconfig、netstat,如何通过Linux系统接入Internet的方法,以及Webmin的简介、安装设置、使用方法等内容。
第二篇 服务器配置与应用
第二篇为Linux下各种服务器的配置方法,包含第13~20章内容。
这部分内容主要介绍了Linux下各种服务器如DHCP、DNS、NFS、Samba、FTP、WWW、Squid和LDAP等的重要配置过程,并且结合实际例子进行详细的讲解,非常实用。如第18章主要介绍了Apache的一般概念,Apache Server服务器的安装和启动,WWW服务器的基本配置,用户的个人站点配置和管理,虚拟主机的配置和使用,Apache的日志管理等内容。
第三篇 Linux高级应用
第三篇为Linux的高级应用,包含第21和27章内容。
本部分主要介绍了Xinetd、Liunx软路由器、Linux防火墙、NAT、VPN、VNC、Openssh等重要内容。如介绍了VPN的相关概念、特点、协议以及VPN服务器及客户端的配置和应用等;VNC的基本概念,Linux下如何配置VNC服务器,不同平台的客户端如何访问VNC服务器。Openssh服务器的配置,使用不同的客户端软件通过SSH服务管理Linux服务器等内容。通过这部分的学习,读者可掌握Linux最高级的应用,把Linux的应用进行扩展,发挥其更大的作用。
第四篇 Linux开发基础
第四篇为Linux开发基础,包含第28和29章内容。
Linux系统的Shell作为操作系统的外壳,为用户提供使用操作系统的接口。这两章的内容对高级用户很有用,主要考虑到一些编程读者的需求,Linux编程也是一个优秀的Linux系统管理员应该掌握的知识。该部分对Linux下的Shell编程和C语言编程的相关内容进行了详细的阐述。
第五篇 Linux系统及网络安全
第五篇为系统安全加固,包含第30章内容。
主要详细介绍了Linux系统的安全配置,内容包括GRUB及LILO的安全配置,重要系统文件的安全设置,系统开启服务的安全,连接服务器时的注意事项,系统端口安全,系统日志文件安全等。通过这章的学习,读者可配置一个高可靠性和稳定的Linux操作系统。
本书是多人智慧的集成,除封面署名的作者外,参与资料整理和制作的人员还有李巧峰、车金、张明洋、张睿、杨云辉、韩小宁、景振媛、申雪丽、赵永生、李静、吴晓侠、李秋歌、罗彩群、李敏、张博、刘彦军、陈国亮、刘建峰、孙飞、杜伟荔、刘志伟、李凯、赵全立、曹永军、杨祥波、钟勇等。在本书的编写过程中,参考了一些有关文献,在此向这些文献的作者深表感谢。由于作者水平有限,本书不足之处在所难免,欢迎广大读者批评指正。我们的信箱:huchenhao@263.net,电话:010-62796045。
第一篇 Linux入门及系统管理
第1章 Linux入门及系统简介1
1.1 Linux起源2
1.2 Linux的特性3
1.2.1 Linux的优势3
1.2.2 Linux流行的原因6
1.2.3 Linux的可移植性7
1.3 Linux的版本类别7
1.4 Red Hat Linux发展趋势8
1.5 Red Hat Enterprise Linux 5特点9
1.5.1 Red Hat Enterprise Linux 5版本类别9
1.5.2 Red Hat Enterprise Linux 5特点10
1.6 安装软件下载11
1.7 系统安装过程中几个
重要步骤12
1.7.1 启动安装程序12
1.7.2 分区注意事项13
1.7.3 引导装载程序设置14
1.7.4 软件包选择15
1.8 系 统 删 除16
1.9 系统启动、登录等基本操作17
1.9.1 系统启动及登录17
1.9.2 终端模拟、ssh和telnet19
1.9.3 用reboot命令重新启动算机20
1.9.4 用shutdown命令关机或进入单人维护模式20
1.10 文本模式和图形化模式的切换21
1.11 系统登录时的几个注意事项22
1.11.1 如何处理登录失败22
1.11.2 退出22
1.11.3 更改密码22
第2章 图形界面操作24
2.1 图形桌面简介25
2.1.1 CDE25
2.1.2 KDE25
2.1.3 GNOME26
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.bin30
2.4.4 安装xxx.tar.gz、xxx.bz2、xxx.z文件30
2.5 获取帮助文档31
2.5.1 --help选项31
2.5.2 man命令32
2.5.3 info命令显示工具信息33
2.6 vim编辑器35
2.6.1 vim简介35
2.6.2 vi/vim常用的命令36
2.7 Red Hat Enterprise Linux 5下的常用软件38
2.8 KDE简介39
………………
第19章 Squid服务器配置与应用285
19.1 Squid概述286
19.2 Squid.conf文件详解287
19.3 配置Squid Server290
19.3.1 Squid Server配置实例290
19.3.2 建立置换目录291
19.3.3 开启Squid Server291
19.4 代理服务器客户端配置292
19.4.1 在IE浏览器中设置292
19.4.2 在mozilla中设置292
19.5 Squid Server的安全访问 设置293
19.5.1 限制内网某些IP通过代理服务器上网294
19.5.2 限制内网某些MAC地址使用代理服务器295
19.5.3 限制内网用户访问某些网站296
19.5.4 限制内网用户下载某些格式的文件297
19.5.5 限制内网用户使用代理服务器的时间297
19.5.6 控制内网用户使用代理服务器的并发连接数298
19.5.7 禁止内网使用QQ聊天298
19.6 Squid透明代理设置298
19.6.1 /etc/squid/squid.conf文件相关配置298
19.6.2 设置iptables299
19.7 提高代理服务器的性能300
19.8 设置代理服务器自动取回数据301
19.8.1 高速取回网站中的数据301
19.8.2 定时从网站中取回数据302
19.9 Squid Server日志管理303
第20章 LDAP服务器配置与应用304
20.1 LDAP简介305
20.1.1 LDAP目录结构305
20.1.2 客户端/服务器模型306
20.1.3 LDAP的使用306
20.1.4 LDAP术语307
20.2 OpenLDAP307
20.2.1 服务器端进程308
20.2.2 OpenLDAP工具308
20.2.3 安装OpenLDAP308
20.2.4 配置slapd文件309
20.2.5 启动slapd311
20.3 配置OpenLDAP客户端311
20.3.1 创建目录项312
20.3.2 搜索、查询以及修改目录313
20.3.3 使用OpenLDAP进行用户认证314
第三篇 Linux高级应用
第21章 Xinetd网络设置316
21.1 xinetd简介317
21.2 配置xinetd服务器317
21.2.1 xinetd主配置文件317
21.2.2 单个xinetd服务文件319
21.2.3 xinetd的启动和停止320
21.3 允许xinetd连接321
21.3.1 TCP封装器和xinetd321
21.3.2 xinetd的单个访问控制322
第22章 Linux路由器配置324
22.1 路由器概述325
22.2 路由选择原理325
22.3 路由协议326
22.3.1 RIP路由协议326
22.3.2 OSPF路由协议326
22.4 Linux软路由器配置要求327
22.5 配置Linux系统充当静态路由器327
22.6 使用Zebra配置Linux动态路由器330
22.6.1 Zebra相关配置文件331
22.6.2 Zebra的基本配置333
22.6.3 配置?基于RIP协议的路由器334
22.6.4 配置基于OSPF协议的路由器339
第23章 Linux防火墙配置342
23.1 Iptables简介343
23.2 Iptables和Ipchains语法比较343
23.3 Iptables语法规则345
23.3.1 表(table)345
23.3.2 命令(command)345
23.3.3 匹配(match)346
23.3.4 目标(target)347
23.3.5 保存规则348
23.3.6 Iptables使用实例348
23.4 配置Iptables包过滤防火墙352
第24章 NAT配置与应用356
24.1 NAT概述357
24.1.1 NAT初识357
24.1.2 NAT的类型358
24.1.3 NAT的功能358
24.1.4 NAT的使用359
24.1.5 NAT规则及语法360
24.1.6 操作实例360
24.2 Linux下NAT配置363
24.2.1 内网和外网IP地址映射363
24.2.2 局域网通过配置NAT
上网364
第25章 VPN配置与应用366
25.1 VPN简介367
25.2 VPN的类型367
25.2.1 VPDN(Virtual Private
Dial Network)367
25.2.2 Intranet VPN368
25.2.3 Extranet VPN368
25.3 VPN 的特点368
25.4 VPN的隧道协议类型369
25.4.1 PPTP/ L2TP369
25.4.2 IPSec370
25.4.3 SOCKS v5371
25.5 VPN安装与启动371
25.5.1 安装PPP371
25.5.2 安装 pptpd的方法372
25.5.3 相关配置文件372
25.5.4 启动VPN服务命令372
25.6 VPN服务器配置372
25.6.1 启动Linux内核的路由功能372
25.6.2 配置/etc/pptpd.conf文件373
25.6.3 配置/etc/ppp/chap-secrets文件373
25.7 VPN客户端配置373
25.7.1 客户端基本配置373
25.7.2 连接VPN服务器375
第26章 VNC配置与应用376
26.1 VNC?简介377
26.2 Linux下配置VNC服务器378
26.3 Linux客户端访问VNC服务器378
26.4 配置Windows客户端访问VNC服务器379
26.5 通过浏览器访问VNC服务器381
第27章 Openssh配置与应用382
27.1 Openssh简介383
27.2 配置Openssh服务器383
27.3 使用ssh远程管理Linux服务器386
27.4 使用PuTTY远程管理Linux系统387
27.4.1 PuTTY简介387
27.4.2 使用PuTTY387
27.5 使用SecureCRT远程管理Linux系统388
27.5.1 SecureCRT简介及安装388
27.5.2 使用SecureCRT 4.1389
第四篇 Linux开发基础
第28章 shell编程391
28.1 shell简介392
28.2 bash基本命令393
28.3 shell变量类型394
28.3.1 预定义变量394
28.3.2 环境变量395
28.3.3 用户变量396
28.3.4 参数变量396
28.4 shell编程比较语句397
28.4.1 字符串比较397
28.4.2 数值的比较397
28.4.3 逻辑操作397
28.4.4 文件操作398
28.5 控制程序执行流程的语句类型398
28.5.1 if条件语句398
28.5.2 for循环399
28.5.3 while和until循环399
28.5.4 case条件选择400
28.5.5 无条件控制语句break和continue400
28.6 函数400
28.7 运行shell程序的方法401
28.8 信号或中断处理402
28.9 bash shell程序的调试403
第29章 Linux下C语言编程404
29.1 GCC编译器405
29.1.1 GNU C编译器简介405
29.1.2 GCC约定规则405
29.1.3 GCC的基本用法406
29.1.4 GCC的基本选项406
29.1.5 GCC编译程序举例408
29.1.6 GCC的错误类型及对策409
29.2 GNU make410
29.2.1 GNU make简介410
29.2.2 makefile 基本结构412
29.2.3 makefile 变量412
29.2.4 运行make413
29.3 GDB414
29.3.1 GDB简介414
29.3.2 基本GDB命令414
29.3.3 启动GDB415
29.3.4 GDB调试程序过程416
第五篇 系统安全加固
第30章 Linux安全设置419
30.1 GRUB与LILO安全设置420
30.2 账号安全设置421
30.2.1 设置默认口令和账号的长度及有效期421
30.2.2 清除空口令的账号422
30.2.3 处理特别账号423
30.3 重要系统文件的安全设置424
30.3.1 权限与文件系统424
30.3.2 设置自动注销账号的登录424
30.3.3 禁止外来ping请求,防止被攻击426
30.3.4 设置文件/etc/host.conf,防止IP欺骗426
30.3.5 禁止任何人su作为root426
30.3.6 禁止使用 Ctrl+Alt+Delete重启机器427
30.3.7 截短以前使用的命令列表428
30.4 开启系统服务的安全429
30.4.1 用命令方式检查和关闭启的服务429
30.4.2 直接修改脚本文件430
30.4.3 使用“服务配置”工具431
30.5 连接服务器时的安全事项431
30.6 关闭易受攻击的端口432
30.7 日志文件的安全436
30.7.1 关注Linux下的日志子系统436
30.7.2 重要的日志文件和命令436
30.8 Linux防火墙设置安全439
30.8.1 Linux防火墙配置439
30.8.2 Selinux策略配置440