下载本文的 PDF 版本 PDF

Samba 在 Windows 与 Linux 之间翩翩起舞

在 Windows 下挂载远程 Linux 驱动器比您想象的要容易。

Alexander Wolfe,科学作家

 

随着异构网络环境变得越来越普遍,Windows 和 Linux 之间比以往任何时候都更需要良好地协同工作。Samba 应运而生,这款打印和文件共享工具使得驻留在 Linux 主机上的文件能够与基于 Windows 的桌面进行交互。

Samba 是一个开源项目,根据 GPL(GNU 通用公共许可证)免费提供,于 1994 年首次发布,旨在支持 Unix。它开始走向普及,最初以部署在运行流行的开源实现的服务器上,例如 HP-UX、IBM 的 AIX 和 Sun 的 Solaris。

近年来,Linux 在服务器领域的使用量呈爆炸式增长,这使得 Samba 几乎无处不在。(在典型的设置中,Samba 充当缺失的环节,允许运行 Windows 的客户端桌面访问存储在这些 Linux 服务器上的文件。)

事实上,Samba 作为几乎每个 Linux 发行版的标准组成部分而发布,这使得该软件获得了惊人的隐蔽普及。各种形式的 Samba 服务器可能有 1400 万到 1600 万台。然而,为了更有意义地分解这些数字,并非所有这些设置都是“高压力”环境。据估计,运行 Samba 的大型 Unix 和 Linux 安装(定义为每个服务器数百甚至数千用户)的数量在 250 万到 300 万之间。

根据其 FAQ,Samba “是一套程序,它们协同工作,允许客户端通过 SMB 和 CIFS 协议访问服务器的文件空间和打印机”(见图 1)。SMB(服务器消息块)协议由 IBM 在 20 世纪 80 年代发明,并由微软扩展。在 20 世纪 90 年代的网络狂热期间,微软将 SMB 重命名为 CIFS(通用互联网文件系统)。

就其功能而言,Samba 由两个关键组件组成:smbd(服务器消息块守护程序)和 nmbd(名称解析和浏览守护程序)。两者都实现了 CIFS 文件和打印服务。

那么,为什么 Samba 似乎具有相当狭窄的定义范围,却应该引起开发人员的兴趣呢?因为它提供了一个了解网络复杂性的窗口,并且可以为开发人员提供一个虚拟的前排座位,以了解异构互连系统之间的互通处理。

SAMBA 3

这在 Samba 3 中很明显,这是该工具的最新版本,于 2003 年 9 月发布。Samba 3 为仍然广泛使用的 Windows NT 4 操作系统增加了全面的域控制支持(减去微软的安全帐户管理器数据库复制)。域支持意味着 Samba 本质上镜像了 NT 存储用户帐户凭据的架构。因此,Samba 有一种方法来决定是否授予经过身份验证的用户访问基于服务器的文件的权限,从而实现 Linux 到 NT 的互操作性。

如果这个描述看起来很神秘,请考虑一下 NetBSD 和 Windows 系统管理员 Josh Malone 的说法:“Samba 似乎只是你需要看到实际运行才能理解的软件包之一。”

Malone 在 Slashdot.org 上对 John Terpstra(Samba 团队成员)撰写的新书《Samba-3 by Example》(Prentice Hall,2004 年)的评论中发表了上述评论。Terpstra 认为,了解 Windows 网络功能可以阐明 Samba 如何允许主机 Linux 或 Unix 服务器计算机与 Windows 客户端相当透明地交互的精确机制。

Terpstra 建议务实的专业人士获取免费的 Ethereal 网络协议分析器工具,并将其用作嗅探器,以捕获和审查在网络上传输的数据包,从而窥探其内部运作。当 Samba 运行时,它会利用数千个数据包中关于网络上 Windows 客户端身份的信息。

安全

对于 Samba 用户而言,这些知识可能会激发他们更广泛地了解 Windows 网络的复杂性。这反过来可能会引发安全性的警报——这是一个令人担忧的问题,尤其是在可互操作的网络领域。关于 Windows 和 Linux 相对安全优势的争论一直在持续,开源倡导者抨击 Windows 本身就存在缺陷,因为它是一个封闭系统,不受软件开发人员社区的审查。(微软的反驳是,受保护的源代码更能抵抗漏洞利用,因为黑客不知道其中的内容——这正是公开开源代码在雷德蒙德引发警报的原因。)

