Turbolinux DataServer 7.1 User Guide [zh]

Page 1
Turbolinux® DataServer 7.1 用户指南
若本手册内容变动
若本手册内容变动, 恕不另行通知
本手册例子中使用的公司、人名和数据若非特别指明, 均属虚构
本手册例子中使用的公司、人名和数据若非特别指明本手册例子中使用的公司、人名和数据若非特别指明
(C)1992-2004 北京拓林思软件有限公司版权所有 (C)1992-2004 Copyright Turbolinux,Inc Linux 商标属于
商标属于 Linus Torvalds 先生所有
商标属于商标属于
北京拓林思软件有限公司版权所有
北京拓林思软件有限公司版权所有北京拓林思软件有限公司版权所有
恕不另行通知.
恕不另行通知恕不另行通知
先生所有
先生所有先生所有
用户指南
用户指南用户指南
均属虚构.
均属虚构均属虚构
Page 2
Page 3
本指南中的内容仅仅是提供信息,如果信息有变化,不另行通知,而且不应该被当作是
Turbolinux 有限公司的承诺. 对本手册中可能出现的任何错误,Turbolinux 不负任何责任.
只要该版权通知在所有的副本上都不被更改,保持完好,则无需事先获得 Turbolinux
的书面通知,可以对本手册进行复制,保存在检索系统,或以电子,机械,记录等其他任何
形式或方式进行传播.
Turbolinux, Inc., Turbolinux, 以及 Turbolinux 徽标都是 Turbolinux 公司的商标.
所有其他的名词和商标的所有权归各自的所有者拥有.
本手册由 Turbolinux Inc.设计和完成.
联系方式:
电 话: 86.10.65054020 传 真: 86.10.65054017 地址: 北京市朝阳区光华路七号汉威大厦 15B1 邮政编码: 100004
网址: http://www.turbolinux.com.cn/
Page 4
Page 5
目
目 录录录录
目目
Turbolinux® DataSer ver 7.1 用户指南
前言 .................................................................................................................................................. I
致谢........................................................................................................................................... I
印刷规范..................................................................................................................................II
征求用户反馈..........................................................................................................................II
技术支持.................................................................................................................................III
在线更新.................................................................................................................................III
Service Pack 功能..................................................................................................................III
第1章 Turbolinux 服务器安全...................................................................................................1
什么是安全?...........................................................................................................................3
家庭安全...................................................................................................................................3
计算机安全...............................................................................................................................4
Linux 安全...............................................................................................................................5
Turbolinux DataServer 7.1的策略....................................................................................6
“全部拒绝”方法...................................................................................................................7
有关安全方面的机构组织的详情...........................................................................................8
第 2 章 系统管理...........................................................................................................................10
超级服务器和服务器程序.....................................................................................................11
超级服务器.............................................................................................................................11
服务器.....................................................................................................................................11
端口监督程序.........................................................................................................................11
超级服务器模式和独立模式.................................................................................................12
超级服务器的功能和任务.....................................................................................................12
超级服务器的不利方面.........................................................................................................13
Xinetd......................................................................................................................................13
访问控制.................................................................................................................................16
安装和升级软件包.................................................................................................................19
使用 rpm..................................................................................................................................19
Turbopkg.................................................................................................................................21
服务.........................................................................................................................................25
chkconfig...............................................................................................................................29
查看各运行级别的服务设置.................................................................................................29
联网.........................................................................................................................................30
netcfg – turbonetcfg................................................................................................................32
打印.........................................................................................................................................39
配置打印系统.........................................................................................................................41
第 3 章 Internet 服务器..............................................................................................................46
名称服务器(DNS 服务器)..................................................................................................47
主名称服务器.........................................................................................................................47
从名称服务器.........................................................................................................................48
用户指南 .....................................................................................1
用户指南用户指南
Page 6
超高速缓冲服务器.................................................................................................................48
从属服务器.............................................................................................................................48
解析器.....................................................................................................................................48
典型设置.................................................................................................................................51
引导文件(/etc/named.boot)设置示例...........................................................................52
解析器文件(/etc/resolv.conf)设置示例.....................................................................53
loopback 文件设置示例 .........................................................................................................54
正向查找文件(或区域文件)设置示例.............................................................................54
逆向查找文件(或逆向文件)设置示例.............................................................................55
检查配置.................................................................................................................................56
BIND 9.....................................................................................................................................59
邮件服务器.............................................................................................................................62
Sendmail .................................................................................................................................62
POP/IMAP..............................................................................................................................65
邮件管理.................................................................................................................................66
Web 服务器(HTTP 服务器).................................................................................................69
Apache(阿帕奇)概述.........................................................................................................69
启动和停止 httpd..................................................................................................................70
httpd 配置..............................................................................................................................71
采用 SSL 的安全站点组织.....................................................................................................77
公共站点设置示例.................................................................................................................78
FTP 服务器..............................................................................................................................79
ProFTPD.................................................................................................................................79
基本配置.................................................................................................................................80
第 4 章 Intranet 服务器..............................................................................................................82
Samba......................................................................................................................................83
Samba 套件..............................................................................................................................83
Samba 启动模式......................................................................................................................84
启动和停止 Samba..................................................................................................................84
Samba 配置..............................................................................................................................85
加密密码.................................................................................................................................91
文件和打印机共享.................................................................................................................92
测试设置.................................................................................................................................93
通过 SWAT 进行配置...............................................................................................................93
MS Windows 和 Macintosh 的共存........................................................................................95
Netatalk...................................................................................................................................95
Netatalk 部件........................................................................................................................96
启动和停止 Netatalk............................................................................................................97
Netatalk 设置........................................................................................................................98
Portmapper (portmap)...........................................................................................................102
访问控制...............................................................................................................................103
NFS.......................................................................................................................................104
启动和停止 NFS....................................................................................................................104
NFS 服务器设置....................................................................................................................105
Page 7
客户端设置...........................................................................................................................107
安全.......................................................................................................................................108
NIS........................................................................................................................................109
服务器和客户端共同的设置...............................................................................................109
服务器设置...........................................................................................................................110
客户端设置...........................................................................................................................110
第 5 章 其他服务.........................................................................................................................112
SSH.......................................................................................................................................112
开始和终止 ssh...................................................................................................................112
服务器配置...........................................................................................................................113
连接方法...............................................................................................................................113
DHCP....................................................................................................................................113
DHCP 配置.............................................................................................................................114
启动和终止...........................................................................................................................117
当 DHCPD 不正常运行时.....................................................................................................118
DHCP 软件包..........................................................................................................................118
客户端配置 (Turbolinux).................................................................................................119
LDAP....................................................................................................................................119
创建 LDAP 服务器数据库.....................................................................................................119
使用 LDIF 格式....................................................................................................................120
创建 slapd.conf 文件.......................................................................................................120
从 LDIF 数据库到 LDBM 数据库的转换...........................................................................122
启动 LDAP 服务器................................................................................................................123
测试服务器...........................................................................................................................123
其他选项...............................................................................................................................123
配额.......................................................................................................................................124
配额设置...............................................................................................................................125
IP 伪装.................................................................................................................................128
iptables..................................................................................................................................128
附录 A 基本操作..........................................................................................................................130
登录和退出登录...................................................................................................................130
定义登录方法.......................................................................................................................130
使用命令行进行登录...........................................................................................................131
在命令行下退出登录状态...................................................................................................131
使用 GUI(图形化用户界面)进行登录............................................................................131
使用 GUI 退出登录...............................................................................................................132
管理用户账户.......................................................................................................................132
创建和更改用户账户(useradd, passwd).....................................................................133
删除用户账户.......................................................................................................................134
切换为另一个用户(su)...................................................................................................134
关闭系统...............................................................................................................................135
直接切断电源.......................................................................................................................136
使用文件...............................................................................................................................137
列出文件和目录(ls).......................................................................................................137
Page 8
切换至不同的目录(cd)...................................................................................................138
查出当前目录(pwd).........................................................................................................138
拷贝文件和目录(cp).......................................................................................................139
移动文件(mv)...................................................................................................................140
更改文件名(mv)...............................................................................................................140
创建目录(mkdir).............................................................................................................141
删除文件和目录(rm, rmdir).........................................................................................141
查看文本文件(cat, less, more).................................................................................142
查找文件(find)...............................................................................................................144
搜索字符串(grep)...........................................................................................................145
压缩和解压缩文件(gzip)...............................................................................................145
创建和提取归档文件(tar).............................................................................................146
进程管理...............................................................................................................................147
查出进程的状态(ps).......................................................................................................147
终止进程(kill)...............................................................................................................148
管理设备...............................................................................................................................149
分区.......................................................................................................................................150
分区和文件系统...................................................................................................................150
使用 mount 命令...................................................................................................................151
了解磁盘的使用情况(df, du).......................................................................................153
安装和升级软件包...............................................................................................................155
使用 rpm................................................................................................................................155
访问在线手册(man page).....................................................................................................156
附录 B TCP/IP 联网.....................................................................................................................158
TCP/IP...................................................................................................................................158
以太网...................................................................................................................................158
CSMA/CD 协议........................................................................................................................159
MAC 地址................................................................................................................................159
ARP.......................................................................................................................................160
IP 地址..................................................................................................................................160
网关地址...............................................................................................................................162
引导过程设置.......................................................................................................................162
检查网络...............................................................................................................................163
Page 9
前言
前言
前言前言
致谢
致谢
致谢致谢
Turbolinux DataServer 7.1 用户指南提供关于使用 Turbolinux DataServer 7.1所需
要的所有信息,该 Turbolinux 采用 Linux 2.4.21 内核, 部分汉字字库采用东文字库.
感谢您从众多的 Linux 中选择 Turbolinux!
在中国、美国、日本 Turbolinux 公司的共同努力协作开发下 Turbolinux 具有安装简便、
应用广泛、性能高、便于使用的特点.
自1993 年以来,我们一直进行 linux 方面的工作,Turbolinux 在太平洋沿岸地区是
Linux 的带头羊.我们在1997 年就推出了自己的国际化版本,目前支持简体中文,繁体中文、
日文、 韩文以及英文. 有关 Turbolinux 的 最 新信息,请访问我们的 Web 站点
http://www.Turbolinux.com.cn
通过开放源码运动以及 Linux 的缔造者 Linus Torvalds 的推动,我们的事业取得了成
功;通过我们的共同努力,用户对 Turbolinux 感到满意. 我们向那些已经而且继续为实现这
一目标作出贡献的 Linus Torvalds 以及世界各地无数的 linux 开发者们表示感谢.
/
.
I
Page 10
印刷规范
印刷规范
印刷规范印刷规范
本指南使用以下规范:
• 正文中的英文字符表示命令,选项,参数以及用户输入
• 文本中的英文字符表示以下情况:
• 变量名,目录名,文件名
• URL (Web 站点名)
• email 地址
• 被强调的字(第一次出现)。
• 文本中的用引号括起的内容表示屏幕名
• 文本中的用引号括起的英文内容表示出现在 GUI 上的按钮,菜单项,选项
• 其他英文字符字符表示用户在终端屏幕上输入的命令行
• 斜黑体单间隔(Courier)字符表示用户输入的字符串的名称。例如, 用户输入自己的密码,而不是字符串“pasword”这个字本身。
•
常规非黑体单间隔字符表示在终端屏幕上显示的系统响应。
• 出现在系统响应中的用角括弧 “ <>” 括起来的常规非黑体单间隔字符表示字符串
的名称,该字符串被系统用实际的字符串替换。例如,
192.168.1.10。
• “讯息字符串”由双引号 (“”)括起来。
征求用户反馈
征求用户反馈
征求用户反馈征求用户反馈
Turbolinux, Inc. 坚持不懈地努力优化和改进自己的产品,我们极为重视用户的反馈和
意见,欢迎用户指正出现的任何失误、不足、错误或遗漏.用户的需求、意见和建议是我们
在下一个版本中进行改进和提高的依据.
<host_address>可以被显示为
password
意思为
如果您对我们的产品何方面有什么意见和建议,请告知我们.我们静候用户的心声.我们
的 Email 为
m.cn .
II
Page 11
技术支持
技术支持
技术支持技术支持
Turbolinux 向购买我们光盘的用户提供各种形式的技术支持.详情请参观我们的 web
站点
http://www.Turbolinux.com.cn
以便获得这些支持.登记时,需要产品注册号码,该号码在 Turbolinux DataServer 7.1 包
装盒中.
在线更新
在线更新
在线更新在线更新
Turbolinux DataServer 7.1 具有多种升级手段,其中,方便快捷的在线更新为用户提
供了更加灵活的升级方法。在安装完毕的系统中,按照图中所示,选择 Turbo 在线升级。
/ , 获取技术支持前请务必登记你的 Turbolinux 产品,
出现使用界面后,选择“扫描升级信息”就可以了。因为连接数量有限,如果运行失败,
请多尝试几次。也可以选取“更改读取介质”来进行手动的更新。
Service Pack 功能
Turbolinux 公司始终致力于保持产品与业界最新,最成熟技术的同步性。除了多种更
新手段以外,还提供定期的 Service Pack。Service Pack 将是对一定时期内系统更新的一
个总结。当新的 Service Pack 盘出现的时候,用户进行系统安装就应该选择 Service Pack 盘作为第一张安装盘,然后按照相关安装步骤进行安装,在全部系统安装完毕以后,安 装系 统会提示再一次插入 Service Pack 盘。当上述所有的步骤都完成的时候,系统就已经是经 过升级后的系统了。
功能
功能功能
III
Page 12
第
第1111章
第第
网络安全是一个关系国家安全和主权、社会的稳定、民族文化的继承和发扬的重要问题。
其重要性,正随着全球信息化步伐的加快而变到越来越重要。“家门就是国门”,安 全 问题
刻不容缓。
网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应 用数学、数论、信息论等多种学科的综合性学科。
网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不 受偶然的或者恶意 的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
网络安全从其本质上来讲就是网络上的信息安全。从 广 义 来 说,凡是涉及到网络上信息
的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。
章 TTTTurbolinux
章章
urbolinux 服务器安全
urbolinuxurbolinux
服务器安全
服务器安全服务器安全
网络安全的具体含义会随着“角度”的变化而变化。比如:从用户(个人、企业等)的 角度来说,他 们希望涉及个人隐私或商业利益的信息在网络上传输时受到机密性、完 整性和 真实性的保护,避免其他人或对手利用窃听、冒充、篡改、抵赖等手段侵犯用户的利益和隐, 同时也避免其它用户的非授权访问和破坏。
从网络运行和管理者角度说,他 们希望对本地网络信息的访问、读写等操作受到保护和 控制,避免出现“陷门”、病毒、非法存 取、拒绝服务和网络资源非法占用和非法控制等威
胁,制止和防御网络黑客的攻击。
对安全保密部门来说,他 们希望对非法的、有害的或涉及国家机密的信息访问进行过滤 和防堵,避免机要信息泄露,避免对社会产生危害,对国家造成巨大损失。
从社会教育和意识形态角度来讲,网 络上不健康的内容,会对社会的稳定和人类的发展
造成阻碍,必须对其进行控制。
近来网络技术取得迅猛进展及用户数量急剧增加,Internet 迅速发展,Linux 随之成为最
重要的网络操作系统中的一员, 因此,Linux 环境下的安全问题也不能忽视。
Linux 与其它的 UNIX 派生物一样,是 内 嵌 Internet 技术支持的操作系统。Linux 的特点
之一就是灵活性,对安全而言,这既给用户带来好处也能带来灾难。如果是知识渊博的管理 员, 运行 Linux,就达到很高的安全性. 如果不是, 请不要随便改变没有把握的设置,这样也 会尽量保证系统的安全.
1
Page 13
Turbolinux 的最大好处 是源 码公开,不可能存在后门.
本章将介绍安全方面的基本知识,这些知识用户应该知道并且能够理解相关概念。
2
Page 14
什么是安全?
什么是安全?
什么是安全?什么是安全?
对计算机系统和网络而言,安全主要是指采取措施防止非授权访问存储在各个计算机上
或在各个计算机之间传输的数据。为了维护数据的完整,也为了防止数据被恶意删除修改, 采取这些措施是绝对必要的。这一节讨论以下主题,以阐明和理解安全概念:
家庭
•
• 计算机安全
• Turbolinux 安全
家庭安全
家庭安全
家庭安全家庭安全
当提及系统安全,诸如防火墙,加密,安 全 漏洞以及非授权访问等词汇马上就出现在人
安全
们的脑海中。但这仅仅是方法。最重要的问题是“你想保护什么?”
暂且不提计算机,网络以及其他技术术语,考虑考虑发生在我们周围的事情。
例如,你为什么要锁门?原因大概不会是“因为我有钥匙”吧。你锁门是因为您不希望
家里的物品被别人不经同意就拿走,不希望他们被损坏, 不希望自己受到伤害.
我们按照以下思路考虑家庭安全:
• 关注的对象: 人及家里的财物
• 威胁: 火灾,闯入,行窃,欺骗
• 措施: 锁,警报,监视器,老鼠药
汇集了这些设施,你就能够开始谈论你的策略。 所以,对于上锁,你能够想到的情况包括: 家里无人; 只有孩子在家的时候;
你的策略就是应用最适合于你的情况的措施, 无论它是什么措施。
夜晚。
在考虑安全策略时,容易犯的常见错误之一就是认为“大的应该包括小的”。
谁会花一千元来保护一个仅值一百元的表呢 ? 这种过度的方法不仅会浪费你的金钱和
精力,而 且 实际上还会消弱你的安全。例如,每次取下表和再带上时,都 不 得 不 打开保险箱。
最终会变得厌烦懒惰,完全忘记锁保险箱。遵循以下方针是明智之举:
• 投资额不要大于你的物品的价值
• 不要盲目地牺牲便利
3
Page 15
记住了这些要点,你的房子现在就安全了。但是仍然不能松懈。锁可能会被用坏和撬开,
你也可能会把钥匙丢了。
安全需要具备不断的警惕性。必须定期重新评估策略的有效性,根据新的需要作相应的
变化,甚至重新定义你想要保护的是什么。
计算机安全
计算机安全
计算机安全计算机安全
计算机安全就像家庭安全一样,也是日常关心的事情。大多数的家庭安全都是共同的,
不必详细地系统考虑。而对计算机来说,由于行业术语和技术问题带来的混乱,获得单一,
一致的响应是不可能的。因此,根据实际情况阐明公司,学校以及其他组织机构的安全协议
是非常重要的。这 些 协 议 将成为这些组织机构的安全策略。在制订安全策略时,应 该 特 别 注 意以下事项:
! 对象,威胁,措施
! 职责和权限 ! 法律 ! 安全策略
对象,威胁和措施
对象,威胁和措施
对象,威胁和措施对象,威胁和措施
对象分两大类:数据和计算机资源。
有不同的方法区分威胁。例如,做某件事是否是故意的,是属于物质上的还是属于知识
方面的。
措施的建立应该不需要大量的具体的技术细节。
职责和权限
职责和权限
职责和权限职责和权限
从技术的角度来看,有 各 种日常操作,例如建立或删除帐户,或诸如登录监视等特殊任
务。应该清晰地鉴定整个操作以及职责范围的权限。
法律
法律
法律法律
阅读他人邮件,检查日志文件,以及其他活动可能会侵犯隐私。应该
么属于合法备份以及什么是属于为防止合法的侵犯而采取的控制。
安全策略
安全策略
安全策略安全策略
事先确定将如何管理安全策略,以及都有那些职责。安全策略是一种协议。它应该
清晰地鉴定什
反映组织机构中和周围每个用户的的普遍情况。应该代表所有相关方的一致性。虽然没 有包罗万象的完美安全策略,但是应该设法努力使它尽可能全面和广泛。
4
Page 16
Linux
Linux 安全
Linux Linux
Linux 中。本节着重介绍 Linux 的特性。
二进制版本
二进制版本
二进制版本二进制版本
安全
安全安全
因为 Linux 是从 UNIX 中派生出来的,为 UNIX 开发的安全概念和技术能够应用到
• 二进制版本
• PC
• 开放式资源
• 用户的大量增加
Linux 发行版中的大多数程序,包括免费软件,都是以编译好的二进制格式发布的。所
以如果发现软件有安全问题,需 要 进 行 修复,然后再将新二进制软件发布给客户,在这段时
间内客户的安全就会受到影响。而且由于单一的二进制是重新发布的,也有可能会出现新的
问题以及新的安全漏洞,这对服务器的安全不利。
PC
在安装 Linux 的机器中,最常见的就是 PC。尽管硬件的可靠性各不相同,但是可以肯 定的是,普通的计算机尤其易于被直接接触。PC 能够被打开,硬盘可以被拿出来,或者整台 计算机会被偷走。有必要开始时就小心选择硬件设备,例如为服务器买一个装配支架。
开放式资源
开放式资源
开放式资源开放式资源
有些人认为如果源代码对公众公开,安 全 漏洞就易于被利用。这 种观点正确吗?事实是
近来发现的已经成为严重问题的安全漏洞,
与开放式资源无关。
实际上,正是由于资源是开放的,安全漏洞往往能够被迅速发现,世界各地的程序
员和系统管理员能够很快为漏洞提供补丁程序,所以向公共开放资源能够看成是有利条
件, 并且,用户自己修复安全漏洞也是完全可能的.相反,如果不公开源码发现漏洞也只能 等待补丁,并且谁能保证这些系统中没有留有后门?
5
Page 17
用户的大量增加
用户的大量增加
用户的大量增加用户的大量增加
Linux 用户的数目和种类不断增加。随着类别的增加,维持广泛全面的安全战略变得愈 来愈困难。随着用户数目的增加,心怀恶意的人的可能性增大。
Turbolinux DataServer 7.1
Turbolinux DataServer 7.1 的策略
Turbolinux DataServer 7.1Turbolinux DataServer 7.1
Turbolinux DataServer 7.1 是一个系统,它一开始就被当作服务器运行。服务器一词意味
着很多不同种类的服务集合在一起,例如邮件服务,文件服务,名称服务,数据库服务等等。
而且,因为它是 Linux,所以也能当作工作站。一旦确定了服务器的类型(根据它的目的), 就能够检查相应的安全策略。
正如以前介绍的,安全策略必须反映给定组织机构以及周围每个用户的普遍情况。通过
的策略
的策略的策略
理解 Turbolinux DataServer 7.1 潜在的策略,就能够创建一个相对简单和安全的系统。
尽管 Turbolinux DataServer 7.1 的安装设计策略超出了本指南的范围,但是本节将介
绍与安全直接相关的最重要的方面,以及频繁询问的问题。
6
Page 18
“全部拒绝”方法
“全部拒绝”方法
“全部拒绝”方法“全部拒绝”方法
能够使用两种方法来建立安全策略:“全部拒绝”和“全部允许”。“全部拒绝”开始时
是拒绝所有的,然后再选择性地允许所需要的。“全部允许”的观点是允许所有的通过,然 后再选择性地拒绝不需要的。一般来说,“全部拒绝”更安全,而“全部允许”更简单。 如果在安装时选择“高安全”选项,Turbolinux DataServer 7.1就采取“全部拒绝”方式。这 种配置方式将停止由 xinetd 启动的所有服务,配置 hosts.allow 和 hosts.deny ,拒绝本机 以外的所有访问。
帐户
帐户
帐户帐户
帐户管理负责增加和删除帐户、设置有效期限等规则。同 时, 它也设置诸如密码加密格
式和登录格式等。在 Turbolinux DataServer 7.1 中,通常使用 shadow 密码, 加密的密码内容
并不存放在/etc/passwd,而是在/etc/shadow 文件中, 该文件只能 root 用户读取,进一步加强 了系统安全.通过使用 Linux-PAM(Linux 可插入鉴定模块)就 可以安全方便的读取使用这些 加密信息。有关 PAM 的详情,请参阅 pam 的 man page。
在 Turbolinux 中,没有设置密码失效时间的标准。全面的标准看来效果不好,因为这些 设置都直接依赖于每个组织机构特定的规则。用 chage 命令能够更改这些设置。有关它们 的详情,请参阅 chage(1) 的 man page。。。。
注册过多的帐户信息可能会侵犯用户的隐私。Turbolinux 的标准帐户注册只在标准登录 策略范围之内。
日志文件
日志文件
日志文件日志文件
对任何安全策略来说,设置日志文件的保持时间是重要的。Turbolinux DataServer 7.1 设置日志文件每个星期循环一次,并保持前 4 次的文件(共 5 个星期)。此外,登录记录 wtmp,
每个月循环一次,并保持上一次的记录(共 2 个月)。 有关详情,请参阅 logrotate(8) 的 man page。
超级用户
超级用户(root)权限和许可
超级用户超级用户
权限和许可
权限和许可权限和许可
7
Page 19
超级用户(root)登录局限于虚拟控制台。不允许通过 telnet 或 ssh 以超级用户(root)直接 远程登录。请参阅 securetty(5) 的 man page,了解如何从指定的终端,如串行控制台(tty),
进行登录。
升级
升级
升级升级
升级软件可以增加新功能、 提高性能、修复故障。在更新软件前,首先要确定是否
确实需要升级;如果有必要,升级的最佳方法是什么?特别要注意通过网络传送来的软 件包的内容。一定要确认该软件包没有“特洛伊木马”等病毒。
同时,如果有软件包文件的校验和(MD5)信息,请在安装下载文件前,用 md5sum 命令 查看其准确性。
有关安全方面的机构组织的详情
有关安全方面的机构组织的详情
有关安全方面的机构组织的详情有关安全方面的机构组织的详情
这一节列出有关安全方面的各种机构组织的清单。注意,清单中可能会有遗漏。
CERT/CC
非授权访问事件被称为“计算机安全事件”。如果发生此类事件,可以向“计算机安全 事件响应组(CSIRT)”咨询信息和征求建议。计算机安全事件响应组的全球服务网址为:
http://www.csirt.ws/
CERT/CC 发布的 CERT 报告是安全方面的最权威的信息来源。CSIRTs 是针对特定的 国 家,地区或组织。 属于此类的 还 有 CIAC (www.ciac.llnl.gov (www.certcc.org.kr), 以及 AUSCERT (www.auscert.org.au
) , CERTCC-KR
)。
安全方面的
安全方面的 Web 站点
安全方面的安全方面的
本节列出安全方面的各个 web 站点,并进行简要介绍。
web 站点
站点 介绍
站点站点
http://www.first.org/ FIRST 是世界各地的 CSIRTs 论坛。它的目的
站点
站点站点
介绍
介绍介绍
8
Page 20
是 CSIRT 组之间共享信息,促进安全事件方 面的合作。
http://www.rfc-editor.org/ 很多 RFCs(请求注解)文件处理安全问题。
RFC 2196(站点安全手册)和 RFC 2504(用
户安全手册)对帮助创建安全的计算环境尤 其重要。
http://www.w3.org/Security/Faq/www-security-faq.html World Wide Web 安全常问问题
http://www.netscape.com/products/security/resources/notes.html 这个站点上有 Netscape 的安全注释,以及对
Netscape和 JavaScript中安全漏洞的修补程序
9
Page 21
第
第 2222 章
第第
对 Turbolinux DataServer 7.1 的系统管理是通过设置各种配置文件(或配置)、以及使用 命令行来进行的。
此外,Turbolinux DataServer 7.1 还提供了多种交互式配置程序,我们称之为 Turbotool (Turbo 工具),借助这些工具,可使很多系统管理任务大为简化。
在本章中,首先介绍了多种超级服务器、多种服务、以及多种端口监督程序。接下来,
介绍了执行系统管理任务时你将用到的各种配置文件和命令,同时还给出了针对恰当的
Turbotool 的信息和屏幕截图。
章 系统管理
章章
系统管理
系统管理系统管理
10
Page 22
超级服务器和服务器程序
超级服务器和服务器程序
超级服务器和服务器程序超级服务器和服务器程序
在本节中,介绍了有关超级服务器的信息,并介绍了在 Turbolinux 中将它们组织在一起 的方法。
超级服务器
超级服务器
超级服务器超级服务器
超级服务器负责控制普通服务器,超级服务器将根据需要启用、禁止或运行普通服务器。 超级服务器也被称为“Internet 超级服务器”或“Internet 服务端口监督程序”。
例如,根据需要制定某一超级服务器,即可对服务器程序(如 ftp、telnet 等)进行管理 或控制。
其中,xinetd 就是超级服务器程序中的一种。
Turbolinux 提供了 serviceconfig(turboservice),通过它,可帮助你控制自己的超级服务 器。要想了解详细的内容,请参阅 “Serviceconfig-turboservice”。
服务器
服务器
服务器服务器
Linux(或 UNIX)中很多可用的网络功能均能通过客户端程序和服务器程序之间的通
信来实现,客户端程序运行在某一台计算机上,服务器程序通常运行在远端计算机(服务器)
上,该服务器负责提供所需要的功能。发 出请求并享受服务的一端成为客户程序,接受请求 并提供服务的一端成为服务器程序。例如,FTP 客户端程序发请求给诸如 proftpd 等服务器 程序,从而发挥 FTP 的功能。
端口监督程序
端口监督程序
端口监督程序端口监督程序
端口监督程序(daemon)是 UNIX 中的一个专业术语,用于表示服务器程序。这些程
序会始终驻留在服务器机器上并在其上运行,而且在需要时,会调用它们并使之采取行动。 例如,proftpd 和 sshd 分别是针对客户端程序 ftp 和 ssh 的端口监督程序。对大多数端口监督 程序而言,在它们的程序名称后面都带有字母“d”。
11
Page 23
对于 Internet 来说,其诸多协议均有严格的定义,但从另一方面来讲,就它们的实际实 施方式而言,并未预先确定下来。因此(例如),FTP 功能既能通过 ftpd 来实施,也能通过 Proftp来实施。
超级服务器模式和独立模式
超级服务器模式和独立模式
超级服务器模式和独立模式超级服务器模式和独立模式
能够直接启动服务器程序(端口监督程序),而无需某一超级服务器的管理或控制。当
直接启动某一服务器程序时,我们会说该服务器程序运行在“独立模式”下。当某一服务器 程序是通过超级服务器启动时,那么该服务器程序就被视为运行在“超级服务器模式”下。
超级服务器的功能和任务
超级服务器的功能和任务
超级服务器的功能和任务超级服务器的功能和任务
在下面的段落中,介绍了超级服务器的功能、任务和优点。
! 减轻系统上的负载
在独立模式下启动的每一个服务器程序都必须驻留在内存中,这样,它们必然要占用相
当多的内存。但是没有理由认为,每一个这类服务器程序会同时处于不断的运行当中。
如果能在收到请求时启动它们,并在完成请求后使其返回待命状态,那么内存就不会被
独占。作为这些服务器程序的代理,一个处于不断运行状态的超级服务器仅会在需要时
才运行它们,该超级服务器能减少对内存的需求并能降低系统的负载。
! 减轻系统管理方面的负担
对于在独立模式下启动(或停止)的每一个服务器程序来说,都需要对其单独的管理。
这给系统管理员带来了更多的工作量,对 于 由 每个服务器程序提供的多项服务来说,系
统管理员必须单独处理其中的每一个。另一方面,通过使用超级服务器,就有可能在某
一点上进行管理/控制。
! 提升系统的冗余性和坚固性
如果出于某种原因,运行在超级服务器模式下的某一特定的服务器程序不能正确执行其
功能,在遇到下一个请求时,会重新启动它。这就改善了系统的冗余性和稳定性。
目前,每天都会滋生新的服务,这时就需要新的服务器程序,对这些程序进行单独管理
12
Page 24
正变得越来越不现实。由于超级服务器能够对这些程序进行集中控制,这种能力使得它
成为人们不可或缺的工具。
事实上,在安装了超级服务器的 Linux 和 FreeBSD 中,大多数服务器程序均被配置为
在超级服务器模式下启动。
超级服务器的不利方面
超级服务器的不利方面
超级服务器的不利方面超级服务器的不利方面
就其不利因素而言,在下述情况下,每次收到请求时对服务器程序的启动和停止有可能 增加系统上的实际负载。
! 存在需接受众多连接请求的多个服务时
! 某一服务在启动的初始化阶段要占用太多时间时
当这类服务使系统的负担加重时,你可以通过在独立模式下启动它来改善系统的效率。 Web 服务器就是一个典型的例子,Web 服务器接收众多连接请求的可能性非常大。出于同
样的原因,邮件服务器(如 Sendmail)也常常运行在独立模式下。因此,你应选择与任务相 适合的模式。
Xinetd
Xinetd 就是最常见的超级服务器之一。
在 Turbolinux DataServer 7.1 中,xinetd 是一个标准模块,它会在系统的引导过程中启动。
Xinetd 基础
在服务配置文件中指定的端口,这些服务配置文件位于由 xinetd 的配置文件/etc/xinetd.conf
基础
基础基础
在系统的引导阶段,将通过启动脚本/etc/rc.d/init.d/xinetd 来启动 xinetd。xinetd 将检查
指定的目录中;然后,它将等待连接请求。当 xinetd 收到连接请求时,它将判断与端口相对 应的服务,并激活负责提供该服务的服务器程序。在将连接请求提交给由 xinetd 启动的服务 器程序后, xinetd 又能立即监听其他服务。当服务器程序完成任务时,xinetd 会再次检查其 端口。
13
Page 25
名称
名称 Xinetd
名称名称
端口监督程序 /usr/sbin/xinetd
配置文件,父目录 /etc/xinetd.conf, /etc/xinetd.d/ 启动脚本 /etc/rc.d/init.d/xinetd
相关文件 /etc/services
来自 TCP/IP 子系统的可用服务名称列表,以及它们相应的端口号
码
/etc/protocols
协议名称和端口号码列表
Xinetd
Xinetd 服务配置文件
XinetdXinetd
服务配置文件
服务配置文件服务配置文件
启动时,xinetd 程序会从一个文件中读取配置信息,缺省情况下,该文件位于目录 /etc/xinetd.d/下。该目录下包含了由 xinetd 启动的所有服务的配置文件。配置文件中包含多
个与变量有关的行。对于注释行,在行的开头包含字符“#”。每个配置文件均以少量注释行 开始,在这些注释行中,详细介绍了服务名称、以及一些缺省设置,后面跟着下述行:
Service <name>(服务名称) 指明了服务的名称,如ftp、telnet等。在文件
/etc/services中记录了有效主机和端口的名称列表
Disable(禁止) 用于指明是否要由xinetd来管理服务
socket_type(套接字类型) 指明了套接字的类型,如stream(流式类型)、dgram(数
据报类型)等
Protocol(协议) 指明了所使用的协议类型,如tcp、udp等,从保存在文件
/etc/protocols内的有效协议列表中选择
Wait(等待) 用于表明wait(等待)或nowait(不等待)标志的标记。
仅适用于dgram(数据报)套接字类型
Wait(等待)标志表明在执行请求/应答交换时,需要等
待一段时间;nowait(不等待)标志表明请求不会等待应答
User(用户) 如“root”超级用户(root)和“nobody”用户,指明了用户
在访问服务时的许可权限水平
Server(服务器) 给出了要执行的服务器程序的完整路径名称 Server_args(服务器参数) 服务器程序的启动名称,以及在server_path中指定的选项。
XXXXinetd
inetd 的安全策略
inetdinetd
运行的可用的端口监督程序。将服务的 disable 参数设置为值 yes,禁止所有服务。
允许更改缺省的
允许更改缺省的 xinetd
允许更改缺省的允许更改缺省的
的安全策略
的安全策略的安全策略
在 Turbolinux 中,高安全选项的缺省值针对安全设置作了最优配置。关闭所有没有必要
xinetd 设置(重新启动)
xinetdxinetd
设置(重新启动)
设置(重新启动)设置(重新启动)
14
Page 26
在父目录 xinetd.d/下对配置文件所作的更改和编辑,不会使新设置自动生效。要想让这 些更改发挥作用,必须发送信号给当前正在运行的 xinetd,或 者 重新启动或重新加载 xinetd。
要先执行该任务,可执行下述命令中的任何一个:
# killall -HUP xinetd
# /etc/rc.d/init.d/xinetd restart
# /etc/rc.d/init.d/xinetd reload
配置示例
配置示例
配置示例配置示例
在下面的示例中,给出了使用命令 telnet 设置服务许可时所需要的步骤。在该示例中, 假设存在一个单独的客户端--主机连接,服务器主机的 IP 地址是 192.168.1.52,客户端的 IP
地址是 192.168.1.53,其中 telnet 用于提供远程访问。
1. 使用恰当的文本编辑器,打开文件/etc/xinetd.d/telnet,并找到下面这行内容:
disable = yes
2. 删除或覆盖单词 yes,将其更改为 no,这时该行看上去如下:
disable = no
3. 输入下述命令,使在前面的步骤中所作的更改生效:
# /etc/rc.d/init.d/xinetd restart
4. 在文件/etc/host.allow 的末端插入下行内容:
in.telnetd: 192.168.1.53
访问控制会查询文件/etc/host.allow 以了解服务许可情况。telnet:192.168.1.53 这行内容 表明该主机已被授予了使用 telnet 服务的许可。
关于访问控制的详细解释,请参阅“访问控制”。
启动脚本的命令行选项
启动脚本的命令行选项
启动脚本的命令行选项启动脚本的命令行选项
启动脚本/etc/rc.d/init.d/xinetd 包含下述命令行选项:
命令行功能
命令行功能
命令行功能命令行功能
/etc/rc.d/init.d/xinetd start 启动 xinetd /etc/rc.d/init.d/xinetd stop 停止 xinetd /etc/rc.d/init.d/xinetd status 显示 xinetd 的状态 /etc/rc.d/init.d/xinetd restart 重新启动 xinetd /etc/rc.d/init.d/xinetd reload 重新加载 xinetd
正如你在检查启动脚本时所见到的那样,重新启动“ restart”和重新加载“reload”所 执 行的操作相同。
15
Page 27
XXXXinetd
inetd 操作确认
inetdinetd
的状态:
那么或是因为 xinetd 的运行不正常,或是根本就没安装 xinetd。你可以使用命令 serviceboard 来证实 xinetd 是否正在运行。如果在 xinetd 条目上有“打勾”的标志,就表明它正在运行。 请参见 “Serviceconfig - turboservice”。
操作确认
操作确认操作确认
在 Turbolinux 中,缺省时,xinetd 被设置为运行。按下述方式使用命令 ps 即可检查 xinetd
ps ax | grep xinetd
400 ? S 15:20 0:00 xinetd
当 xinetd 正常运行时,会出现与上面相类似的信息。如果你未能见到上面所示的信息,
要想重新启动 xinetd,可键入下述命令:
/etc/rc.d/init.d/xinetd restart
访问控制
访问控制
访问控制访问控制
当 xinetd 收到来自客户端的请求时,也会将对服务的访问置于其控制之下。这类访问控 制功能以前是由 TCP_Wrapper(或 tcpd)来管理的,但在目前,xinetd 也能管理这些功能。 当 xinetd 收到来自客户端的服务请求时,它将读取服务许可文件/etc/hosts.allow,以及服务
禁止文件/etc/hosts.deny。
文件/etc/hosts.allow 的格式如下:
[daemon_list] : [host_list] : [command]
其中:
[daemon_list] 列出了将被授予服务许可权限的端口监督程序。可以使用逗号将多个名称分隔开来。
[host_list] 列出了将被授予服务许可权限的主机名称或 IP 地址。可以使用逗号将多个名称分隔开
来。还可以指定域和网络,或 采用单独方式,或使用通配符。允许使用相同的域和网络
名称。可以将所有这些名称组合在一个列表中。
[command] 与由[daemon_list]调用的服务器程序名不同,当运行 xinetd 命令时,你可以指定绝对路
径名。
文件/etc/hosts.deny 的格式与上面所给出的文件/etc/hosts.allow 的格式完全相同。
[daemon_list] : [host_list] : [command]
16
Page 28
[daemon_list] 指定了你打算禁止服务的每个端口监督程序的名称。可以制定多个名称,中 间用逗号
将它们分隔开来。
[host_list] 列出了将被禁止服务许可权限的主机名称或 IP 地址。可以使用逗号将多个名称分隔
开来。
你可以指定多个名称或 IP 地址,中间用逗号分隔开来。
还可以指定域和网络,或 采用单独方式,或使用通配符。允许使用相同的域和网络名
称。
可以将所有这些名称组合在一个列表中。 指出你打算禁止服务的每个主机的名称或 IP 地址。
[command] 与由[daemon_list]调用的服务器程序名不同,当运行 xinetd 命令时,你可以指定绝对
路径名。
在[host_list]后面,可跟随下述描述符:
ALL 与所有的匹配
LOCAL 与名称中不包含点符号“.”的主机匹配
UNKNOWN 与来自不明确或未知用户名或主机名的访问匹配
PARANOID 当主机名和 IP 地址不同时,匹配
EXCEPT 例外
.domain 与主机名中包含.domain 的主机匹配(例如,ns.exampl e1.com 是服务器
name.domainname,邮件服务器是 mail.example1.com)。
192.168. 与地址为 192.168.x.x 的主机匹配
192.168.0.0 225.225.255.240 对于带有子网掩码 255.255.255.240 的 IP 地址 192.168.0.0 来说,与位于
地址范围 192.168.0.x 内的所有主机匹配,其中 x 的取值范围为 0~15。
17
Page 29
访问控制配置文件的缺省情形
访问控制配置文件的缺省情形
访问控制配置文件的缺省情形访问控制配置文件的缺省情形
xinetd 超级服务器会按下述顺序解释数据。
1. 如果在文件 hosts.allow 中允许主机访问,就会为该主机授予许可权限。
2. 如果在文件 hosts.deny 中禁止主机访问,就会禁止该主机的许可权限。
3. 如果未指明允许或禁止主机访问,那么就会为该主机授予许可权限。
示示示示例
例
例例
要想查看配置文件/etc/hosts.allow 中的缺省设置,可键入下述命令。
# less /etc/hosts.allow
# hosts.allow
# This file describes the names of hosts which
# are allowed to use the local INET services,
# as decided by the ‘/usr/sbin/tcpd’ server.
#
ALL : 127.0.0.1 :
内容“ALL:127.0.0.1:”表明该主机已被授予了访问所有服务的许可权限。
要想查看配置文件/etc/hosts.deny 中的缺省设置,可键入下述命令。
# less /etc/hosts.deny
# hosts.deny
# This file lists the names of hosts which
# are *not* allowed to use the local INET services,
# as decided by the ‘/usr/sbin/tcpd’ server.
ALL : ALL
内容“ALL: ALL”表明,对于未在文件/etc/hosts.deny 中指出的所有程序来说,对它们 的访问均将被禁止。这可为系统安全提供额外的保护措施。
配置示例
配置示例
配置示例配置示例
对于文件/etc/hosts.allow 来说,下面介绍了一些配置示例。
在这样一种情形下,服务器的地址是 192.168.0.2,而且系统管理员希望为地址为
18
Page 30
192.168.0.3 的客户端授予所有的许可权限,可以对文件/etc/hosts.allow 进行如下设置。
ALL: 192.168.0.3 : allow
对于主机 192.168.0.x,使用这里给出的设置,可 通 过文件/etc/hosts.allow,授予 ftp 许可 权限。
in.proftpd: 192.168.0. : allow
安装和升级软件包
安装和升级软件包
安装和升级软件包安装和升级软件包
Turbolinux 采用了 RPM 作为其软件包管理器。它提供了一个有效的管理环境,在此环 境中,可以安装、卸载、升级、或检查软件包。它还能对软件包之间存在的相关性进行管理。
无论你采用何种方式安装软件包,应清楚,某些软件包的安装要求具有超级用户的权限。
软件包保存在 Turbolinux Install 光盘的 turbo/RPMS/目录下。
使用
使用 rpm
使用使用
-I 安装
-U 升级
-e 删除
-h 用混编字符“#”标志显示进展状态
-v 详细显示(与-h 一起使用可获得更好的显示效果)
-q 查询当前已安装了哪些软件包
rpm
rpmrpm
可以按下述格式使用 rpm 命令:
$ rpm [options] [RPM package name]
常使用的选项有:
下面给出了使用 sendmail-8.9.3-17.i386.rpm 的各种情况。
要想安装软件包,如 “Sendmail”软件包,可 在 sendmail-8.9.3-17.i386.rpm 所处的目录 下运行下述命令。
# rpm -ivh sendmail-8.9.3-17.i386.rpm
要想升级软件包,如“Sendmail”软件包,可在 sendmail-8.9.3-17.i386.rpm 所处的目录 下运行下述命令。
19
Page 31
# rpm -Uvh sendmail-8.9.3-17.i386.rpm
要想卸载软件包,如 Sendmail”软件包,可使用命令。
# rpm -e sendmail
要想查看 RPM 软件包中包含哪些文件,可运行:
# rpm -ql sendmail
运行上述命令后,会生成与下面类似的列表:
/etc/mail
/etc/mail/access
/etc/mail/aliases
/etc/mail/aliases.db
/etc/mail/mailertable
/etc/mail/majordomo
/etc/rc.d/init.d/sendmail
/etc/sendmail.cf
/etc/smrsh
/usr/bin/hoststat
/usr/bin/mailq
/usr/bin/newaliases
/usr/bin/purgestat
/usr/bin/rmail
/usr/lib/sendmail
/usr/lib/sendmail.hf
/usr/man/man1/mailq.1
/usr/man/man1/newaliases.1
/usr/man/man5/aliases.5
/usr/man/man8/mailstats.8
/usr/man/man8/makemap.8
/usr/man/man8/praliases.8
/usr/man/man8/rmail.8
/usr/man/man8/sendmail.8
/usr/man/man8/smrsh.8
/usr/sbin/mailstats
/usr/sbin/makemap
/usr/sbin/praliases
/usr/sbin/sendmail
/usr/sbin/smrsh
20
Page 32
/var/log/sendmail.st
/var/spool/mqueue
TTTTurbopkg
urbopkg
urbopkgurbopkg
软件包管理器 turbopkg 是 RMP 软件包管理器的简化版本。使用它,你可以安装新的软 件包,并删除以前安装的软件包。要想运行 turbopkg,可键入下述命令:
# turbopkg
这时,将出现 turbopkg 欢迎屏幕。
21
Page 33
要想安装新的软件包或删除已存在的软件包,可:
1. 在 turbopkg 欢迎屏幕上选择“Maintenance”(维护)
这时,将出现软件包维护屏幕(请参见图 2-2):
图 2-2 软件包维护
22
Page 34
2. 选择“Install/Update”(安装/升级)选项,显示“Source Media”(源介质)屏幕,
请参见图 2-3。
图 2-3 源介质
在源介质屏幕上,给出了三种选择,分别是:CD-ROM、Local Filesystem(本地文件系 统)、以及 FTP Server(FTP 服务器)。
23
Page 35
3. 选择打算安装的 RPM 软件包所在的源介质。
4. 选择 OK,显示软件包安装屏幕(请参见图 2-4)。
图 2-4 软件包安装
5. 亮选希望安装的软件包,按下空格键,选中新的软件包,或 将以前选中的软件包选 掉。
当你在某一组中选择了一个软件包时,组 和 软 件 包的复选框会发生变化,反映出下述内 容:
组复选框表明:
*
­None
软件包复选框表明: * 选择了希望安装或升级的软件包 R 选择了打算删除的软件包 None 未选择 X 软件包不存在
选择了该组中所有的软件包 选择了该组中特定的软件包
未选择该组中的任何软件包
进行选择时,已选择软件包的总容量将显示在屏幕上方。
在定制“ 软 件 包安装”屏幕的最右一列中,会显示出下面所给出的标志之一(请参见图
2-4):
24
Page 36
+ 当前安装的软件包 - 早期的软件包 = 相同的软件包
None 新软件包 R 软件包将被删除
为下述功能键指定了相应的功能: F2 更改视图 F3 显示与所选软件包有关的信息 F4 查找软件包 F5 全部选择 F6 全部清除 F7 升级 F8 选择新软件包
服务
服务
服务服务
关于服务器的设置和操作,最重要的是要了解对服务进行控制的基本原理。关于每个服 务的详细介绍,请参见相应的章节。不过,在这里,从整个系统的透视角度,给出了对管理 和配置任务的解释。
启动脚本
启动脚本
启动脚本启动脚本
服务启动脚本位于/etc/rc.d/init.d 下。
使用这些脚本,可以启动、停止、重新启动各项服务。
例如,你可以使用下述命令来重新启动 Samba 服务
# /etc/rc.d/init.d/smb restart
依赖于启动脚本,最后的选项会有所不同。在每个相应的启动脚本文件中,给出了详细 的解释。
例如,/etc/rc.d/init.d/smb 包含的内容如下
. /etc/rd.d/initd/functions
. /etc/sysconfig/network
[ ${NETWORKING} = "no" ] && exit 0
[ -f /etc/smb.conf ] || exit 0
25
Page 37
case "$1 in
start)
echo -n "Starting SMB services: " daemon smvd -D daemon nmdc -D echo touch /var/lock/subsys/smb ;;
stop)
echo -n "Shutting down SMB services: " killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo "" ;;
status)
status smbd status nmbd ;;
restart)
echo -n "Restarting SMB services: " $0 stop $0 start echo "done." ;;
*)
echo "Usage:smb{start|stop|restart|status}" exit 1
esac
除了“start”外,smb 还能接受通常的选项“stop”(停止)、“restart”(重新启动)、 以及“status”(状态)。
运行级别
运行级别
运行级别运行级别
作为一种 UNIX 系统,Linux 也具有称之为“run levels”(运行级别)的功能,在引导 过程中会显示出系统的状态。在表 2-1 中,给出了 Turbolinux 的设置情况。
表
表 2-1 运行级别
表表
运行级别
运行级别 描述
运行级别运行级别
0 1 2 3
4 配置模式 记录安装配置 /etc/rc.d/rc4.d 5 多用户模式 缺省(GUI 登录) /etc/rc.d/rc5.d 6 重新引导 重新引导 /etc/rc.d/rc6.d
描述 附加信息
描述描述 暂停 断电状态
单用户模式 多用户模式 禁止了 NFS 多用户模式 缺省(文本登录)
运行级别
运行级别运行级别
附加信息 目录
附加信息附加信息
/etc/rc.d/rc1.d
26
目录
目录目录
/etc/rc.d/rc0.d
/etc/rc.d/rc2.d /etc/rc.d/rc3.d
Page 38
缺省的运行级别是“3”。缺省的运行级别记录在文件/etc/inittab 的第 1 行上,如下所示:
id:3:initdefault:
跟随在 id: 后面的号码用于设置运行级别。对于本例,运行级别是 “3”,因此,将运行 级别设置为了多用户模式下的命令行登录。如果你打算将登录方式更改为 GUI,应 将该号码 更改为 5,并将文件/etc/inittab 写入到磁盘中。
如果你已经正确配置了自己的X Windows系统,你就可以成功地将运行级别更改为“5”。 关于该过程的更多信息,请参见第 A-2 页上的“定义登录方法”。
运行级别“4”通常为空,允许 Linux 发布商设置他们自己的引导模式。
启动各运行级别
启动各运行级别
启动各运行级别启动各运行级别
在(第 2-22 页上的)表 2-1 所示目录中的文件指明了,在每个运行级别下将启动哪些 服务。你应当清楚,针对每个运行级别,其目录中的大多数文件均是符号链接,这些符号链
接指向目录/etc/rc.d/init.d 下的文件。下面给出了/etc/rc.d/rc3.d 的大部分内容:
ls -o /etc/rc.d/rc3.d
total 0
lrwxrwxrwx 1 root 16 Feb 26 2001 K08autofs -> ../init.d/autofs*
lrwxrwxrwx 1 root 7 Feb 26 2001 K10radiusd -> ../init.d/radiusd*
lrwxrwxrwx 1 root 19 Feb 26 2001 K14alsasound -> ../init.d/alsasound*
lrwxrwxrwx 1 root 17 Feb 26 2001 K15proftpd -> ../init.d/proftpd*
lrwxrwxrwx 1 root 13 Feb 26 2001 K20nfs -> ../init.d/nfs*
lrwxrwxrwx 1 root 19 Feb 26 2001 K34yppasswdd -> ../init.d/yppasswdd*
lrwxrwxrwx 1 root 15 Feb 26 2001 K35atalk -> ../init.d/atalk*
lrwxrwxrwx 1 root 13 Feb 26 2001 K35smb -> ../init.d/smb*
lrwxrwxrwx 1 root 15 Feb 26 2001 K41xntpd -> ../init.d/xntpd*
lrwxrwxrwx 1 root 13 Feb 26 2001 K60lpd -> ../init.d/lpd*
lrwxrwxrwx 1 root 18 Feb 26 2001 K60mars-nwe -> ../init.d/mars-nwe*
lrwxrwxrwx 1 root 16 Feb 26 2001 K65kadmin -> ../init.d/kadmin*
lrwxrwxrwx 1 root 15 Feb 26 2001 K65kprop -> ../init.d/kprop*
lrwxrwxrwx 1 root 16 Feb 26 2001 K65krb524 -> ../init.d/krb524*
lrwxrwxrwx 1 root 17 Feb 26 2001 K65krb5kdc -> ../init.d/krb5kdc*
lrwxrwxrwx 1 root 16 Feb 26 2001 K79identd -> ../init.d/identd*
lrwxrwxrwx 1 root 14 Feb 26 2001 K80nscd -> ../init.d/nscd*
lrwxrwxrwx 1 root 16 Feb 26 2001 K84ypserv -> ../init.d/ypserv*
27
Page 39
lrwxrwxrwx 1 root 17 Feb 26 2001 K89portmap -> ../init.d/portmap*
lrwxrwxrwx 1 root 18 Feb 26 2001 K92iptables -> ../init.d/iptables*
lrwxrwxrwx 1 root 17 Feb 26 2001 S10network -> ../init.d/network*
lrwxrwxrwx 1 root 17 Feb 26 2001 S14nfslock -> ../init.d/nfslock*
lrwxrwxrwx 1 root 15 Feb 26 2001 S15nfsfs -> ../init.d/nfsfs*
lrwxrwxrwx 1 root 14 Feb 26 2001 S16apmd -> ../init.d/apmd*
lrwxrwxrwx 1 root 16 Feb 26 2001 S20random -> ../init.d/random*
lrwxrwxrwx 1 root 16 Feb 26 2001 S30syslog -> ../init.d/syslog*
lrwxrwxrwx 1 root 13 Feb 26 2001 S40atd -> ../init.d/atd*
lrwxrwxrwx 1 root 15 Feb 26 2001 S40crond -> ../init.d/crond*
lrwxrwxrwx 1 root 14 Feb 26 2001 S50inet -> ../init.d/inet*
lrwxrwxrwx 1 root 18 Feb 26 2001 S52synctime -> ../init.d/synctime*
lrwxrwxrwx 1 root 14 Feb 26 2001 S55sshd -> ../init.d/sshd*
lrwxrwxrwx 1 root 18 Feb 26 2001 S75keytable -> ../init.d/keytable*
lrwxrwxrwx 1 root 14 Feb 26 2001 S95innd -> ../init.d/innd*
lrwxrwxrwx 1 root 11 Feb 26 2001 S99local -> ../rc.local*
以“S”开头的文件名指出了在引导系统时将启动的服务。以“K”开头的文件名指出 了在引导系统时不会启动的服务。
直接跟在“S”或“K”后的数字显示出了读取该文件的序列点。如果你直接更改了这
些文件,要想使这些设置发挥作用,就必须创建遵循上述规则的符号链接文件。如果符号链 接所指向的文件已被删除,就不能启动对应的服务。
更改运行级别
更改运行级别
更改运行级别更改运行级别
作为超级用户,可以运行命令 telinit 来更改正在运行的系统的运行级别。
例如,要想将运行在多用户模式下(运 行级别“3”或“ 5”)的系统更改为单用户模式, 可键入下述命令:
# telinit 1
类似地,如果你执行了 telinit 0 或 telinit 6,其效果与执行命令 halt 或 reboot 的相同。
当运行在单用户模式下时,其他用户不能使用该系统。命 令 telinit 只会临时更改运行级 别,不会将所作的更改写入文件/etc/inittab。
28
Page 40
chkconfig
chkconfig
chkconfigchkconfig
chkconfig 命令行工具能管理 Turbolinux 的服务和端口监督程序。运行该命令行,你可 以决定是否启动(或停止)某一服务。
查看各运行级别的服务设置
查看各运行级别的服务设置
查看各运行级别的服务设置查看各运行级别的服务设置
运行 chkconfig --list ,能显示各运行级的服务设置,如下所示:
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off random 0:off 1:off 2:on 3:on 4:on 5:on 6:off alsasound 0:off 1:off 2:on 3:on 4:on 5:on 6:off keytable 0:off 1:off 2:on 3:on 4:on 5:on 6:off atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off muraski 0:off 1:off 2:on 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off cupsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd 0:off 1:off 2:on 3:on 4:on 5:on 6:off canna 0:off 1:off 2:on 3:on 4:on 5:on 6:off kparam 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off Xinetd based services: Chargen-udp: off Cups-lpd: off Chargen: off ……. Echo: off
从上面的输出可看出, chkconfig 既能显示对独立启动的服务的配置,也能显示由超级服 务器启动的服务的配置
29
Page 41
设置服务的运行级别
设置服务的运行级别
设置服务的运行级别设置服务的运行级别
每一独立启动的服务在/etc/rc.d/init.d 下都有一启动 script 文件,该 script 头部的注释行指定 了该服务所支持的运行级。如在/etc/rc.d/init.d/sshd 中有一行
# chkconfig: 2345 55 25 其中 “2345” 指明 sshd 服务可在 2345 运行级运行
通过运行 chkconfig –add servicename 可激活服务, 如
#chkconfig –add sshd 在 2345 运行级激活 sshd 运行 chkconfig –del servicename 即可封闭服务, 如 #chkconfig –del sshd 在 2345 运行级均被关闭
也可只在特定的运行级对服务进行操作, 如
#chkconfig –level 3 sshd on 在运行级 3 激活 sshd
#chkconfig –level 3 sshd off 在运行级 3 关闭 sshd
注意 激活/关闭某服务只在系统启动后生效,要想立即运行/停止某服务,需运行服务脚本, 如
# /etc/init.d/sshd start 运行 sshd # /etc/init.d/sshd stop 停止 sshd
联网
联网
联网联网
有数个可用来配置或控制网络服务的文件。下面解释了 TCP/IP 网络所需的最低配置。
文件
文件/etc/rc.d/init.d/network
文件文件
网络启动脚本文件称为“network”,它位于目录/etc/rc.d/init.d 下。
使用下述命令即可启动“network”文件。
# etc/rc.d/init.d/network start
除了“start”(启动)外,文件“network”还能接受我们熟悉的选项“stop”、“restart” 和“status”(状态)。
文件
文件/etc/sysconfig/network
文件文件
在该文件中,记录了系统的网络设置情况(IP 地址、主机名、网关 IP 地址)。下面给出 了一个文件示例:
NETWORKING=yes
PROFILENAME="(null)"
HOSTNAME=jon.Turbolinux.us
GATEWAY=192.168.1.1
GATEWAYDEV=eth0
FORWARD_IPV4=no
IPX=no
TIMESERVERATBOOT=no
TIMESERVERTYPE=ntp
30
Page 42
TIMESERVERHOST=(none)
TIMESERVERRESYNC=(none)
文件
文件/etc/sysconfig/network-scripts/ifcfg-[dev_name]
文件文件
在该文件中记录了连接到系统的网络接口的设置情况。标签[dev_name]对应的是已连接 网络接口的设备名称。
在表 2-2 中,对文件 ifcfg 的内容进行了描述。
表 2-2 文件 ifcfg [dev_name] eth0 eth1
每一设备的 IP 地址和网络掩码分别记录在各自的配置文件中。
下面给出了这类文件的一个示例:
DEVICE=eth0 IPADDR=192.168.1.82 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=yes BOOTPROTO=none
网络接口 第 1 个以太网卡 第 2 个以太网卡
文件
文件/etc/resolv.conf
文件文件
系统的域名、以及系统所使用的 DNS 服务器的 IP 地址均记录在文件/etc/resolv.conf 中。
下面给出了这类文件的一个示例:
domain Turbolinux.us search Turbolinux.us nameserver 192.168.1.2 nameserver 210.255.54.18
文件
文件/etc/HOSTNAME
文件文件
在该文件中,记录了 Turbolinux 系统的主机名称。
jon.Turbolinux.us
31
Page 43
文件
文件/etc/hosts
文件文件
在该文件中,记录了每个主机的 IP 地址以及对应的主机名称,每个占一行。
下面给出了这类文件的一个示例:
127.0.0.1 localhost.localdomain localhost
192.168.1.82 jon.Turbolinux.us jon
检查网络状态
检查网络状态
检查网络状态检查网络状态
运行下述命令,即可检查网络接口的状态。
$ /sbin/ifconfig
netcfg – turbonetcfg
使用工具 netcfg(turbonetcfg),可对 TCP /IP 网络进行配置和管理。
运行:
# netcfg
这时,将出现“Network Configuration”(网络配置)屏幕,请参见图 2-7。
图 2-7 网络配置
32
Page 44
这些选项中的每一个均与网络有关:
• Display Configuration(显示配置)
• Basic Settings(基本设置)
• Hosts Table(主机表)
• Network Interfaces(网络接口)
• Network Diagnostics(网络诊断)
亮选希望配置的条目,并按下回车键。 你可以使用 netcfg 来设置 profile 文件,以便能够方便地在多种配置间进行切换。一旦
建立了一个新的 profile 文件,可按下“Save Profile”(保存轮廓文件)按钮将它保存下来。 应使用易于识别的名称来保存该文件。随后,要想切换到任何已有的 profile 文件,可选择 “Load Profile”(加载轮廓文件),然后选择所需的轮廓文件。
注释:
注释:
注释:注释:
在缺省情况下,最初不会配置任何 profile 文件。当你未创建轮廓文件,同时却选择了“Save /Exit”(保存/退出)时,会出现消息“保存 profile 文件失败”。如果打算更改配置,首先
应选择“Save Profile”(保存轮廓文件),然后创建一个新的轮廓文件。
显示配置
显示配置
显示配置显示配置
在“网络配置”屏幕上选择“Display Configuration”(显示配置),请参见第 2-33 页上
的图 2-7,这时将出现“当前配置”屏幕(请参见图 2-8)。
图 2-8 当前配置
33
Page 45
在该屏幕上,显示了当前网络设置的状态。选择“OK”按钮可关闭该屏幕。
基本设置
基本设置
基本设置基本设置
在“ 网 络配置”屏幕上选择“Basic Settings”(基本设置),请参见第 2-33 页上的图 2-7,
这时将出现“全程网络设置”屏幕(请参见图 2-9)。
图 2-9 全程网络设置
在该屏幕上,你可以进行下述设置:
Hostname(主机名) 针对 Turbolinux 计算机的主机名 Domainname(域名) 计算机所在网络的域名 Search Domains(搜索域) 对域进行搜索(通常与域名中给出的相同)。按下“Add SD”可
添加一个搜索域,使用“Remove SD”可删除搜索域 DNS Nameserver(DNS 域 名服务器) Gateway IP(网关 IP) 缺省网关的 IP 地址 Gateway Device(网关设 备)
DNS 服务器的 IP 地址。按 下 “Add NS”可添加一个 DNS 域名服
务器,使用“Remove SD”可删除 DNS 域名服务器。
与上面的缺省网关对应的网络接口卡。正常情况下,如果你只
安装了一块网卡,它将被设置为“eth0”。
主机表
主机表
主机表主机表
在“网络配置”屏幕上选择“Hosts T able”(主机表),请参见第 2-33 页上的图 2-7,这
时将出现“主机表”屏幕(请参见图 2-10)。
34
Page 46
图 2-10 主机表
在该屏幕上,会显示来自文件/etc/hosts 的信息。通过该屏幕,你可以添加、更改 、和删
除主机。
网络接口
网络接口
网络接口网络接口
在“网 络配置”屏幕上选择“Network Interfaces”(网络接口),请参见第 2-33 页上的图
2-7,这时将出现“选择接口”屏幕(请参见图 2-11)。
图 2-11 选择接口
在该屏幕上,你可以为每个网卡设置接口。 通常情况下,你只安装了一块网卡,这时你可以使用两个接口,“lo”(本地主机)以及
“eth0”。如果你安装了两个或更多的网卡,可以使用“eth1”、“eth2”等。
35
Page 47
通过选择“start”(启动)和“stop”(停止),你可以在实时情况下启动或停止所选择的
接口。
要想添加网卡,请选择“Add”(添加);要想删除网卡,可选择“Remove”(删除)。 要想编辑所选择的接口,可在“选择接口”屏幕上选择“Edit”(编辑),请参见第 2-39
页上的图 2-11,这时,将出现“编辑接口设置”屏幕(请参见图 2-12).
图 2-12 编辑接口设置
在该屏幕上,你可以设置下述条目:
• IP address (IP 地址)
• netmask (网络掩码)
• network address (网络地址)
• broadcast address (广播地址)
• Use of DHCP/Bootp (使用 DHCP/Bootp)
选择“Done”(完成)可将你做的新设置保存下来,使用“<ESC>”键可放弃对当前 设置的更改并返回“选择接口”屏幕(请参见图 2-11)。
• 在“aliases”(别名)下,可为一个接口设置多个 IP 地址。
然后,使用“ Done”(完成)按钮,返回“网络配置”屏幕上的主菜单(请参见第 2-33
页上的图 2-7),并选择“网络诊断”以测试缺省的路由路径、域名服务器的可达性等。这
是会出现“测试结果”屏幕(请参见图 2-13)。
36
Page 48
图 2-13 测试结果
37
Page 49
在这个“测试结果”屏幕上(请参见图 2-13),给出了每个条目的结果。“Yes”表示功
能运行正常,“No”意味着出现了某些问题,“N/A”表示该条目尚未设置。选择“OK”,可
显示“接口统计”屏幕(请参见图 2-14)。
图 2-14 接口统计
38
Page 50
打印
打印
打印打印
Turbolinux DataServer 7.1 采用 CUPS(Common Unix Printing System)作为打印系统。
CUPS 功能强大,能灵活扩展以支持多种打印设备。 CUPS 提供了与以前的打印系统如 LPD
兼容的打印命令及命令行工具。 使用这些命令,能很方便的打印文档和文件。在本节中, 介绍了在 Turbolinux 环境下对打印进行组织的方法。
/etc/printcap
可以在文件/etc/printcap 中查看或编辑与打印机设备有关的设置。
下面给出了对连接到并口的 PostScript 打印机的设置:
(1)|lp:\ (2)|:sd=/var/spool/lpd/lp:\ (3)|:mx#0:\ (4)|:sh:\
39
Page 51
(5)|:lp=/dev/lp0:\ (6)|:if=/var/spool/lpd/lp/filter:
其中:
(1) 指出了打印机的名称,在本例中为“lp”。 (2) 指出了缓冲(也称为假脱机)目录,在本例中被设置为/var/spool/lpd/lp。 (3) 设置最大的文件容量,在本例中为“0”,表示对文件的大小不做限制。 (4) 禁止打印题头。要想打印题头,请删除该行。 (5) 设置打印机设备的名称,在上面所给出的示例中为“/dev/lp0”。 (6) 指定输入文件。由于在本例中使用的是 PostScript 打印机,所以输入文件为
“/var/spool/lpd/lp/filter”。
完成编辑任务后,请重新启动 cupsd。
# /etc/rc.d/init.d/cupsd restart
注意:通常不应手工修改 /etc/printcap 文件, 应通过 cups 软件包提供的配置工具进行操作
打印命令
打印命令 lpr
打印命令打印命令
使用命令 lpr,可进行打印操作。
例如,如果想在当前目录下打印文件 README.txt,可键入下述命令:
$ lpr README.txt
要想将发送给打印机的输出显示在屏幕上,而输出内容很长,无 法 在 一个屏幕上显示出
来,可对 lpr 使用管道命令。例如,如果打算将命令 ls 的输出结果发送给打印机,可运行:
$ ls | lpr
当你有多台打印机可供选择时,可使用-P 选项,后跟所选的打印机名称。使用以下命
令,可将文件 README.txt 发送给名为 lp0 的打印机。
40
Page 52
$ lpr -P lp0 README.txt
配置打印系统
配置打印系统
配置打印系统配置打印系统
CUPS 软件包提供了一个基于 Web 的配置界面,可添加和配置打印机,进行打印管理。
还可获取在线帮助。要想使用 CUPS 的打印配置界面,首先要启动 cupsd,cupsd 内置了一 个 web 服务器:
# /etc/init.d/cups start
可通过 chkconfig –add cups 使 cupsd 在机器启动时自动启动,以提供全部打印服务和 配置能力。
Cupsd 提供给 Web 配置服务的保留端口是 631, 在本地机上进入打印配置,简单地在你的
浏览器上敲入如下 URL: http://localhost:631
若要远程进行配置,需在/etc/cups/cupsd.conf 文件中的<Location>及<Location /admin> 部分加入对你的工作机的访问许可。然后在浏览器上敲入远程 cupsd 的 URL 地址。
这时,会出现下面的屏幕(请参见图 2-15)。
图 2-15 打印管理
在此界面下可进行各种打印管理,查看在线帮助等活动。
添加打印机
添加打印机
添加打印机添加打印机
在主界面中选择 Administration 拦,就可进入对打印类,打印作业,打印机等进行管
理的界面,如下所示:
41
Page 53
要想添加并设置一台新的网络打印机,请按下述步骤进行:
1. 点击“Add Printer”按钮,出现 “Add New Printer” 屏幕
图 2-16 添加打印机
简单地给你的打印机取个名,如 “mylp”。点击 “Continue”, 进入下一步。
2. 为打印机选择连接类型。
Parallel Port(本地) Serial Port(本地) USB Printer(本地)
如果打印机直接连接在你的 Turbolinux DataServer 7.1 系统 上,请根据物理接口类型选择其中之一。
42
Page 54
Internet Printing Protocol (http) CUPS 使用的打印协议, 当使用远程 CUPS 上的打印机时,
选择此项 Remote LPD Queue(远程 LPD 队列) Samba/LAN Manager Printer
(Samba/LAN 管理器打印机)
对于本例,选择了“Internet Printing Protocol(Http)”(远程 cups 队列),并选择了
“Continue”。选择“Continue”后,将出现“Device URL”屏幕(请参见图 2-17)。
如果你打算选择远程 LPD 系统上的打印机,请选择该选项。
如果你打算选择的打印机与 NETBIOS 网络(在该网络上运
行着 Samba、LAN 管理器或 Windows)上的某台计算机相
连,请选择该选项。
图 2-17 新队列名称
3. 设 置打印设备 的 URL。 如 打 印机是连接在 172.16.70.100 上的,可敲 入 http://172.16.70.100:631/ipp。
4. 选择“Continue”(继续)。
5. 然后选择打印机的厂家和型号。(略)
43
Page 55
6. 完成。
44
Page 56
更改打印机设置
更改打印机设置
更改打印机设置更改打印机设置
要想 更改已有打 印机的设置,在管理界 面上选择 ”Manage Printers”, 然后选择
“Modify Printer” 即可进入修改界面。
45
Page 57
第
第 3333 章
第第
在计算机网络世界中,存在我们称为客户端和服务器的多种程序。处于运行状态的服务
器总会做好随时应答来自客户端请求的准备。另一方面,仅在需要发送请求时,才会运行客 户端程序。在用户层面,客户端-服务器操作是透明的,也就是说,不需要用户的任何介入。
此外,还存在多种超级服务器,这些超级服务器负责控制普通服务器的运行。只有当收
到来自客户端的请求时,超级服务器才会触发普通服务器上可提供的服务。
在本章中,详细介绍了与下面所列的四种服务器有关的信息。这 些 服务器能提供四种基
本的服务,Turbolinux 必须提供这四种服务,以便能在 Internet 上发挥更大的作用。
章 Internet
Internet 服务器
章章
Internet Internet
服务器
服务器服务器
• 名称服务器(DNS 服务器):查找与主机名称对应的 IP 地址。
• 邮件服务器(SMTP):在网络的主机之间传递电子邮件,或 Internet 传递电子邮件。
• Web 服务器(HTTP 服务器):使用了 HTTP 协议来完成客户端程序(浏览器)对
Web 页面、文件、来自 Internet 的数据、或来自本地系统或网络的数据的请求。
• FTP 服务器:允许客户端将文件传送到其它主机,并接收来自其它主机的文件。
46
Page 58
名称服务器(
名称服务器(DNS
名称服务器(名称服务器(
名称服务器(域名系统服务器、或 DNS 服务器)的作用就是从主机名称文件中查找 IP 地址,或者按相反的方向,通过分布式数据库从 IP 地址查找主机名称。实现该任务的一种 方法是使用文件/etc/hosts。在这种情况下,每台主机本身会查找自己的/etc/hosts 文件。但对 于使用 DNS 的情形来说,在 相同的域中必须至少有一台 DNS 服务器,以便将主机的名称信 息提供给该域范围的其它多台主机。
为了实现 DNS 功能,最常用的程序是 BIND。要想了解有关 BIND 的详细信息,请参 阅 “BIND 概述”。
可以将名称服务器的作用划分为下述四类:
DNS 服务器)
服务器)
DNSDNS
服务器)服务器)
• Primary Name Server(主名称服务器)
• Secondary Name Server(从名称服务器)
• Cache Only Server(超高速缓冲服务器)
• Slave Server(从属服务器)
主名称服务器
主名称服务器
主名称服务器主名称服务器
主服务器负责管理自己所在域内的所有主机名称,确保向邮件服务器提供恰当的信息,
将域信息提供给名称服务器或普通服务器,并负责与其它域的名称服务器交换信息。
47
Page 59
从名称服务器
从名称服务器
从名称服务器从名称服务器
从名称服务器以主名称服务器的备份形式存在。它会定期拷贝来自主名称服务器的数
据,如果主名称服务器出现故障,它将接替主名称服务器。这 两个服务器(主服务器和从服 务器)中必须至少有一个能正常地发挥作用,从而保证与 Internet 的连接。
超高速缓冲服务器
超高速缓冲服务器
超高速缓冲服务器超高速缓冲服务器
超高速缓冲服务器能将客户端的请求转发给它所指定的名称服务器。正如其名称所表示 的那样,超高速缓冲服务器只会临时性(以缓冲方式)地保存应答信息,这样当它下一次收
到相同的请求时能更快地作出响应。这样,就能减轻主名称服务器和从名称服务器的负担。
从属服务器
从属服务器
从属服务器从属服务器
从属服务器负责维护与主名称服务器相同的数据库,但在它解析请求之前,必须得到主 服务器的许可。
解析器
解析器
解析器解析器
解析器负责将来自客户端的请求转发给名称服务器,然后将来自服务器的回答信息返回 给客户端。名称服务器对解析器的查询作出响应,然后解析器对该信息(可能是资源记录或 一则错误信息)进行解释,并将结果递送给启动请求的程序。
在解析服务器和客户端名称时,需要用到下面这两个文件:
/etc/host.conf
/etc/resolv.conf
文件/etc/host.conf 是为名称服务请求而创建的,它创自于名称服务器以及传统的 UNIX 主机文件。
每台主机必须列在主机文件中,对于大型网络来说。这 会使得主机文件变得笨拙和不切
实际。但对于由四个或五个主机构成的小型网络来说,名 称服务器所承担的负荷较轻,它能 很好地胜任。
下面是文件/etc/host.conf 的一个示例:
order hosts,bind
multi on
48
Page 60
在上面的示例中,order 显示出了执行的顺序。这意味着首先将使用主机文件来解析名 称,如果失败,再使用 BIND。
如果名称解析导致了多个地址,那么 multi on 表示会返回所有的地址,multi off 表示只 返回第 1 个地址。
在文件/etc/resolv.conf 中,包含域名和名称服务器方面的信息。
下面给出了文件/etc/resolv.conf 的一个示例:
domain Turbolinux.gr.jp
search Turbolinux.gr.jp
nameserver 192.168.0.2
在上面的示例中,domain 指的是服务器的域名,search 指的是用于主机查询的替代域 名,nameserver 指的是解析器应查询的名称服务器的地址。
BIND 概述
概述
概述概述
BIND 诞生于加利福尼亚大学伯克利分校,首先出现于 BSD UNIX 4.3 版本中。自那以 来,它已被引入到 Linux、其它 UNIX 版本、OS/2、以及 Windows NT 中。
直到推出 4.8.3 版本前,对 BIND 的开发一直是在 DAPRA 的同意下,在加州大学伯克 利分校的计算机系统研究小组中进行的。版本 4.9 和 4.9.1 由当时的 DEC(即现在的康柏) 发布。其 4.9.2 版由 Vixie Enterprises 发布。自 4.9.3 版起,由 Internet 软件联盟(ISC)负责 开发和维护。1997 年发布了版本 8,自 那以后,除了偶尔发布的安全补丁外,对版 本 4 的研 发已终止。最近出现了版本 9(请参见下面所列出的 ISC 的 Web 站点)。
在下面的列表中,给出了一些缩略语的意义:
• BIND(伯克利 Internet 名字域),Web 站点:http://www.isc.org/bind.html
• DARPA(美国国防部高级计划研究局)
• UCB(加利福尼亚大学伯克利分校)
• CSRG(计算机系统研究组)
• ISC(Internet 软件联盟),Web 站点:http://www.isc.org/
有三种版本的 BIND 是以免费软件的形式发布的,分别是版本 4,版本 8 和版本 9。
49
Page 61
某些 Internet 服务提供商推荐使用 BIND 4,这是因为它的稳定性和安全性,而且还因 为版本 9 相对来说是一个较新的版本。不仅如此,版 本 4 已经得到了广泛的使用,作为一个
良好的技术产品,它还拥有很高的声望。
然而,除了安全补丁外,对版本 4 的开发已终止,而且当前开发的源代码由 ISC 负责。 因此,我们更推荐大家转换到版本 9 上。在本节中,我们将介绍对 BIND 4 的配置。在 “BIND 9”中,介绍了转换到 BIND 9 的方法。
named
BIND 主要由端口监督程序 named 构成。它的启动脚本是/etc/rc.d/init.d/named。
要想启动 named,可运行:
# /etc/rc.d/init.d/named start
要想停止 named,可运行:
# /etc/rc.d/init.d/named stop
如果想检查 named 正在运行,可:
# ps aux | grep named
root 203 0.0 3.2 1440 1000 ? s 00:55 0:00 named
如果你未能见到与上面所给出的类似的响应,或许就需要运行 named 或安装 BIND。
名称服务器模式配置
名称服务器模式配置
名称服务器模式配置名称服务器模式配置
BIND 能在三种模式下运行:
• Primary server mode(主服务器模式)
• Secondary server mode(从服务器模式)
• Cache Only server mode(超高速缓冲服务器模式)
Turbolinux DataServer 7.1 最初的缺省设置是超高速缓冲服务器模式。如果你的 ISP (Internet 服务提供商)同时经营着主服务器和从服务器,那么你所安装的名称服务器就可
50
Page 62
以作为超高速缓冲服务器使用 。要想实现这点,只需要两个配置文件: /etc/named.boot 和 /etc/resolv.conf。以域名 Turbolinux.gr.jp 为例,这些文件的内容如下。
文件/etc/named.boot:
directory /var/named
cache . named.ca
primary 0.0.127. in-addr.arpa named.local
文件/etc/resolv.conf:
domain Turbolinux.gr.jp
search Turbolinux.gr.jp
nameserver 127.0.0.1
对于主服务器和从服务器模式,这些设置会有所变化。
文件/etc/named.boot(请参见下面)用于从服务器模式, 在本示例中,使用的 IP 地址是
192.168.0.2。
文件/etc/named.boot:
directory /etc/namedb
cache . named.root
secondary Turbolinux.gr.jp 192.168.0.2 Turbolinux.zone.bak
secondary 0.168.192.in-addr.arpa 192.168.0.3 Turbolinux.rev.bak
secondary 0.0.127.in-addr.arpa local.rev
地区文件和逆向文件从主服务器、IP 地址 192.168.0.2 处获得,并会将它们备份到一个 文件中。
典型设置
典型设置
典型设置典型设置
在这个示例中,使用的数据来自日本的 Turbolinux 名称服务器。当然,你也可以指定不 同的主机名、IP 地址等。
在下面所列的 6 个设置文件中,除了/etc/nam ed.boo t 和/etc/resolv.conf 外,所有其他文 件均任意。后者在文件/etc/named.boot 中指出。
文件名称
文件名称 完整的文件名称
文件名称文件名称 引导文件 解析文件 缓冲文件 lookback 文件
正向查找文件(区域文件) /var/named/Turbolinux.gr.jp
完整的文件名称
完整的文件名称完整的文件名称
/etc/named.boot /etc/resolv.conf /var/named/named.root /var/named/0.0.127.inaddr.arpa
51
Page 63
逆向查找文件 /var/named/2.0.168.192.in-addr.arpa
假设如下: IP 地址 192.168.0.0~192.168.0.15 子网掩码 255.255.255.240
域名 Turbolinux.gr.jp 从名称服务器 203.139.160.69 (hostname:
ns-tk011.ocn.ad.jp)
如果你的 ISP(Internet 服务提供商)为你分配了 16 个 IP 地址,就可以按表 3-1 中给出 的方式来组织你的名称服务器。
表 3-1 IP 地址与主机名称 映 射
IP
IP 地址
地址 主机名称
IPIP
地址地址
192.168.0.0 无 网络地址(固定)
主机名称 解释
主机名称主机名称
解释
解释解释
192.168.0.1 无 缺省网关(路由器),通常是固定的
192.168.0.2 Ns.tubolinux.gr.jp 名称服务器(主),通常是固定的
192.168.0.3 Unixi.Turbolinux.gr.jp UNIX(或 Linux)终端
192.168.0.4 Wini.Turbolinux.gr.jp Windows 终端
192.168.0.5 Maci.Turbolinux.gr.jp Macintosh 终端
192.168.0.6 (可用)
192.168.0.7 (可用)
192.168.0.8 (可用)
192.168.0.9 (可用)
192.168.0.10 (可用)
192.168.0.11 (可用)
192.168.0.12 (可用)
192.168.0.13 (可用)
192.168.0.14 (可用)
192.168.0.15 无 广播地址(固定)
注释: 你不能使用表 3-1 中所列的 IP 地址。你必须用你的 ISP 商分配给你的地址替换它们。
引导文件(
引导文件(/etc/named.boot
引导文件(引导文件(
下面给出了一个示例用引导文件的内容:
/etc/named.boot)设置示例
/etc/named.boot/etc/named.boot
)设置示例
)设置示例)设置示例
52
Page 64
(1) directory /var/named
(2) cache . named.root
(3) primary 0.0.127.in-addr.arpa 0.0.127.in-addr.arpa
(4) primary Turbolinux.gr.jp Turbolinux.gr.jp
(5) primary 2.0.162.192.in-addr.arpa 2.0.162.192.in-addr.arpa
下面,给出了对上述示例文件中条目的解释:
(1) 将 directory 设置为包含各配置文件的目录,在这里是/var/named。
(2) 将 cache 设置为缓冲文件的名称。从ftp://rs.internic.net/domain/named.root
取最新的文件。在这里,最新的文件被设置为 named.root。
第 1 个主服务器用于回送,第 2 个用于正向查找文件(区域文件),第 3 个用 于逆向查找文件。
(3) 设置 lookback 文件的名称,在这里是 0.0.127.in-addr.arpa
(4) 设置正向查找文件(区域文件),在这里是 tubolinux.gr.jp。
(5) 设置逆向查找文件,在这里是 2.0.162.192.inaddr.arpa。
注释: 总应将网络地址的逆向处理写入到逆向查找文件
解析器文件(
解析器文件(/etc/resolv.conf
解析器文件(解析器文件(
下面给出了一个示例用解析器文件的内容:
(1)| domain Turbolinux.gr.jp
(2)| nameserver 192.168.0.2
/etc/resolv.conf)设置示例
/etc/resolv.conf/etc/resolv.conf
)设置示例
)设置示例)设置示例
处获
(3)| nameserver 203.139.160.69
在上面的示例文件中,nameserver 被设置为名称服务器的 IP 地址。下面,给出了对上
述示例文件中条目的解释:
(1) domain 被设置为域名,在这里是 Turbolinux.gr.jp。
(2) 将主名称服务器(nemeserver)的 IP 地址设置为 192.168.0.2。
(3) 将从名称服务器(nemeserver)的 IP 地址设置为 203.139.160.69。通常情况下,
该 IP 地址由 ISP 商指定。
最低程度,解析器文件必须包含主名称服务器和从名称服务器。
53
Page 65
loopback 文件设置示例
在本节中,解释了回送(loopback)文件/var/named/0.0.127.in-addr.arpa
0.0.127.in-addr.arpa. IN SOA ns.Turbolinux.gr.jp.
(1) | 19990318 ; Serial
| 10800 ; Refresh after 3 hours | 3600 ; Refresh after 1 hours | 604800 ; Expire after 1 week
| 86400 ) ; Minimum TTL of 1 day (2) | 0.0.127.in-addr.arpa. IN NS ns.Turbolinux.gr.jp (3) | 0.0.127.in-addr.arpa. IN NS ns-tk011.ocn.ad.jp
| 1.0.0.127.in-addr.arpa. IN PTR localhost.
下面,给出了对上述示例文件条目的解释:
文件设置示例
文件设置示例文件设置示例
root.ns.Turbolinux.gr.jp. (
SOA 授权启动(Start of Authority)的缩写,用于设置区域管理信息。 IN Internet 的 缩 写。 NS 名称服务器的缩写,用于设置名称服务器的主机名称。 PTR 打印机的缩写,为 IP 地址设置主机名称。
(1) 配置的序列号。任何初始值均是可接受的,但每次修改配置文件后,都必须增加
它。这里使用了日期,便于记忆和日后的检查。
(2) 设置主名称服务器的主机名。在这里是 ns.Turbolinux.gr.jp。 (3) 设置从名称服务器的主机名。通常情况下,它由你的 ISP 商指定,在这里是
ns-tk011.ocn.ad.jp。
正向查找文件(或区域文件)设置示例
正向查找文件(或区域文件)设置示例
正向查找文件(或区域文件)设置示例正向查找文件(或区域文件)设置示例
区域文件/var/named/Turbolinux.gr.jp 与下面所给出的相仿:
| Turbolinux.gr.jp. IN SOA ns.Turbolinux.gr.jp.
root.ns.Turbolinux.gr.jp. ( (1) | 19990318 ; Serial
| 10800 ; Refresh after 3 hours
| 3600 ; Retry after 1 hours
| 604800 ; Expire after 1 week
| 86400 ; Minimum TTL of 1 day (2) | Turbolinux.gr.jp. IN NS ns.Turbolinux.gr.jp.
54
Page 66
(3) | Turbolinux.gr.jp. IN NS ns-tkOll.ocn.ad.jp. (4) | Turbolinux.gr.jp. IN MX 10 ns.Turbolinux.gr.jp. (5) | localhost IN A 127.0.0.1
(6) | ns.Turbolinux.gr.jp. IN A 192.168.0.2 (7) | unixi.Turbolinux.gr.jp. IN A 192.168.0.3 (8) | wini.Turbolinux.gr.jp. IN A 192.168.0.4 (9) | maci.Turbolinux.gr.jp. IN A 192.168.0.5 (10) | mail.Turbolinux.gr.jp. IN CNAME ns.Turbolinux.gr.jp. (11) | www.Turbolinux.gr.jp. IN CNAME ns.Turbolinux.gr.jp. (12) | ftp.Turbolinux.gr.jp. IN CNAME ns.Turbolinux.gr.jp.
对上面示例文件中条目的解释如下:
MX 邮件交换器的缩写 A 地址,为主机名设置 IP 地址 CNAME 规范名称的缩写,为主机设置别名
(1) 配置的序列号。任何初始值均是可接受的,但每次修改配置文件后,都 必须
增加它。这里使用了日期
(2)…(3)… 设置主服务器和从服务器的名称 (4) 设置邮件服务器的名称并显示优先级(优先级越高,数值越低)。在这里,
主名称服务器和邮件服务器是相同的,因此优先级为 10,邮件服务器的主 机名为 ns.Turbolinux.gr.jp
(5) 设置本地主机(localhost)的 IP 地址。Localhost 表示其自身,在这种情况
下,其 IP 地址通常是 127.0.0.1,如上所示 (6) 设置 ns.Turbolinux.gr.jp 的 IP 地址 (7)…(8)… (9)…
(10)…(11)… (12)…
为 每台主 机设置 IP 地址,在这 里 , 它 们 是 unixi.Turbolinux.gr.jp、
wini.Turbolinux.gr.jp、maci.Turbolinux.gr.jp,将它们的 IP 地址分别设置为
192.168.0.3、192.168.0.4、和 192.168.0.5
设置别名(CNAME)。在这里,邮件服务器是 mail.Turbolinux.gr.jp,Web 服务器是
www.Turbolinux.gr.jp,FTP 服务器是ftp.Turbolinux.gr.jp。
逆向查找文件(或逆向文件)设置示例
逆向查找文件(或逆向文件)设置示例
逆向查找文件(或逆向文件)设置示例逆向查找文件(或逆向文件)设置示例
逆向查找文件/var/named/2.0.168.192.in-addr.arpa 与下面所给出的相仿:
| 2.0.168.192.in-addr.arpa. IN SOA
55
Page 67
ns.Turbolinux.gr.jp. root.ns.Turbolinux.gr.jp. (
(1) | 19990318 ; Serial
| 10800 ; Refresh after 3 hours | 3600 ; Retry after 1 hours | 604800 ; Expire after I week
| 86400 ; Minimum TTL of 1 day (2) | IN NS ns.Turbolinux.gr.jp. (3) | IN NS ns-tkOll.ocn.ad.jp. (4) | IN PTRTurbolinux.gr.jp. (5) | IN A 255.255.255.240 (6) | 2 IN PTR ns.Turbolinux.gr.jp. (7) | 3 IN PTR unixi.Turbolinux.gr.jp. (8) | 4 IN PTR wini.Turbolinux.gr.jp. (9) | 5 IN PTR maci.Turbolinux.gr.jp. (10)
对上面示例文件中条目的解释如下:
(1) 对配置的序列号进行设置。任何初始值均是可接受的,但每次修改配置文件后,都必须增加它。
这里使用了日期 ( 2 ) … (3)… (4) 执行针对域名所作的设置
(5) 设置子网掩码的地址,在这里是 255.255.255.240 (6)…(7)…(8)…(9)… 将 IP 地址的最后一个号码设置为相应的主机名
你不能使用这里所给出的 IP 地址或主机名。你必须用自己的 ISP 商所指定的、位于你所在 域中的恰当的 IP 地址替换它们。
检查配置
检查配置
检查配置检查配置
了 ping 命令,也包含了 xinetd。在 bind-utils 软件包中以 RPM 格式提供了命令 nslookup。
设置主服务器和从服务器的名称
在上面所讨论的示例文件中,即引导、解析、回送、正向查找、以及逆向查找文件中,
要想检查 BIND 是否运行正常,可使用命令 ping 和 nslookup。在 iputils 软件包中包含
首先,对自己执行 ping 命令,检查你自己的配置情况;然后,对你所在域中的其它主 机执行 ping 命令;再接下来,对 外部主机执行 ping 命令。下面,给出了对自身使用 ping 命 令的示例,在本例中,自身的 IP 地址是 192.168.0.2(请用你自己的 IP 地址替换它)。按下 组合键“Ctrl+C”可终止 ping 命令。此外,你还可以使用-cn 开关,仅显示 n 行数据。应使 用正整数替换 n。
56
Page 68
# ping -c5 192.168.0.2
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp-seq=O ttl=128 time=0.5 ms
64 bytes from 192.168.0.2: icrrp-seq=l ttl=128 time=0.5 ms
64 bytes from 192.168.0.2: icrrp-seq=2 ttl=128 time=0.5 ms
64 bytes from 192.168.0.2: icmp-seq=3 ttl=128 time=0.5 ms
64 bytes from 192.168.0.2: icmp-seq=3 ttl=128 time=0.5 ms
--- 192.168.0.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.5/0.5 MS
如果 ping 命令给出的结果与上面的类似,就表明你的本地网络工作正常。现在,可以 试着对你所在网络内部和外部的主机执行 ping 命令。
可以按下述方式使用 nslookup 命令,检查 BIND 是否正在正常工作。
1. 首先,请确认在机器自己的 IP 地址和主机名之间的循环转换工作正常。
2. 同样,请确认在你所在域中,每台其它机器的主机名和 IP 地址之间的循环转换正
常。 3. 最后,请确认外部主机(位于 Internet 上)的主机名和 IP 地址之间的转换正常。 4. 运行 nslookup(首次执行时,可能会延迟一段时间)。
# nslookup Default Server: ns.Turbolinux.gr.jp Address: 192.168.0.2 Aliases: 2.0.168.192.in-addr.arpa >
现在,请检查你是否能提取自己机器的名称和 IP 地址,是否能提取位于你所在网络内
部和外部的其它主机的名称和 IP 地址。其结果应与下面所给出的类似:
你自己的机器
> ns.Turbolinux.gr.jp Server: ns.Turbolinux.gr.jp Address: 192.168.0.2
Name: ns.Turbolinux.gr.jp Address: 192.168.0.2
57
Page 69
> 192.168.0.2 Server: ns.Turbolinux.gr.jp Address: 192.168.0.2
58
Page 70
Name: ns.Turbolinux.gr.jp Address: 192.168.0.2
你所在域中的其它主机…
> unixi.Turbolinux.gr.jp Server: ns.Turbolinux.gr.jp Address: 192.168.0.2
Name: unixi.Turbolinux.gr.jp Address: 192.168.0.3
> 192.168.0.3 Server: ns.Turbolinux.gr.jp Address: 192.168.0.2
Name: ns.Turbolinux.gr.jp Address: 192.168.0.2
外部主机…
> blue.ocn.ne.jp Server: ns.Turbolinux.gr.jp Address: 192.168.0.2
Non-authoritative answer: Name: blue.ocn.ne.jp Address: 202.234.232.78
> 203.139.160.78 Server: ns.Turbolinux.gr.jp Address: 192.168.0.2
Name: blue.ocn.ne.jp Address: 202.234.232.78
注释: 在上面给出的所有示例中,你必须用自己的主机名和相应的 IP 地址替换对应的内容。
BIND 9
BIND 9
BIND 9BIND 9
缺省情况下,Turbolinux 将安装 BIND 9。使用文件 named.conf 可对 BIND 9 进行配置,
59
Page 71
它的结构与 C 语言类似,是按照四种主要类别来组织的:
• named settings(named 设置)
• hint file settings(hint 文件设置)
• primary zone settings(主区域设置)
• secondary zone settings(从区域设置)
下面给出了用于文件 named.boot 和 named.conf 的脚本示例:
/etc/named.conf (BIND 版本 9)
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers
* you want to talk to, you might need to uncomment * the query-source directive below. Previous * versions of BIND always asked questions using * port 53, but BIND 8.1 uses an unprivileged port
* by default. */ // query-source address * port 53 ;
}; zone "." {
type hint; file "named.root";
};
zone "0.0.127.in-addr.arpa" {
type master file "0.0.127.in-addr.arpa";
};
zone "Turbolinux.gr.jp" {
type master; file "Turbolinux.gr.jp";
};
zone "2.0.162.192.in-addr.arpa" {
type master; file "2.0.162.192.in-addr-arpa";
};
60
Page 72
下面给出了对某些/etc/named.conf 设置的解释:
options {...} 为区域文件目录的配置文件设置缺省值,等
等。
zone {...} 在区域文件中定义区域
当在区域语句中指定了“type hint”时:它就会调用根名称服务器、或由 file 所指定的
文件中的多个服务器。hint zone 与 BIND 4 中文件 named.boot 的缓冲相对应。
当指定了“type master”时:意味着由 file 所指定的文件将成为区域文件,而且 BIND
将作为该区域的主服务器启动。这与 named.boot 的主服务器相对应。
尽管在示例中未给出,当制定了“type slave”时,将生成主区域的一个副本。该设置是
针对从服务器的。
当指定了“type stub”时,仅生成 NS PR 的一个副本。同样,在示例中,也未给出该设
置。
同样在 BIND 9 中,可以针对各区域设置查询限制、区域传递等。
在下面,给出了针对专有区域、用于定义逆向查询文件的一个脚本示例。
zone "2.0.168.192.in-addr.arpa" {
type master; file "rev/.192.168.0.2"; masters {
192.168.0.2;
};
allow-query {
192.168.0.2/24; xxx.xxx.xxx.xxx/yy
127.0.0.1; };
allow-transfer {
192.168.0.2/24
61
Page 73
xxx.xxx.xxx.xxx/yy };
}
允许的公共网络地址被记作 xxx.xxx.xxx.xxx/yy。这样设置后,来自与 xxx.xxx.xxx.xxx/yy
不同的地址的所有查询和传输请求均将被拒绝。
我们建议,你应指定 allow-query(允许查询)和 allow-transfer(允许传输),用它来限
制名称服务器查询和区域传输请求,从而使得潜在的安全漏洞尽可能小。
邮件服务器
邮件服务器
邮件服务器邮件服务器
Turbolinux DataServer 7.1 采用了 Sendmail 作为其邮件传输代理(MTA,也称为报文传
输代理),这是最流行的邮件服务器。关于这个使用最广泛的程序,相应的文档和参考资料 十分丰富。不过,对 Sendmail 的配置有一定的难度,这或许是它最薄弱的地方。
Sendmail
邮件服务器 Sendmail 为多种 MTA 设置了标准。尽管设计 Sendmail 的目的是为了支持
不同于 SMTP 的邮件传输过程,但在本节中,我们将重点放在了解释 SMTP 的配置方面。
由于 Turbolinux DataServer 7.1 采用了 procmail 来处理本地消息,故在这里不讨论
mail.local 实用功能。
仅仅是安装它,并不能让 Sendmail 正常工作。你必须通过定制 sendmail.cf,创建一个
适合于自己网络 的邮件服务器。关于 Sendmail 的 最 新信息,请访问它的 Web 站点
http://www.Sendmail.org
带的文档。在 Turbolinux DataServer 7.1 中,该文档位于/usr/share/doc/packages/sendmail- doc 下的子目录内。在那里,你还能找到该文档的 PostScript 版本,可以直接将其打印出来。总
。关于安装和配置方面的帮助信息,请参阅 Turbolinux 发行版本所
体说来,该文档被称为“Sendmail Installation and Operation Guide”(Sendmail 安装和操作
手册) , 它 是由 Sendmail 有限公司的 Eric Allman 编 撰 的 。 在 站点
http://www.sendmail.org/~ca/email/
一节。
上还提供了该手册的在线版本,请参阅“Sendmail 文档”
62
Page 74
sendmail
sendmail 命令
sendmailsendmail
命令
命令命令
Sendmail 的运行时间选项是:
选项
选项 使用
选项选项
-bd 作为端口监督程序运行(端口
-bp 显示未发送的邮件队列 mailq
-bi 启用别名数据库 newaliases
-bt 在测试模式下运行
-bv 验证地址(不搜集或传递邮
使用 关联命令
使用使用
25)
件)
关联命令
关联命令关联命令
smtpd
测试操作
测试操作
测试操作测试操作
实际运行 Sendmail 前,必须测试它。关于测试模式下与 sendmail 有关的信息,请参阅 在线 的 man page,以及“Sendmail 安装和操作手册”中的合适章节(请参见 “Sendmail” 一节)。正如下面所阐述的那样,你还能够显示出在 cf 文件中定义的地址、查看它的实际 操作、并发送邮件。
• cf 地址定义的内容如下(使用 ns.test.co.jp 作为例子):
# sendmail -bt -d0 < /dev/null
Version 8.9.3
Compiled with: MAP_REGEX LOG MATCHGCOS MIME7T08
NAMED_BIND
NEINET NETUNIT NEWD NIS QUEUE SCANF SMTP USERDB XDEBUG
= = = = = = =SYSTEM IDENTITY (after deadcf)= = = = = =
(short domain name) $w = ns
(canonical domain name) $j = ns.test.co.jp
(subdomain name) $, = test.co.jp
(node name) $k = ns.test.co.jp
• 通过检验模式来检查递送过程
通过该操作,当邮件发送不能正常工作时,你就能发现错误所在。在下面的示例中,user1 指的是本地用户。
# sendmail -v user1 </dev/null
63
Page 75
user1 ... Connecting to pmlocal ...
user1 ... Sent
上面的系统应答证实:已执行了一项本地递送。
接下来,你可以尝试将邮件从另一台机器(例如,[email protected])发送到
[email protected]。假定 Sendmail 已经在 test.co.jp 的 MX 主机上运行。
# sendmail -v [email protected] < /dev/null
[email protected] to ns.test.co.jp.via esmtp...
220 ns.test.co.jp ESMTP Sendmail 8.9.3/3.7Wp12; Tue,
17 Aug 1999 20:56:16 +0900 >>> EHLO host1.Turbolinux.gr.jp 250-ns.test.co.jp Hello IDENT:root@[192.168.2.80], please to meet you 250-EXPN 250-Verb 250-8BITMIME 250-SIZE 250-DSN 250-ONEX 250-ETRN 250-XUSR 250-HELP >>>MAIL From:<[email protected]> 250 <[email protected]>... Sender ok >>> RCPT To:<[email protected]>...Recipient ok >>> DATA 354 Enter mail, end with "." on a line by itself >>> . 250 UAA00530 Message accepted for delivery [email protected]... Sent (UAA00530 Message accepted for delivery) >>> QUIT 221 ns.test.co.jp closing connection
通过这种方式,就能理解邮件发送的状态。这表明邮件发送能被恰当地执行。
启动
启动 Sendmail 端口监督程序
启动启动
端口监督程序
端口监督程序端口监督程序
64
Page 76
Sendmail 的启动脚本是/etc/rc.d/init.d/sendmail。
主要的启动脚本选项为“start”(启动)、“stop”(停止)和“restart”(重新启动)。 如果你更改了 Sendmail 的配置,就必须重新启动它,这样才能是所做的更改生效。 要想启动 Sendmail,可运行:
# /etc/rc.d/init.d/sendmail start
你可以启动 Sendmail 端口监督程序,并设置每小时要发送的队列。要想直接设置它们,
可执行:
# sendmail -bd -q1h
要想停止 Sendmail,可:
# /etc/rc.d/init.d/sendmail stop
要想重新启动 Sendmail,可:
# /etc/rc.d/init.d/sendmail restart
如果想检查 Sendmail 的当前状态,可运行:
# ps aux | grep sendmail root 351 0.0 3.7 1916 1164 ? S 08:13 0:00 sendmail : accepti
如果你未见到上面的响应,就表示 Sendmail 或是未运行,或是未安装 Sendmail。在这
种情况下,你将不得不重新启动 Sendmail(就像上面所介绍的那样),或者重新安装 Sendmail。
POP/IMAP
要想与客户端交换邮件,必须能够使用诸如 POP 或 IMAP 等服务。下面给出了对 POP
和 IMAP 的一般性介绍。
启动
启动 POP 服务器
启动启动
POP 服务器是通过超级服务器端口监督程序来运行的。由于其定义已在 xinetd 配置文
件目录中给出,你可以简单地将/etc/xinetd.d/pop-3 中“disable”的取值更改为“NO”。然
服务器
服务器服务器
后,运行下面给出的两个命令中的一个,重新启动 xinetd:
# killall -HUP xinetd # /etc/rc.d/init.d/xinetd restart
这将运行 POP 服务器。但是,由于有正在维护的访问控制,客户端必须具有恰当的权
限才能访问 POP 服务器。
65
Page 77
在文件/etc/hosts.allow 中添加了下行内容。在本例中,或是本地地址、或是许可的地址
将成为 IP 地址,如 192.168.2.0 等。
pop-3 : 192.168.2
如果允许该主机使用所有的服务,会添加下行内容:
ALL : 192.168.2.
关于更多的信息,请参见第 2-5 页上的“xinetd”一节或第 2-10 页上的“访问控制”。
启动
启动 IMAP 服务器
启动启动
服务器
服务器服务器
由于 IMAP 服务器也 是通过超级服务器端口监督程序来运行的,你只需要将文件
/etc/xinetd.d/imap 中的“disable”值更改为“NO”即可。
然后重新启动 xinetd。如果需要文件 hosts.allow 中的某项设置,那么也应将其反映出来。
邮件管理
邮件管理
邮件管理邮件管理
邮件管理包含下述任务:
• 建立邮件缓冲区,为单独用户保存未阅读的邮件。
• 设置邮件转发功能。
• 管理邮件队列。
66
Page 78
邮件缓冲区
邮件缓冲区
邮件缓冲区邮件缓冲区
当邮件服务器收到邮件并将邮件 发送给本地用户时,邮件将保存在每个用户的文件
/var/spool/mail 中。在该文件中,包含用户尚未阅读的消息。每次分发新邮件时,都会将新 邮件附在该文件上。
在下面的示例中,给出了针对用户 foo 和 student1 的邮件缓冲区:
# ls -l /var/spool/mail
-rw-rw---- 1 foo root 329 Aug 18 17:08 foo
-rw-rw---- 1 student1 root 5156 Aug 01 08:00 student1
-rw------- 1 rppt rppt 6812 Aug 18 18:23 root
当用户提走他的邮件时,邮件缓冲区将被清空。如果在用户读取邮件的过程中出现中断,
那么该邮件将以 mbox 格式保存在用户主目录下的文件中。
邮件别名提供了这样一种功能,可以将一个接收地址替换为一个或多个易于理解的接收
地址。一 般而言,别名功能可被用于,为邮件服务器上的本地用户账户指定替代的名称,或 将定址为一个目标的邮件分发给多位人员。
用于别名功能的标准文件是/etc/mail/aliases。该文件的格式是“local account: alias”(本
地账户:别名)。因此,要想为本地账户“user1”指定别名“foo”,可以:
user1: foo
这样,user1 也能接收针对 foo 的邮件。
此外,使用下面的设置,也能将一般情况下针对超级用户(root)的错误信息发送给 foo
和 student1。
root: foo,student1
更改了任何别名设置后,要 想确保在别名数据库中反映出这些变动,应使用下述命令执
行更新操作:
# newaliases
邮件转发(
邮件转发(~.forward))))
邮件转发(邮件转发(
使用该项功能,可将目标为你自己的邮件转发给不同的地址。
文件.forward 被放在单独用户的主目录下。例如,如果将目标地址为 [email protected] 的所
有邮件转发给 [email protected],可以用所需的目标地址创建文件/home/foo/.foward:
67
Page 79
现在,目标地址为 [email protected] 的邮件不会被发送到 foo 的邮箱中,而是会被发送到
管理邮件队列
管理邮件队列
管理邮件队列管理邮件队列
出于某种原因,不能正确发送邮件时,会将该邮件临时保存在目录/var/spool/mqueue 下,
以后再发送。
要想查看邮件队列中的内容,可运行:
# mailq
每隔一定的时间间隔,就会再次发送位于该队列中的邮件。如果采用了启动脚本来运行
它,大约每隔一个小时会再次发送(带选项-qlh)。如果打算强制执行重新发送,可运行:
# sendmail -q –v
位于“queue”(队列)目录下的邮件会被分成数个部分,并被保存在多个单独的文件
中。文件类别是:
文件标识符
文件标识符 解释
文件标识符文件标识符
Df Qf
解释
解释解释 消息主体
队列控制文件(和题头) Xf 副本文件 Tf 用于 qf 重写的临时文件
按下述方式运行命令 ls,可查看邮件队列:
# ls /var/spool/mqueue dfPAA01994 qfPAA01994
上述响应表明,对于队列 ID PAA01994 来说,存在一个邮件队列控制文件(qf)和一
个消息主体文件(df)。
如果出于某种原因,删除了队列中的邮件,应立刻删除该目录下的这些文件。执行该类
操作时,不要将邮件的 ID 弄混。
# cd /var/spool/mqueue # rm *PAA01994
通过伪造队列内容等方式,可以很容易地开启安全漏洞,正因为如此,只有超级用户(root)
才有权读取和更改 mqueue 目录。你可以按下述方式设置该许可:
# chmod 700 /var/spool/mqueue
68
Page 80
Web
Web 服务器(
服务器(HTT
WebWeb
服务器(服务器(
Web 服务器也称为 WWW 服务器或 HTTP 服务器,它能支持 WWW 上的超文本协议。
它采用了 HTTP 协议来下载和显示客户端(例如,浏览器)所请求的文档、任何相关的 HTML
文件、图形和脚本。
HTTP 是一种用于交换由 HTML 所写的 Web 文件的协议。简而言之,它是一种 Web 服
务器,能够为使用 HTTP 协议的 Web 页面提供服务,它是公共 Web 站点服务器端的一种独 立的程序。通过下面所列的 Web 站点,可以了解到有关 WWW、HTTP 和 HTML 方面的信
息:
• WWW (环球网) http://www.w3.org/WWW/
• HTTP (超文本传输协议) http://www.w3.org/Protocols/
HTTPPPP 服务器)
HTTHTT
服务器)
服务器)服务器)
• HTML (超文本链接标示语言) http://www.w3.org/MarkUp/
世界上的第 1 个 Web 服务器是在 1991 年 6 月,以 CERN(欧洲粒子物理研究所)的
httpd 和 NCSA(美国国家超级计算应用中心)的 HTTPd 形式发布的。现在,对这两种版本 的开发均已停止(CERN 的 httpd 于 1996 年四月停止开发)。自那以来,不断开发出了各种
基于 Java 的 Web 服务器,如 Jigsaw,以及 世界上最流行的 Web 服务器 Apache(阿帕奇)。 下面给出了数个与这些服务器有关的 Web 站点:
• CERN(欧洲粒子物理研究所),http://www.cern.ch/
• CERN httpd,http://www.w3.org/Daemon/
• NCSA((美国国家超级计算应用中心)),http://www.ncsa.edu/
• NCSA HTTPd,http://hoohoo.ncsa.uiuc.edu/
• W3C(WWW 联盟),http://www.w3.org/
• Jigsaw,http://www.w3.org/Jigsaw/
• Apache,http://www.apache.org/
Apache
Apache(阿帕奇)概述
ApacheApache
(阿帕奇)概述
(阿帕奇)概述(阿帕奇)概述
Apache 是世界上使用最广泛的 Web 服务器。根据 1999 年 2 月的数据,世界上一半以 上的 Web 服务器运行的都是 Apache。它已成为事实上的标准。它由 Apache 项目组负责开 发。Apache 是一种免费、稳定、快速和易于管理的 Web 服务器。它具有丰富、良好的特性, 而且它的源代码是向公众公开的。
69
Page 81
从开发者“Apache 项目组”的 Web 站点上,可以获得有关 Apache 方面的信息。Ezine ApacheWeek 也提供了有关 Apache 的信息。
• The Netcraft Web Server Survey,http://www.netcraft.com/survey/
• Apache Project,http://www.apache.org/
• About Apache Project,http://www.apache.org/ABOUT_APACHE.html
• ApacheWeek,http://www.apacheweek.com/
在 Internet 上,通过 Apache 项目的 Web 站点和多种镜像站点,可以了解最新的新闻和 信息,以及下载最新的版本。
• Apache Project 下载站点:http://www.apache.org/dist/
• Apache Project 镜像站点:http://www.apache.org/dyn/closer.cgi
启动和停止
启动和停止 httpd
启动和停止启动和停止
Apache 的核心由端口监督程序 httpd 构成,可用脚本/etc/rc.d/init.d/httpd 来运行
使用命令行选项,可启动、停止、重新启动 httpd、或检查 httpd 的状态。
无论何时,当你更改了 httpd 的设置时,都必须重新启动 httpd,以使所作的更改生效。
启动 httpd:
# /etc/rc.d/init.d/httpd start
httpd
httpdhttpd
停止 httpd:
# /etc/rc.d/init.d/httpd stop
重新启动 httpd:
# /etc/rc.d/init.d/httpd restart
检查 httpd 的当前状态:
# /etc/rc.d/init.d/httpd status
如果 httpd 正在运行,使用 ps 命令可显示与下面类似的应答信息:
# ps aux|grep httpd
nobody 351 0.0 3.7 1916 1164 ? S 08:13 0:00 httpd
如果你未能见到上述应答信息,就表明未运行 httpd 或未安装 httpd。你可能不得不启动、 重新启动、或安装 Apache。
70
Page 82
通常情况下,使用其缺省设置安装完后,Apache 会直接启动。通过运行在另一台主机 上的浏览器,将 IP 地址作为 URL(统一资源定位符)输入,尝试访问 Apache。会见到 Apache 开头的样本 Web 页面。
httpd
httpd 配置
httpdhttpd
文件
文件 目的
文件文件
/etc/httpd/conf/httpd.conf 针对运行 httpd 端口监督程序的总 配置文件 /etc/httpd/conf/srm.conf 针对所要服务的 HTML 文档的细节设置 /etc/httpd/conf/access.conf 访问控制设置 etc/httpd/conf/mime.types MIME(多用途网际邮件扩充协议)文件类型列表
设置,就能利用这些特性。下面,介绍了几项基本内容。事实上,为了保持配置的统一,配 置文件 srm.conf 和 access.conf 中的内容都移到了 httpd.conf 中。
配置
配置配置
httpd 需要四个配置文件。它们各自的通常位置、文件名称和主要目的如下:
目的
目的目的
Apache 的一项重要特点在于它具有良好的特性。在上面介绍的合适的配置文件中进行
httpd.conf
在文件/etc/httpd/conf/httpd.conf 中,能够发现多种以整体方式作用于 httpd 操作上的设 置。在这里,你也可以为 Apache 定义扩展模块。
要想检查 httpd.conf 的内容,可运行:
# less /etc/httpd/conf/httpd.conf
你应能见到与下面所给出的内容类似的系统响应(部分):
LoadModule mmap_static_module
/usr/libexec/mod_mmap_static.so
LoadModule vhost_aliases_module
/usr/liberec/mod_vhost_alias.so
LoadModule env_module /usr/libexec/mod_env.so
LoadModule config_log_module
/usr/libexec/mod_log_config.so
LoadModule agent_log_module
/usr/libexec/mod_log_agent.so
AddModule mod_mmap_static.c
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
71
Page 83
AddModule mod_log_agent.c
ServerType standalone
Port 80
HostnameLookups off
User nobody
Group nobody
ServerAdmin root@localhost
ServerRoot "/home/httpd/html"
ErrorLog /var/log/httpd/errpr_log
对这些基本设置(指令)的解释如下:
[Load Module] [Add Module]
Apache 的一项优异特性在于它是从多个模块构造的。该指令告诉 Apache 对扩展模块进 行加载。
[ServerType]
该指令告诉 Apache(httpd),或是以独立模式启动(缺省情况),或是作为超级服务 器 xinetd 的一部分进行启动。如果没有相反方面的特殊理由,建议使用缺省方式,即独立模 式。
[Port]
Apache(httpd)会设置用于接收客户端请求的端口号(缺省设置为 80)。除非你打算 为某一特殊用户运行 Apache,或允许超级用户(root)以外的他人运行 httpd,否则,你均应使 用缺省设置,即端口 80,众多知名的服务均使用该端口。
[HostnameLookups]
该指令可以对客户端访问请求的存取日志进行设置,使其使用 IP 地址或主机名。一开 始时,这被设置为“OFF”,这表示将记录 IP 地址。建议使用其初始设置。
[User] [Group]
在这里设置了 httpd 进程的用户 和组所有者。在开始 情况下,这两者均 被设置为了 “nobody”。之所以采用“nobody”设置,是因为可能存在大量的、难以判断的访问数量,
而且从安全角度看,对 访问权限几乎没有限制。你必须格外小心,正确地配置用户和组许可 设置。
72
Page 84
[ServerAdmin]
用来为 Apache(httpd)系统管理员设置邮件地址。初始值为 root@localhost。无论何时,
当出现任何故障时,会向该地址发送邮件。缺省设置的系统管理员地址已很好,但是,当有 一个以上的人员负责管理 Web 站点时,在这为所有的 Web 系统管理员指定一个邮递列表, 通常情况下会更为方便。
[ServerRoot]
这是配置文件所在的目录。在缺省情况下是/etc/httpd。建议不要改变这个位置。
[ErrorLog]
这是保存错误消息的文件。缺省情况下,该 文件是 logs/error_log。对该文件的指定是相 对于在[ServerRoot]指令中指定的目录而言的。如果你打算使用虚拟主机,可为每一个虚拟 主机指定单独的错误日志文件。
[LogFormat] [CustomLog]
在 LogFormat 中指定了存取日志格式,保存访问日志的文件由 CustomLog 指定。如果 你打算使用虚拟主机,可为每一个虚拟主机指定单独的日志文件。
srm.conf
要想查看/etc/httpd/conf/srm.conf 的内容,可运行:
# less /etc/httpd/conf/srm.conf
你将看到与下面类似的内容(只给出了部分):
DocumentRoot /home/httpd/html
UserDir public_html
DirectoryIndex index.html index.shtml index.cgi
FancyIndexing on
ReadName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS
AccessFileName .htaccess
TypesConfig /etc/http/cong/mime.types
73
Page 85
Alias /icons/ /home/httpd/icons/
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
对这些基本设置(指令)的解释如下:
[DocumentRoot]
指定了用于组织 HTML 文件的最顶层目录。
[UserDir]
可被公开的用户目录。
[DirectoryIndex]
指定了将显示的文件名,缺省情况下,用于未指定名称的文件。
[Alias]
除了在 DocumentRoot 中指定的外,给出了某一目录的替代名称。
[ScriptAlias]
指定了保存可执行文件(如 CGI 脚本)的目录的替代名称。
access.conf
要想查看 access.conf 文件的内容,可运行:
# less /etc/httpd/conf/access.conf
你将看到与下面类似的内容(只给出了部分):
<Directory />
Options None
AllowOverride None
</Directory>
<Directory /home/httpd/html>
Options Indexes Includes FollowSymLinks
AllowOverride None
order allow, deny
allow from all
</Directory>
74
Page 86
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
文件 access.conf 的格式类似于 HTML。从<Directory directoryname>到</directory>,指 定目录中的设置将被执行。
在缺省情况下,它们被设置为:根目录(/),HTML 目录(/home/httpd/html),以及 cgi-bin 目录(/home/httpd/cgi-bin)。但你也可以添加其它的内容。
[Options]
主要选项有: None 所有选项均无效 All 所有选项均有效
Indexes 未设置 srm.conf
以列表方式显示目录。
ExecCGI 执行 CGI 脚本的许可 Includes 执行 SSI(服务器端包含)的许可 IncludesNOEXEC 给定了执行 SSI(服务器端包含)的许可,但不允许通
过命令#exec 和#include 来执行 CGI
FollowSymLinks 允许使用符号链接 SymLinksIfOwnerMatch
只有当目标文件和符号链接的所有者相同时,才允许 使用符号链接
的
DirectoryIndex(目录索引)时,将
[AllowOverride]
当存取控制文件.htaccess 可用时,可使用它。它能使用的选项如下:
None 禁止所有的.htaccess 选项 All 开启所有的.htaccess 设置 AuthConfig 仅允许与认可有关的.htaccess 设置 FileInfo 仅允许与文件格式有关的.htaccess 设置 Indexes 仅允许针对列表的.htaccess 设置 Limit 仅允许针对访问控制的.htaccess 设置 Options 仅允许针对目标目录的.htaccess 定义
75
Page 87
76
Page 88
[order]
为访问许可和拒绝设置决断的先后顺序。可用选项如下:
Allow,deny 按允许、拒绝顺序 Deny,allow 按拒绝、允许顺序 Mutual-failure 仅当同时满足和允许和拒绝条件时,才授予许可权限
[allow from] [deny from]
设置访问许可和拒绝条件。可用选项如下:
All 允许所有的访问,或拒绝所有的访问请求 Domain name 允许来自指定域的访问,或拒绝来自指定域的访问 IP address 允许或拒绝来自指定 IP 地址的访问
采用
采用 SSL
采用采用
协议层(SSL)功能。
下面的“Including mod_ssl”),并重新启动 Apache。此外,为了运行安全服务器,还需要 一个已在证书权威部门(CA,如 VeriSign)注册的密钥。请按照这些公认的权威部分给出 的步骤,创建并注册密钥。
SSL 的安全站点组织
的安全站点组织
SSLSSL
的安全站点组织的安全站点组织
Turbolinux DataServer 7.1 中的 Apache 包括扩展模块,mod_ssl,用 它来提供安全套接字
如果你打算使用 SSL 来设置安全站点,应去掉可用的 Apache 配置文件的注释(请参见
Including mod_ssl
要想包含 mod_ssl,请将文件/etc/httpd/conf/httpd.bootopt 中下述行前的注释删掉。
# HTTPDOPT=-DSSL/mod_ssl is not included (initial setting)
HTTPDOPT=-DSSL /mod_ssl is included
删除掉注释标记后,重新启动 Apache。
77
Page 89
要想检查是否已包括了 mod_ssl,可使用 Web 浏览器访问:
https://xxx.xxx.xxx.xxx
其中,xxx.xxx.xxx.xxx 是你自己服务器的 IP 地址。
CA(证书授权机构)
(证书授权机构)
(证书授权机构)(证书授权机构)
CA 是证书授权机构的缩写,这类机构负责签发数字 ID,负责 签发可在电子邮件、Web 页面等处作为数字签名使用的数字证书。添加在 Internet 或电子邮件消息上的数字签名可以
帮助证实:该消息是由声称的作者编写的,而且未被改变。通常情况下,这类证实是通过使
用由作者所拥有的公共密钥来执行的。一个数字 ID 就是一个证据,表示该公共密钥是准确 的,而且拥有该公共密钥的人员确实存在。
在美国,这些证书服务是由 VeriSign 提供的。它的 Web 站点是http://www.verisign.com
SSL 协议
协议
协议协议
。
SSL(加密套接字协议层)协 议 是有 Netscape Communications 开发的。SSL 协议运行在 TCP/IP(传输控制协议/Internet 协议)协议的顶层,除了与 HTTP 一起使用外,还能用在其
他方面。其目的就是为了拓展实施了数种协议(如 TELNET、FTP、网络新闻传输协议 NNTP、 以及轻型目录访问 LDAP)的应用的使用范围。要想实际使用它,你必须有一个配备了 SSL 的应用程序。
公共站点设置示例
公共站点设置示例
公共站点设置示例公共站点设置示例
Apache 通过目录方式来设置访问控制。可以通过文件 access.conf 来进行配置,或用放 置在你希望控制的目录之下的一个.htaccess 文件来进行配置。
例如,如果你只允许来自公司(Turbolinux.gr.jp)内部的主机访问/home/httpd/html/secret 目录下的文件,那么你的 access.conf 应与下面给出的类似:
<directory /home/httpd/html/secret>
order deny,allow
deny from all
allow from .Turbolinux.gr.jp
</directory>
78
Page 90
如果你打算使用.htaccess 文件,它应与下面的内容类似:
order deny,allow
deny from all
allow from Turbolinux.gr.jp
FTP
FTP 服务器
服务器
FTPFTP
服务器服务器
FTP 服务器采用了同名协议(FTP)来为客户端请求提供服务,可为位于局域网 LAN、 企业内部网络 Intranet、或 Internet 上的多台主机提供文件传输服务(下载或上传)。
要想使用 ftp,每个客户端在远程 FTP 服务器上都必须拥有一个账户。在一个公共Internet
FTP 站点上,为了满足大量没有“名称”用户的需求,采用了“anonymous”(匿名)或简 单的“ftp”作为通用的账户名,允许任何用户登录到 FTP 服务器。
ProFTPD
在 Turbolinux DataServer 7.1 中,FTP 服务是由 ProFTPD提供的。ProFTPD(专业 FTP 端口监督程序)最初是由“Floody”开发的,目前对它的开发由“MacGyver”(也称为 Habeeb
J. Dihu)牵头,很多志愿的自由软件开发人员也投入了其中。ProFTPD 的主 Web 站点是 http://www.proftpd.net。邮件列表位于 http://www.proftpd.org/proftpd-l-archive/。在发行版本 中,该程序的名称是 proftpd,全部是小写字母。
Running ProFTPD
能够按下述两种模式中的任何一种运行 ProFTPD:
• 独立模式
• 超级服务器模式
用超级服务器 xinetd 来运行 proftpd 时,没有可供 xinetd 使用的缺省的配置文件。开始 时,必须以超级用户(root)身份运行 ProFTPD。ProFTPD 使用了标准的 syslog 机制来记录错
误。请参见/var/log/messages。
要想在独立模式下启动 ProFTPD,应以超级用户(root)身份,在命令行下简单地键入下
述命令即可:
# proftpd &
如果想检查 proftpd 是否正在运行,可:
79
Page 91
ps ax | grep proftpd
4296 ? S 0:00 proftpd (accepting connections)
如果在进程列表中未出现 proftpd 进程,或是因为未运行它;或是因为 proftpd 是从 xinetd 执行的,但在目前没有活动的会话进程。
如果 proftpd 正在运行,可以尝试着用下述命令来使用 ftp:
ftp localhost
jon@plumtree:~$ ftp localhost
Connected to localhost.
如果出现了上述消息,就表示 ftp 工作正常。
基本配置
基本配置
基本配置基本配置
ProFTPD 的配置文件是/etc/proftpd/proftpd.conf。
在这里,我们对 ProFTPD 进行了这样的设置,使其作为带有单个匿名登录帐户的单服 务器运行。ProFTPD 服务器是以组“nobody”的“nobody”用户身份运行的。登录到公共 服务器的匿名 ftp 客户端将被视为用户“ftp”或“ anonymous”(匿名),“anonymous”被 设置为用户“ftp”的别名。在你的/etc/group 文件中,在包括系统上所有组的列表中应包含 名为“nobody”的组。在你的/etc/passwd 文件中,应包含名为“ftp”的用户。注意,在缺省 情况下,安装 Turbolinux DataServer 7.1 时,会添加组“nobody”和用户“ftp”。
请使用 cd 命令切换到目录/usr/share/doc/packages/proftpd/sample-configurations/,并查看 文件 basic.conf,这是关于 ProFTPD 初始配置的典型示例。如果你打算设置两个匿名目录和 一个访客账户,可使用该目录下的示例文件 anonymous.conf。访 客 账 户与匿名账户相同,但
需要有效的密码。
在 Turbolinux DataServer 7.1 中,在缺省情况下,文件 basic.conf 被简单地复制为文件
/etc/proftpd/proftpd.conf,以作为 ProFTPD 的初始配置。
ProFTPD 支持多种认证方法。缺省时采用了 PAM。关于 PAM 的详细信息,请参见文 件/usr/share/doc/packages/proftpd/README.PAM。
ProFTPD 还具有很多其他特性,如在非标准端口上运行的能力、控制上传/下载率、在 xinetd 下使用、添加另一个匿名登录或访客账户等等,要想了解这些信息,请查看 proftpd 的 的 man page、或访问上面所提到的 Web 站点。
80
Page 92
除了配置文件/etc/proftpd/proftpd.conf 外,与 proftpd 有关的其他文件还有:
/usr/sbin/proftpd
/usr/bin/ftpwho
/usr/bin/ftpcount
/usr/sbin/ftpshut
/var/log/xferlog
/var/run/proftpd-[pid]
/var/run/proftpd.pid
/var/run/proftpd-inetd
还能使用 Turbolinux 的工具 chkconfig 或 ntsysv,来启动和停止 proftpd。
81
Page 93
第
第 4444 章
第第
存在数种服务器,对于 Intranet 上的主机之间的信息和资源共享来说,它们是很基本的。 在本章中,我们介绍了一些与下述服务器有关的信息:
• Samba::::
提供了将 MS Windows 系统和 UNIX 系统(如 Turbolinux)集成起来的功能,这样,在
运行 Windows 的系统和运行 UNIX 的系统之间就能共享诸如文件、打印服务器等资 源。
• Netatalk::::
在 Linux 内核程序中实施了 AppleTalk 协议,能在 Macintosh 和 UNIX 系统之间提供资 源共享。
章 Intranet
Intranet 服务器
章章
Intranet Intranet
服务器
服务器服务器
• Portmapper::::
也称为 portmap,提 供 了执行 RPC 调用所需的支持,能与 NFS 和 NIS 服务器进行通信。
• NFS::::
网络文件系统,允许在 UNIX 和 Windows 系统之间进行文件共享。
• NIS::::
在 Intranet 上,使得针对各种资源的名称和位置的中央数据库更容易实施。NIS 还简化 了各种程序对 Intranet 资源的访问。
82
Page 94
Samba
Samba 是一种免费、开放的软件包资源,它实施了用于 UNIX 的服务器信息块(SMB) 协议,使用它可将 Windows 操作系统与 UNIX 系统集成在一起。有了 Samba,在 UNIX 系
统(如 Linux)和微软的 Windows 系统之间共享资源成为了可能,因此,可 以为这两类操作 系统提供价廉物美的的文件服务器、打印服务器等。SMB 也被称为公共 Internet 文件系统, LAN(局域网)管理器或 NETBIOS 协议。
此外,通过在 Windows 系统上运行 Samba 客户端程序,就能从 Windows 系统访问 UNIX 资源。(在此,我们不讨论 Samba 客户端程序。要想了解这方面的详细情况,请参阅 smbclient
的 的 man page。关于全部 Samba 套件的介绍,请参见 samba 的 man page)
Samba 是由澳大利亚的程序员 Andrew Tridgell 开发出来的,于 1992 年问世。目前对它 的开发由 Samba 团队负责管理。
Turbolinux DataServer 7.1 使用的版本是 Samba-2.2.1。从 Samba 团队的公共 Web 站点, 可以了解 Samba 的更多信息以及最新的版本,地址是:http://www.samba.org/
Samba
Samba 套件
SambaSamba
套件
套件套件
Samba 由下述部件组成:
• smbd 服务器端口监督程序,能向 Windows 客户端提供文件共享和打印服务。
• nmbd 提供了 NetBIOS 命名服务和浏览支持。
• smbclient 允许 UNIX 机器将打印件发送到位于 Windows 机器上的打印机处 。
• testparm 用于测试 smb.conf 配置的生存能力。
• testprns 测试文件 printcap 中定义的打印机。
• smbstatus 列出与 SMB服务器的当前连接。它还能显示当前正在运行的 Samba 版本。
• nmblookup 允许从 UNIX 端执行 NetBIOS 名称查询。
。
• make-smbcodepage 为 smbd 服务器创建 SMB 代码页定义文件。
• smbpasswd 在 Samba 和 Windows 上改变加密的 SMB 密码。
此外,还有一个基于 HTTP 的配置界面,称为 SWAT(Samba Web 管理工具),该工 具允许用户通过浏览器来配置 smb.conf,可以按本地方式,也可以通过 Internet。详情请参 见 swat 的 man page。
83
Page 95
Samba
Samba 启动模式
SambaSamba
以运行在超级服务器模式下(xinetd)。此外,当从超级服务器 xinetd 启动 Samba 时,通过 使用 TCP_Wrapper,能达到更好的安全性。需要指出,Samba 能在下述三种模式下运行:
独立模式
独立模式
独立模式独立模式
启动模式
启动模式启动模式
Samba 可以运行在独立模式下,此时 Samba 端口监督程序会始终处于调用状态;也可
• 独立模式
• 超级服务器模式
• 带 TCP_Wrapper 的超级服务器模式
缺省情况下,Turbolinux DataServer 7.1 会在独立模式下启动 Samba。在本手册中,只介 绍独立模式。
启动和停止
启动和停止 Samba
启动和停止启动和停止
Samba
SambaSamba
Samba 的启动脚本位于/etc/rc.d/init.d/smb。
该启动脚本可使用下述选项:“start”(启动)、“stop”(停止)、“restart”(重新启动)和 “status”(状态)。
无论何时,更改了 Samba 配置后,必须重新启动 Samba,才能使所作的更改生效。
启动 Samba:
# /etc/rc.d/init.d/smb start
停止 Samba:
# /etc/rc.d/init.d/smb stop
重新启动 Samba:
# /etc/rc.d/init.d/smb restart
检查 Samba 的状态:
# /etc/rc.d/init.d/smb status
你还可以使用 ps 命令来检查 Samba 是否正在运行:
# ps aux | grep smb
84
Page 96
root 766 0.2 0.2 1764 732 ? S 08:13 0:00 smbd –D
如果你未见到上面所示的响应,Samba 可能未运行,也可能是未安装它。在这种情况下, 如果已经安装了 Samba,应重新启动它;或安装 Samba,然后启动之。
Samba
Samba 配置
SambaSamba
SWAT(Samba Web 管理工具)的配置工具也能修改文件 smb.conf,可通过浏览器来使用该 工具。关于这点,将在稍后解释。
元组成,每个单元的开头是一个被方括号“[]”括住的名称。该名称将成为文件共享的符 号。除[printers]单元外,每个单元都必须与一个目录对应。例如:
配置
配置配置
首先,我们将解释服务器端的设置。我们将解释直接修改配置文件的方法。使用名为
Samba 是从文件/etc/samba/smb.conf 得到其设置信息的。这是一个文本文件,由几个单
[public]
path=/home/samba/public
这意味着,[public]单元中的设置适用于目录/home/samba/publ ic。单 元名称[global]、 [homes]、以及[printers]保留给系统使用。
[global] 适用于 Samba 整体的设置
[homes] 适用于共享主目录的设置
[printers] 适用于共享打印机的设置
文件/etc/samba/smb.conf 保留配置会简单地运行 smbd 以及大多数可用的 Samba 特性。 但是,出于安全考虑,你应对 smb.conf 进行编辑,反映出使用它的环境。
典型情况下,文件/etc/samba/smb.conf 包含如下内容:
[global]
coding system = euc client code page = 932 workgroup = WORKGROUP server string = Samba %v encrypt passwords = Yes map to guest = Bad User dns proxy = No
85
Page 97
guest account = smbguest
[homes]
comment = %U’s home directory read only = No
browseable = No
[printers]
comment = All Printers path = /var/spool/samba print ok = Yes browseable = No
[private]
comments = Private space; one can write one’s own files. path = /home/samba/private read only = No
[public]
comment = Public space; anyone can write any files path = /home/samba/public guest ok = Yes read only = No force group = public force create mode = 0664 force directory mode = 0775
[tmp]
comment = Read only file space path = /tmp guest ok = Yes
下面,将分别解释上面所列的每一个代码单元。
[global](全程)单元
(全程)单元
(全程)单元(全程)单元
全程单元[global]位于文件 smb.conf 的前面,列出了适用于整个 Samba 的设置。下面, 将分别介绍每种设置:
coding system(编码系统)
应使该设置保持其初始的缺省值。
(编码系统)
(编码系统)(编码系统)
86
Page 98
client code page(客户端代码页)
(客户端代码页)
(客户端代码页)(客户端代码页)
应使该设置保持其初始的缺省值。
workgroup(工作组)
(工作组)
(工作组)(工作组)
确定了 Window 网络 的 NT 域名,或 Samba 服务器所属的工 作组。 初 始 值 为 “WORKGROUP”。
server string(服务器字符串)
(服务器字符串)
(服务器字符串)(服务器字符串)
通过已联网计算机上的 Window 客户端进行浏览时,该字符串会出现在“comment”(注 释)一栏中。对 Turbolinux DataServer 7.1, 缺省值是 Samba Server.
encrypt passwords(加密密码)
(加密密码)
(加密密码)(加密密码)
当客户端访问 Samba 服务器时,用于控制是否要检查加密密码。可以将该参数设置为 “Yes”或“No”。初始值是“Yes”。
缺省情况下,Windows NT 4.0 SP3 和更高的版本、以及 Windows 98 要求使用加密密码。 因此,必须将参数设置为“Yes”。稍后,我们将给出有关配置加密密码的更多信息。
map to guest(映象到访客)
(映象到访客)
(映象到访客)(映象到访客)
该参数会告诉 smbd,当遇到来自某一用户的请求,而且该用户与已注册的 UNIX 用户 账户不完全匹配时,应采取什么行动。可以取下面所列的三个值之一。初始取值是“Bad User ” (不良用户)。
Never(从不) 拒绝使用无效密码的登录请求 Bad User(不良用户) 如果用户名无效但密码有效,将被视为访客登录,并被映射
到“guest account”(访客账户),关 于 这点,将在稍后解释。
Bad Password(不良密码) 如果用户名有效但密码无效,将被视为访客登录,并被映射
到“guest account”(访客账户),关 于 这点,将在稍后解释。
你应将该参数设置为“Never”或“Bad User”。使用“Bad Password”时要当心,这是 因为,错误地输入了自己密码的用户将以“guest”身份登录。不会给出错误信息,因此, 用户很可能会纳闷为什么不能访问他(或她)自己的文件和目录。
dns proxy((((DNS 代理)
代理)
代理)代理)
当无法找到 NetBIOS 名称时,该设置会指出是否要将该名称作为给定的 DNS名称对待。 该参数必须是“Yes”或“No”。缺省值是“No”。
87
Page 99
guest account(访客账户)
在该单元中,如果将参数设置为 guest ok=Yes,那么它就是用来访问服务的用户名。
缺省值是 pcguest。
主目录单元
主目录单元[homes]
主目录单元主目录单元
(访客账户)
(访客账户)(访客账户)
本单元用于保存适用于用户主目录的设置。
comment(注释)
对这里所给出的目录的一些解释。通过已联网计算机上的 Window 客户端浏览该目录 时,该字符串会出现在“comment”(注释)一栏中。缺省值是“%U 的主目录”,其中, 变量%U 将被 Samba 服务器上的登录名取代。例如,如果用户的名称是“pat”,那么将显 示“pat 的主目录”
Writable(只读)
用于决定用户主目录是否允许写入。该参数必须是“Yes”或“No”,缺省值为“No”。
(注释)
(注释)(注释)
(只读)
(只读)(只读)
browseable(可浏览)
通过已联网计算机上的 Window 客户端浏览该目录时,该字符串会出现在“comment”
(注释)一栏中。该参数必须是“Yes”或“No”,缺省值为“No”。
打印机单元
打印机单元[printers]
打印机单元打印机单元
(可浏览)
(可浏览)(可浏览)
本单元用于保存适用于共享打印机的设置。
comment(注释)
对这里所给出的打印机的一些解释。通过已联网计算机上的 Window 客户端浏览该目录 时,该字符串会出现在“comment”(注释)一栏中。缺省值是“All Printer”(所有的打印 机)。
path(路径)
指定了打印缓冲目录的完整路径,缺省值是“/var/spool/samba”。
(注释)
(注释)(注释)
(路径)
(路径)(路径)
writable(打印
用于决定是否允许用户对打印缓冲文件进行写入操作。该参数必须是“ Yes”或“ No”, 缺省值为“Yes”。
browseable(可浏览)
(打印 OK))))
(打印(打印
(可浏览)
(可浏览)(可浏览)
88
Page 100
通过已联网计算机上的 Window 客户端浏览该目录时,用 于 决定是否显示打印机。该参 数必须是“Yes”或“No”,缺省值为“No”。
私有单元
私有单元[private]
私有单元私有单元
在本单元中给出了一个示例,指出了当你打算共享私人目录时,可使用些什么。该单元 不是必需的,但在很多场合,可能需要它。
该单元的名称就是共享目录的名称。在这里,将共享目录设置为“public”。
comment(注释)
包含对目录的一些解释。通过已联网计算机上的 Window 客户端浏览该目录时,该 字符 串会出现在“comment”(注释)一栏中。缺省值是“Private space; one can write one’s own files” (私人空间,某人能更改其自己的文件)。
path(路径)
指定了共享目录的完整路径,缺省值是“/home/samba/private”。
writable(可写)
用于决定用户主目录是否允许写入。该参数必须是“Yes”或“No”,缺省值为“No”。
(注释)
(注释)(注释)
(路径)
(路径)(路径)
(可写)
(可写)(可写)
公共单元
公共单元[public]
公共单元公共单元
在本单元中给出了一个示例,指出了当你打算共享公共目录时,可使用些什么。该单元 不是必需的,但在很多场合,可能需要它。
comment(注释)
包含对目录的一些解释。通过已联网计算机上的 Window 客户端浏览该目录时,该 字符 串会出现在“comment”(注释)栏中。缺省值是“Public space; anyone can write any files” (公共空间,任何人都能写入任何文件)。
path(路径)
指定了共享目录的完整路径,缺省值是“/home/samba/public”。
guest ok(访客
(注释)
(注释)(注释)
(路径)
(路径)(路径)
(访客 OK))))
(访客(访客
89
Loading...