如何利用Samba实现Linux与Windows98的资源共享

王朝system·作者佚名  2008-05-18
宽屏版  字体: |||超大  

本文是介绍如何利用Samba实现Linux与Windows98的资源共享,以及本人在实 现与使用中遇到的

各种问题,以及解决方法。

一、安装Samba:

由于Samba是RedHat 6.0内置的软件包,在安装Linux过程中选中即可。如果在安装过

程中没有安装Samba,可以在以后安装,具体步骤如下:

# mount /mnt/cdrom

# cd /mnt/cdrom/RedHat/RPMS/

# rpm -ivh samba-2.0.3-8.i386.rpm

注意利用ntsys命令检查,是否使Samba在启动Linux时启动SMB服务。

二、编辑Samba的配置文件:

Samba的配置文件smb. conf位于/etc目录下,可以设置各种参数,设置那些资源被共享、

以及其它用户对这些资源的操作权限等等。 smb.conf文件的格式非常容易理解,但由于

它的参数非常多,要快速地仔细了解各种参数的意义是非常困难的,在安装Samba时,系

统已经安装了一个Samba的配置文件样本,可以利用此文件,编辑与修改,在修改的过程

中,要注意理解配置文件的注释,使它适合自己的需求。 除了控制访问共享的定制外,

smb.conf有三个特殊段:[global]、[homes]和[printers]。[globals]段定义了整个过

程中的全局参数,并为其它段提供缺省值。 [homes]段定义远程用户存取在本地Linux机

的用户主目录的参数。[printers]段远程用户共享本地Linux的打印机。 有关smb.conf

文件的详细说明,参见smb.conf的man文档。这里只介绍需要修改的几个参数。[global]

段的workgroup值,它相当与Windows98的工作组名或者Windows NT的域名。

server string值,它类似Windows的网络配置中的计算机说明,这主要是便于Windows用

户了解共享哪台机器的资源。 删除[tmp]段的注解,主要是便于检测SMB的配置是否成功。

有关smb.conf配置文件的参数参见smb.conf(5)的man文档。在Samba2.0.3版本中,提供

swat实用程序,管理者利用浏览器来配置smb.conf文件,它通过inetd 服务启动,在浏

览器的地址中输入http://Linux主机名或ip地址:901,就可以利用浏览器来进行smb.conf

文件的配置与管理工作。 配置与修改完成后,可以通过命令testparm来检测smb.conf的配

置文件是否正确。 注意要使配置文件生效, 必须重新启动SMB服务。 执行

/etc/rc.d/init.d/smb restart 命令。

三、检测

1、Linux主机共享Windows主机的资源 在Linux主机端安装Samba包后,Samba包中已经包括了

smbclient、smbmount等的实用程序。 smbclient程序提供了一个类似FTP 的模式界面, 允许

用户共享Windows、Linux的资源,还可以用户列出服务器上的可用共享资源。smbmount类似

mount命令, 将Windows的共享目录安装到Linux的本地目录。下面列出这些命令的主要用法,

具体可以参见man文档。

1. smbclient -L hostname <-U username> 说明:列出指定主机的共享资源。

2. smbclient \\\\server\\共享名 <-U username> 说明:连接网络共享资源。其用法类似ftp。

3. smbmount \\\\server\\共享名 -c 'mount /mnt/smb' 说明:安装指定主机的共享名到本地

的目录 注意:分隔符为反斜杠。

2、Windows主机共享Linux主机的资源 在Windows端,通过浏览网络邻居,列出Linux主机的共

享资源,将某一共享 目录映射为一个网络驱动器,也可以共享Linux的打印机。

四、问题:

Samba的用户认证.用户认证表示允许Samba限制访问共享资源、 控制文件和目录的读写权限。

Samba支持三种不同的验证用户访问共享资源的机制。它由Samba文件中的关键字security控

制,分为共享安全(share)、用户安全(user)、服务器安全(server)三种。其中share模式是

最早的安全模式,提供的安全权限最低,也是Samba的缺省模式。user模式是当用户连接

Samba服务器上的共享资源时, Samba必须验证用户的用户名和密码。验证正确后,用户才能

获得相应的访问权限。 server模式是将用户认证由另一个SMB服务器来完成,往往是采用

Windows NT。 在采用share模式时,本人发现无法访问对应Linux用户的主目录,提示“必 须

提供密码才能连接: 资源\\Linux主机名\IPC$",可是无论提供什么口令,都无法访问共享资

源。通过查看有关文档(位于 /usr/doc/samba-2.0.3/docs/textdocs/Win95.txt文件),发现

是由于Windows98禁止plain text的口令认证,只需按照文档说明修改注册表即可,也可以利

用/usr/doc/samba-2.0.3/docs目录下 的Win98_PlainPassword.reg文件,导入注册表。 如果

出于安全因素考虑, 应该尽量避免采用share模式,而采用user模式, 必须为Samba用户设置

帐户,具体步骤如下:

1.建立Samba帐户,编辑帐户文件/etc/smbpasswd,删除不需要的帐户。

# cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd

# vi /etc/smbpasswd

2.利用smbpasswd命令建立帐户的口令,最好与/etc/passwd的帐户口令相同。

# smbpasswd Samba用户名

3.编辑/etc/smb.conf文件, 修改[global]段的security=user,encrypt passwords = yes。

4.重新启动SMB服务,再进行测试。

# /etc/rc.d/init.d/smb restart

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有