我向 Samba 团队成员 Terpstra 询问了异构环境的系统管理员如何应对 Samba/Linux 和 Windows 之间感知到的安全差异。“有趣的问题,因为你会发现对此的看法截然不同,”Terpstra 说。“Windows 风格的网络本质上是不安全的。原因是,浏览或进入你的‘网上邻居’并查看所有机器的能力是基于广播技术的。”

你可能会辩称,每台 Windows 机器都假定了一个信任的环境,因此不介意向全世界宣告自己。显而易见的问题是过于熟悉的不可信环境。公平地说,这是一个除了微软之外的许多群体都犯过的错误,并且最终困扰了他们。想想电子邮件垃圾邮件的泛滥,这个问题可以说源于早期的假设,即电子邮件将在信任的各方之间发送(谁会想要向你发送你不想要的电子邮件并欺骗回信地址呢?)。

通过这种广播,机器在网络上发送数据包,识别自己及其 IP 地址。因此,任何拥有能够捕获流量的嗅探器的人,即使他们没有管理权限,也可能能够入侵网络。

“对于 Unix 安全迷来说,这是一个禁忌,”Terpstra 说。“服务器正在向全世界宣传自己。”

幸运的是,Samba 实现了尽可能屏蔽用户操作系统的功能。此外,由于 Samba 驻留在非 Windows 服务器平台上,并且没有实现 Windows 的所有功能,因此它能够消除 Windows 的许多潜在漏洞,Terpstra 说。

尽管微软没有具体参与 Samba,但它也关注安全性。为了最大限度地减少黑客利用 Windows 的能力,微软正在努力在其下一代 Longhorn 操作系统中设计改进的安全性,该操作系统计划于 2006 年发布。

“在 Longhorn 中,微软很有可能会引入全新的技术,”Terpstra 说。“我认为这完全合适,因为当前的 Windows 网络技术从根本上来说是不安全的。它在多年来杂乱无章地发展。从头开始可能比尝试修复当前技术的弊端更具成本效益。”

预计微软将在 Longhorn 中通过使用名为 WinFS 的新模型来彻底改造基本的 Windows 文件系统,从而加强安全性。由于微软的文件系统是专有的,并且不太可能开放新的文件系统,因此 Samba 团队将不得不努力使该软件能够保持 Unix/Linux 和 Longhorn 之间的互操作性。

Terpstra 说,Samba 团队尚不完全了解 WinFS 会产生什么后果。但它已准备好将对任何 WinFS 或 Longhorn 协议扩展的支持引入 Samba。

SAMBA 4

实际上,Samba 已经在升级,使其更适应新兴技术。该软件包的下一个版本 Samba 4 已经开发了一年左右,计划在 12 到 18 个月内发布。“它构成了对 Samba 技术的非常重要的重新工程,”Terpstra 说。“它引入了支持更新技术的能力,这些技术在未来将非常宝贵,[包括] 支持您可能需要处理的任何文件系统类型的完整语义。”

根据 Samba 的创始人之一 Andrew Tredgill 最近的演讲,Samba 4 的另一个主要设计目标是使其更易于安装和配置。要清楚地证明这将受到欢迎,您只需转向 linux.samba 新闻组,该新闻组每天都充斥着系统管理员发布的细致的配置问题。Tredgill 为 Samba 4 制定的其他设计目标包括转向灵活的进程模型和灵活的数据库架构,以及精简软件包的测试支持代码套件。

与微软的互操作性

当 Samba 展望 Longhorn 时,另一个问题是该软件是否会保持免费,或者知识产权格局的变化是否会为与基于微软的客户端的互操作性设置障碍。从历史上看,微软没有公开其网络规范;然而,这家软件巨头也没有对 Samba 施加任何限制。人们普遍认为,如果 Unix、Linux 和 Windows 机器能够相互通信,那么每个人的利益都能得到最好的维护。

这就引出了一个显而易见的问题:如果微软没有公开其规范,Samba 是如何构建与 Windows 互操作的能力的?答案是,就像 x86 克隆机能够模仿英特尔的硬件架构一样,英特尔的硬件架构也没有完全公开供公众使用:通过结合使用微软网络规范中以零散的方式记录并在不同文档中编写的部分,借鉴 Samba 团队网络专家的经验知识,并通过启发式方法和实际测试。

