演示 Samba 首先,我要显示一组屏幕快照,它们来自我的一台名为 kompressor 的 Windows NT 机器。这些屏幕快照演示了从 Windows 方看到的一个完整配置的 Samba 系统。它们会带给您 Samba 功能的一个实际理念。
当前在我的内部 LAN 中设置了三台机器。
ntbox (Windows NT 工作站) freebox (FreeBSD 服务器) kompressor(Windows NT Workstation,用作我的主要台式机)
在这个环境中,我广泛使用 Samba 来共享文件、打印,甚至直接从 freebox (Unix) 运行 Windows 应用程序。有一个屏幕快照显示了 kompressor “网络邻居”的内容:
kompressor 的“网络邻居”
您可以看到,ntbox 和 kompressor 都是可见的,这并不奇怪,因为它们都是 NT Workstation。但不同寻常的是,我同样能看见 freebox。因为 freebox 运行的是 Samba,所以在属于 \"GENTOO\" Windows 工作组一部分的每台 Windows 机器上“网络邻居”下面我都能看到它。
现在我们可以看看 freebox “内部”是什么样子。双击 freebox 图标后弹出下面的窗口:
freebox 上的 SMB/CIFS 共享
字首组合词释义 SMB 代表的是服务器消息块 (Server Message Block),它是用于在 Windows 上共享文件的协议的原始名称。 CIFS 代表公共 Internet 文件系统 (Common Internet File System),它是 Microsoft 描述该协议最近一个版本的新字首组合词。
Samba 打印 除标准共享(作为虚拟目录)外,您还可以看到名为 nec 的打印机共享。Samba 另一个非常重要的功能就是,您可以使用从任何 Windows 机器共享打印机的相同方式来共享打印机。Nec 是我的 NEC SuperScript 870 激光打印机,它与 freebox 相连,并设置成标准的 Unix 基于 lpd 的打印机。Samba 可以让这个打印机由 Windows 客户机使用,如同标准 Windows 网络打印机那样。
因为打印机是在 Unix 下运行的,您可能会奇怪打印机驱动程序的状态要如何处理。问的不错。在 freebox 上, nec 设置为以“raw(原始)”方式运行的基于端口的标准并行打印机。换句话说,任何发送给 nec 的打印作业都直接照原样传递给打印机,不进行任何过滤或数据处理。
在 kompressor 上,nec 配置成 NEC SuperScript 870 网络打印机。当我打印到它时,本地 NT 打印机驱动程序为 nec 生成相应的二进制数据,然后,自动在网络上假脱机到 freebox 上运行的 Samba。 Samba 自动将这些数据不加更改地插入 nec 的队列,打印机开始打印作业。
应该说明一下,我的 NEC SuperScript 870 不是 Postscript 打印机;它使用 Adobe 的专利 PrintGear 技术。虽然打印机在 Unix 上不是完全受支持,它仍能很好地处理来自 Windows 的打印(这是因为所有特定于打印机的数据都是在 Windows 方使用 Windows 驱动程序生成的)。具有讽刺意味的是,因为 GhostScript(一种可用于 Unix 的免费使用的与 PostScript 兼容的解释器)不知道如何产生 PrintGear 输出,我只能从 Unix 方打印 ASCII 纯文本或 300 dpi 基于 PCL4 的文档;但从 Windows 方,Windows NT 驱动程序可以让我打印十足的 600 dpi。现在我不认为这会不方便,因为我的大部分打印都是从 Windows 进行的。但以后最好能有内置 Postscript 的打印机,这样我也能从 Unix 使用打印机的全部功能。
Samba 共享 好,现在该看下一个屏幕快照了。这个屏幕快照说明 freebox 上 drobbins 共享的内容,它配置为共享我的 Unix 主目录。窗口中列出的所有文件实际上都位于 freebox 中,但可以直接从我的 Windows NT 客户机访问。能够将 Windows 和 Unix 集成真是太好了!
从 kompressor 访问到的 freebox 上我的主目录
理解 Samba 为向您介绍有关 Samba 内部是如何工作的更详细的信息,我要给您一个非常简化的说明,告诉您当我在“网络邻居”中四处摆弄时在后面发生了什么事。首先我应该说明一下当前 Windows 会话的一些情况。因为我运行的是 Windows NT Workstation,所以必须进行登录才能获得对机器的访问。对于这个 NT 会话,我登录到本地机器时使用的用户名是 \"Administrator\",口令是 \"mypass\"。如果我运行的是 Windows 95 或 98,标准 Windows 联网驱动程序就会要求我输入用户名和口令。在 Windows 95 和 98 中,这个口令实际上不用于确定谁可以访问本地机器,而是被高速缓存,用于与网络资源连接。
当然,Windows NT 相对于 Windows 95 和 98 是非常安全的,如果您不提供有效的用户名和口令,就不允许您使用机器。在 kompressor 对照它的本地安全性数据库确认了我的用户名和口令后,就允许我开始使用 Windows。在我连接到受口令保护的网络资源时,Kompressor 还将使用我的用户名和口令来尝试自动认证自己。
浏览网络 当我在“网络邻居”上单击时,会弹出一个窗口,包含网络上所有与 Windows 兼容的机器的列表。为使这个操作发生,kompressor 与幕后的 freebox 联系,以获得当前子网上所有与 Windows 兼容的机器的“浏览列表”。 Kompressor 与 freebox 联系是因为我配置了 freebox 的 Samba,这样它就可以成为网络上的“本地主要浏览器”(这意味着 freebox 管理着出现在“网络邻居”中的网络资源的列表)。