WinNT、Linux、Unix等服务器的互连
尹植平由于 Novell NetWare 使用的是 IPX/SPX 协议,在 Windows NT 访问 NetWare 资源就要通过协议转换。Windows NT 服务器提供了GSNW 网关服务,使Dos/Windows 客户可以通过访问 Windows NT服务器来间接访问 NetWare 资源。
1、Novell NetWare 服务器的配置
首先,在 NetWare 服务器上创建一个称之为 NTGATEWAY 的用户组,并在你希望共享的目录上赋予 NTGATEWAY 用户组一定的权限,然后,将被用作网关帐号的用户包含在 NTGATEWAY 组中。可使用 NetWare 的 NETADMIN(Dos 版本)或 NWADMIN(Windows 版本)实用程序创建用户组和用户。
2、Windows NT 服务器的配置
Windows NT 服务器的 GSNW 服务需要 Nwlinnk 网络协议支持,所以,首先必需在 Windows NT 服务器上添加 Nwlink 协议。在 NT Server 上运行 Control Panel 中的 NetWare 程序,选择安装 Nwlink 协议即好,要注意的是,Nwlink 所使用的帧类型应与将要访问的 Novell NetWare 服务器上使用的帧类型相匹配。然后,安装 GSNW 服务,同样运行 Control Panel 中的 NetWare 程序,选择安装 GSNW 服务即可。安装完成后,重新启动计算机,将有一个 GSNW 图标出现在 Control Panel 中,用来选择默认的 NetWare 服务器和 NetWare 打印队列。通过 Control Panel 的 GSNW 图标来激活 NetWare 网关服务程序,激活 GSNW 后,需在 Default Tree 和 Contex 选项中分别输入 NetWare 服务器的树名称和用户账号(NTGATEWAY 组中的用户账号)信息。这样配置之后,NT Server 就可以共享 NetWare 资源,将 NetWare 资源映射到本地盘,NT 的客户端(Dos、Win95/98、NT Workstation、NT Server)便可通过访问该盘来间接存取 NetWare 资源。
使用 GSNW 的优点是:
客户机仅仅需要登录到 Microsoft 网络。
网关仅仅希望一个登录到 NetWare 用户,但是却使许多用户共享 NetWare 资源,这样就合法地扩展了对 NetWare 服务器的访问权限,而不用额外的 NetWare 许可证?客户机仅仅需要一个客户软件包,尤其是在内存受限制的 MS-DOS 系统中,客户机软件包要好节省内存。
?通过消除对支持多种客户机请求程序的需要,减少了管理负担。
使用 GSNW 的缺点是:
由于客户机必须经过 NT 的 GSNW 网关来访问 NetWare 资源,效率不是很高,适用于不经常访问 NetWare 服务器的情况。
Unix、Linux 服务器与 Windows NT 服务器的互连
在 Linux 主机和 Unix 主机使用的都是 TCP/IP 协议,一台 Linux 主机若要同其它 Linux 主机或是 Unix 主机实现信息共享,有很多方便的、成熟的工具如 FTP 或 NFS 等等。同样,Windows NT 也支持 TCP/IP 协议,所以 NT Server 与 Linux 主机或是 Unix 主机的信息交流,也可以通过 FTP 或 NFS。但是,FTP 和 NFS 并不够直观操作。为便于 Windows 与 Linux 及 Unix 更方便地进行信息共享,如同 Windows 与 Windows 之间一样,我们可以通过 Linux 提供的 Samba 服务程序。 Samba 是一组程序,可以使你的 Linux 具备理解 SMB 协议(server message block)的能力。SMB 协议是一种在 os/2、Windows NT、Windows 95 和Windows for workgroups 等 Windows 系列中广泛使用的协议,该协议主要用来实现文件和打印机共享。使你的 Linux 将会出现在"Network Neighborhood"(网络邻居)中如同其它 Windows 机器一样。Windows 用户可以登录至你的 Linux 机器并且以你赋与他们的权限与 Unix 文件系统进行双向的交流,还可以向 Linux 打印机提交作业。
2.1 Samba 组成
一个 samba 服务器实际上包含了两个服务器程序:smbd 和 nmbd。Smbd 是 samba 的核心。它负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制。Nmbd 实现了"network browser"(网络浏览服务器)的功能。它的作用是对外发布 samba 服务器可以提供的服务。Nmbd 可以使 samba 服务器出现在 Windows 95 或 Windows NT的"Network Neighborhood"(网络邻居)中并且可以客户机浏览到可以访问的资源。完全可以不运行 nmbd 而起动 samba 服务器进程,但是也许客户除了想看到 samba 服务器的 NetBIOS 名外,还想看到 samba 服务器可以提供的服务。
2.2 Samba 配置
由于 SMB 是一个非常复杂的协议,所以配置 samba 是十分繁复的,大约有超过 170 条配置项出现在 smb.conf文 件中。在 RedHat 和 Debian 中 Smb.conf 文件缺省位置是在 /etc/ 下,所有的 samba 程序都要参照这个配置文件。其结构十分类似 Windows 的 *.ini 文件。文件中的每一节都由一个被方括号括起来的标识开始,例如:[global]、[home] 和 [printers]。
每一个配置参数或是一个全局参数(影响或控制整个服务器),或是一个服务参数(影响或控易做图务器提供的某项服务)。[global] 节设置全局选项和一些缺省的服务选项。[home] 节是用来动态的映射到每个用户的 home 目录下。[printers] 节用来设置将按照系统 printcap 文件配置的打印机共享至指定用户。
2.3 一个简单的 smb.conf
下面的 smb.conf 描绘了一个简单的但能工作的配置:
[global]
netbios name = ABC workgroup = WORKGROUP server string = Linux
security = user printing = lprng
[homes]
comment = Home Directory browseable = no read only = no
在 [global] 节中设置了主机的 netbios 名,主机所在的工作组的组名和将在 browse list 出现的提示字串。安全参数提示 samba 使用"user level"(用户级) 安全级别。SMB 有两种安全级别:share(共享级,对每个特定的资源使用口令保护和指定每个用户有各自不同的访问权限)和 user level(用户级)。不过在大多数情况下,你使用的是用户级安全级别。 由于没有指定特殊的加密方式,samba 缺省使用标准的 unix 口令字验证方式既 plaintext 口令字验证方式验证每个连接。若你的 linux 使用 PAM 模块,那麽你必须修改 PAM 配置使 samba 可以通过口令字数据库验证口令字。RadHat 自动进行这些处理。
[homes] 节中的设置用来控制每个用户 home 目录的共享情况。Comment parameter(注解参数)是在 browse list 中标示该条目的字串。 browseable 参数控制是否该项服务出现在 browse list 中。
下列的配置使每个可以登录至 samba 服务器的用户使用在系统 printcap 文件中定义过的打印机。
[printers]
browseable = no guest ok = yes printable = yes
完成 smb.conf 文件的配置后,可以使用 Testparm 命令来快速检查 smb.conf 文件的语法错误。 通过以上配置,在 Linux 主机上运行 Samba 服务程序:smbd 和 nmbd。Windows 与 Unix、Linux 便可以很方便地进行进行数据交换。