局域网上Linux与Win 98资源共享[参考篇]

由 北南南北 在 04-30-2002 12:30 发表:

局域网上Linux与Win 98资源共享[参考篇]

局域网上Linux与Win 98资源共享[参考篇]

有些Linux开发设计人员更习惯Win 9x中的编辑环境,每次编完程序后要把程序FTP到服务器端再进行测试,如果有问题就要改完再FTP过去,这样很麻烦,如果能象Win 98组织的局域网那样可以轻易地从网上邻居实现资源共享就太方便了。为实现Linux和Win 98之间的资源共享,Linux提供了一套资源共享程序Samba,它不但适用于局域网,也适用于双机对接的对等网,这就为编程和系统测试提供了方便。但它也有一定的局限性,它不允许系统root从Win 98访问Linux,只能以普通用户的身份进行访问,通过这种方法创建的文件和路径只具有644(rw-r--r--)权限,也就是其他人只能读不能写,这虽有利于系统安全,但不利于文件的完全共享。

一、Linux端的设置

Samba的运行与以下几个文件的配置有关:

1./etc/services

……

netbios-ns 137/udp

……

netbios-ssn 139/tcp

……

2./etc/inetd.conf

这个文件用于加载系统启动时要运行的一些后台程序,Samba可以通过这个文件来启动,但要有下面这两行:

netbios-ssn stream tcp nowait

root /usr/sbin/smbd smbd

netbios-ns dgram

udp wait root /usr/sbin/nmbd

nmbd

inetd.conf文件格式如下:

〈服务类型〉 〈sock类型〉 〈协议〉 〈标识〉 〈用户〉 〈服务程序路径〉 〈参数〉

但有些Linux的启动方法是使用/etc/rc.d/rc. Samba或/etc/rc.d/rc.local来启动,所以/etc/inetd.conf中的上面两行被(用#)注释掉了或根本没有这两行(RedHad 6.0中就没有这两行)。

3./etc/rc.d/rc.samba或/etc/rc.d.rc.local

这是Samba的真正启动位置,在其中加入下面几行:

if [ -f /usr/sbin/smbd -a -x /usr/sbin/nmbd ] ; then

/usr/sbin/smbd -D

/usr/sbin/nmbd -D

fi

说明:-f 参数表示先判断文件是否存在,如果存在则执行下面的语句。

4./etc/lmhosts

它的功能和/etc/hosts相似,是用来把一台计算机和其名称对应起来的,文件的格式是:

IP地址 计算机名

例如:

127.0.0.1 server

192.168.0.22 lkch

5./etc/smb.conf

这是Samba资源共享的设置文件,包括两部分:Global Setting、Share Defination,其中“#”注释说明部分,“;”注释配置内容,具体设置方法见表1。

这个文件配置好后用户可以用下面的命令测试一下配置参数是否正确:

shell〉testparm

Load smb config files from /etc/smb.conf

Processing section "[homes]"

Processing section "[printers]"

Processing section "[apache]"

Processing section "[data]"

Loaded services file OK.

Press enter to see a dump of your service definitions

……

用户也可以用下面的命令察看资源共享的情况:

shell〉smbclient -L localhost

Domain=[SERVER] OS=[Unix] Server=[Samba 2.0.3]

Sharename Type Comment

------ ---- --------------------

apache Disk Temporary file space

data Disk Temporary file space

IPC$ IPC IPC Service

(Samba Server)

Server Comment

--------- -------

SERVER Samba Server

Workgroup Master

--------- -------

MIIPTISI PTSNPDC

PTISI PTISIPDC

除了上述的两个程序外,还有一些有用的程序:

smbstatus:显示Samba Server 的连接状态。

smbpasswd:改变Samba Server的用户密码。

smbmount:Samba文件系统装载程序,它使Linux可以使用Win 98的共享资源,但是只能使用在lmhosts文件中指明的计算机的共享资源。而且在不同版本的Linux中这条命令的语法还有些差别,如在Redhat Linux6.0中为

Shell〉 smbmount "\\\\lkch\\lkch" -c 'mount /mnt/lkch'

Added interface ip=192.168.0.3 bcast=192.168.0.255 nmask=255.255.255.0

Server time is Tue Apr 4 00:21:08 2000

Timezone is UTC-4.0

security=share

注意:因为在Linux中“\”是转意字符,因此字符串中“\\”表示实际的“\”,-c参数表示执行独立的系统命令。

smbumount:Samba文件系统卸载程序。

Shell〉smbumount /mnt/lkch

捷径

如果您和我一样不喜欢在配置文件上改来改去,那么在RedHat中给您提供了一种很好的方法来配置Samba服务,运行netconf(它是Linux进行网络配置的程序)。在图1界面中选择Samba File Server,在图2中default是基本共享设置,Default setup for users's home是用户主目录共享设置,Default setup for printers是打印机设置,Disk shares是共享目录设置,每一项设置基本相同,只要根据其要求填写即可(见图3)。设置完毕后返回界面,设置生效。

二、Win 98端的设置

1.网络设置

用鼠标右键点网上邻居,选“属性”就会弹出图5所示的窗口,添加网络适配器→网卡驱动程序;添加Microsoft TCP/IP协议,在Linux中几乎一切网络通讯都要用到TCP/IP协议;然后再添加NetBEUI,这是Win 98系统中实现资源共享必不可少的协议;要实现文件和打印机的共享,还要添加文件和打印机的共享服务。必要的协议和服务添加完后,重新启动计算机使设置生效。

2.Win 98注册表的更改

在HKEY_LOCAL_MACHINE\

System\CurrentControlSet\

Services\VxD\VNETSUP中增加一个键名为EnablePlainText

Password、类型为DWORD的主键,键值设为1,重新启动计算机使设置生效。这样设置后,当用户从网上邻居访问 Linux时,Linux就会把Win 98的登录用户名、口令作为系统用户来验证,通过则可以访问,否则拒绝访问。为此还要做下面的设置。

图4

3.Win 98用户名口令的设置

Win 98登录的用户名和口令必须与Linux中的用户名口令相一致,换句话说就是要在Linux中增加一个

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus