本文将介绍Samba系统的一些初始安装配置,并且可以从本文中学习到如何测试从Windows到Linux的连接以及测试从Linux到Windows的连接。
作者:51CTO.COM整理 来源:51CTO.COM整理 2007年9月14日
关键字: Samba 系统
Samba系统简介 本文将介绍Samba系统的一些初始安装配置,并且可以从本文中学习到如何测试从Windows到Linux的连接以及测试从Linux到Windows的连接。除非你从上个世纪的80年代末突然消失在时空隧道中,直到最近才出现在这个世界上,否则,你都应该知道这种现实--如今Linux已经将其自己作为微软桌面系统的竞争者并且将其自己作为许多大型组织的服务器系统的替代者。首先,Linux系统通过使用Samba系统来允许在Linux下访问Windows的文件和打印机,它希望通过使用这种包含Windows的客户端和服务器的方式来帮助它取代微软。在微软自己的手册中曾经就有这么一页,它之所以包含了 Novell,就是要在后来取而代之。什么是Samba? Samba在市场上并不是一个新面孔。它最初出现在大家面前的时间是1992年。Samba系统通过利用越来越多的开放源代码软件,获得了丰富多彩的性能,并且变得越来越稳定。随着Samba系统的不断进化,对于那些正在考虑将其文件和打印解决方案迁移到Linux的系统管理员来说,如今它已经成为这些管理员的一个真正的可选项。 另外,在Linux系统上构建存储解决方案也是一种非常便宜的方法。首先,在机箱中安装一个支持IDE RAID 卡,安装Linux,启动Samba,然后你就可以一个在自己的网络上安排大量存储的存储空间,这是一种成本非常低的实现方法。对于那些移动专家的笔记本电脑的备份以及需要进行长期归档工作的企业来说,这种解决方案是非常理想的。SMB协议 在安装Samba系统之前,很有必要了解一下Samba是如何工作的。Samba之所以能够工作,是因为它模仿的是Windows内核的文件和打印共享协议,该协议称之为SMB 协议(Server Message Block )。SMB在Windows出现之前就已经存在了。该协议可以追溯到上个世纪的80年代,它是由英特尔、微软、IBM、施乐以及3com等公司联合提出的。虽然在过去的20年中,该协议得到了扩展,但是该协议的基本理论仍然是相同的。 微软已经将SMB改名为公共因特网文件系统(CIFS,Common Internet File System )。这在一定程度上是由于它想与最初的基于NetBIOS的SMB保持一定的距离。最初,NetBIOS是一个伟大的工具,但是渐渐地显示出该工具无法处理在内部网络中连接到计算机上的全部计算机的个数,或者在因特网上无法显示连接到当前计算机上的计算机的个数。 Samba也执行了SMB (或者叫做CIFS,如果你愿意的话)的一个版本,这个版本在很大程度上与大多数的Windows版本兼容。有时候,微软Samba系统会出现崩溃,例如在Windows 2000的补丁包中,当正常的认证方式被改变时,就会导致Samba系统的崩溃。唯一的能够让Samba重新工作的方法是通过注册表来将认证方式改回来。尽管存在这些细小的缺陷,虽然这些缺陷在大量集成之后总是会出现的,但是,无论是从Windows连接到Linux还是从Linux连接到Windows 机器,Samba系统对于实现文件和打印服务来说总是很稳定的。 提示: 本文将以Red Hat 9.0上的Samba系统作为讨论的基础。但是你不要因此而考虑太多。因为无论你运行的是哪个版本的Linux,Samba系统在实质上是相同的,但是,在具体的配置细节上可能会有所不同。安装Samba 自从Red Hat 9发行之后,Samba系统随之也发行了它的更新版本。正因为如此,你需要从RedHat网站上下载新的可用的更新版本。通过点击这里,可以登录Red Hat的Samba系统更新页面。 一旦你有了更新版本,你就可以使用下面的命令来安装他们: rpm -ivh samba-2.2.7a-8.9.0.i386.rpm samba-common-2.2.7a-8.9.0.i386.rpm samba-client-2.2.7a-8.9.0.i386.rpm samba-swat-2.2.7a-8.9.0.i386.rpm 使用这个命令可以安装Samba系统的所有组件,包括一个称之为swat的配置工具。虽然我在本文中将不使用swat,但是你应该注意到这是一个非常有用的工具,该工具可以帮助你在Samba系统中配置更为复杂的选项。Samba的基本配置 控制Samba安装的文件在"/etc/samba"目录下,其文件的名字是smb.conf。要想让Samba系统工作,需要对这个文件进行一些基本的编辑工作。 首先你必须改变"Hosts Allow"行中的内容,使该行中包含你的局域网信息。如果你不对此行进行编辑的话,你的网络中的任何人都无法访问你的系统。此行中应该包含你的局域网的前缀。例如,我的实验室网络运行在10.254.1.0/24上。因此我可以将10.或者10.254.或者10.254.1 放在"host allow"行中来允许我的网络中所有的机器来使用这个Samba系统。当然,我指定的网络地址越少,对于其他人来说,就有越多的机会来使用我的 Samba服务器。密码 要确保Samba系统正确运行的最后一步是要对每个用户帐户至少设置一个密码。由于在 Linux和Windows系统中保存密码的方式各不相同,所以对于SMB的密码数据库来说,你需要使用一个工具来进行管理。你可以在控制台提示中输入 "smbpasswd -a root"命令来实现这个目的。 在这种情况下,该工具将提示你对选定的用户输入密码,然后确认密码(这里假设是个根用户)。一旦完成这个过程,根用户就可以从一个Windows机器中连接到Samba的配置文件中指定的缺省共享文件夹。在这种情况下,根用户的 "home"目录以及一个选定的安装好了的打印机就已经可以使用了。