如何利用Samba实现Linux与Windows98的资源共享 |
|---|
| 2001-09-30 09:05:00 来自:http://www.chinaunix.net |
|
本文是介绍如何利用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 (编辑:)
|