尽管使 Longhorn 互操作性成为可能仍然符合微软的利益,但在知识产权领域可能会出现一个新问题。在 2004 年 3 月欧盟的反垄断裁决中,微软因垄断行为而被罚款。然而,欧盟也表示,微软可能被允许从其发布的 API(应用程序编程接口)中寻求未来的许可收入。由于 Samba 与微软的 API 互操作,因此该裁决可能会对 Samba 产生影响。

实际上,Terpstra 并不认为微软会从 Samba 中榨取版税。“Samba 团队不是一家以盈利为目的的企业,也没有一个可以参与支付许可证和/或版税费用的结构,”他说。“在我看来,欧盟的裁决将推动 Samba 开发远离欧洲,进一步走向那些不太愿意提供限制性和保护性垄断的国家和州。”

Samba 在海外的普及是否会受到欧盟裁决等政治因素的驱动,还有待观察。然而,在未来几年,Samba 很可能会在 Linux 采用率呈指数级增长的地区看到其最大的部署。这些地区包括日本、中国、印度和前苏联集团国家。问

资源

Samba 主站点

此页面指向该组织的 Web 镜像站点和下载服务器

http://www.samba.org/

 

Samba FAQ

http://us1.samba.org/samba/ftp/docs/faq/Samba-meta-FAQ.html#introduction

 

Samba 4

Andrew Tredgill 的演示文稿

http://us1.samba.org/samba/ftp/slides/sambaxp04/tridge_samba4_sambaxp04.pdf

 

Ethereal

免费网络协议分析器工具

http://www.ethereal.com

喜欢它,讨厌它?请告诉我们

[email protected]www.acmqueue.com/forums

ALEXANDER WOLFE 获得了纽约市库珀联盟学院的电气工程学位。他是一位居住在纽约州森林小丘的科学作家,曾为IEEE SpectrumEE TimesEmbedded Systems Programming 和 Byte.com 撰稿。

© 2004 1542-7730/04/0700 $5.00

acmqueue

最初发表于 Queue 第 2 卷,第 5 期
数字图书馆 中评论本文





更多相关文章

Jonathan Parri, Daniel Shapiro, Miodrag Bolic, Voicu Groza - 将控制权交还给程序员
服务器和工作站硬件架构不断改进,但解释型语言未能跟上现代处理器适当利用的步伐。SIMD(单指令多数据)单元几乎在每个当前的台式机和服务器处理器中都可用,但使用率严重不足,尤其是在解释型语言中。如果多核处理器继续保持目前的增长模式,解释型语言的性能将开始落后,因为当前的本机编译器和语言提供更好的自动化 SIMD 优化和直接 SIMD 映射支持。


Bob Supnik - 模拟器:过去(和未来)的虚拟机
模拟器是一种“虚拟机”,旨在解决一个简单的问题:缺少真实的硬件。用于过去系统的模拟器解决了真实硬件的丢失问题,并在真实硬件消失后保留了软件的可用性。用于未来系统的模拟器解决了未来硬件设计的可变性问题,并促进了在真实硬件存在之前进行软件开发。


Poul-Henning Kamp, Robert Watson - 构建可安全共享的系统
计算的历史特点是性能的持续提高和价格的急剧下降,这符合摩尔定律的描述,从而导致了持续的转型。计算能力已从集中式大型机/服务器迁移到分布式系统和商品化桌面。尽管发生了这些变化,系统共享仍然是计算的重要工具。从桌面环境的多任务处理、文件共享和虚拟机,到主机托管中心服务器级 ISP 硬件的大规模共享,在互不信任的各方之间安全地共享硬件需要解决意外和恶意损坏的关键问题。


Poul-Henning Kamp, Robert Watson - 构建可安全共享的系统
计算的历史特点是性能的持续提高和价格的急剧下降,这符合摩尔定律的描述,从而导致了持续的转型。计算能力已从集中式大型机/服务器迁移到分布式系统和商品化桌面。尽管发生了这些变化,系统共享仍然是计算的重要工具。从桌面环境的多任务处理、文件共享和虚拟机,到主机托管中心服务器级 ISP 硬件的大规模共享,在互不信任的各方之间安全地共享硬件需要解决意外和恶意损坏的关键问题。





© 保留所有权利。

© . All rights reserved.