mingsheng
|
分享:
▼
x0
|
[Linux] 区域网路上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的登入用户名、密码作为系统用户来验证,通过则可以访问,否则拒绝访问。为此还要做下面的设定。
3.Win 98用户名密码的设定 Win 98登入的用户名和密码必须与Linux中的用户名密码相一致,换句话说就是要在Linux中增加一个用户,它的用户名和密码与Win 98的相同。
做了上面的设定后,Win 98就可以从网路芳邻访问Linux的共享资源了。 表1 #====Global Setting==== [global] workgroup = groupname #指定工作组 serverstring = Samba Server #SambaServer的说明 hosts allow = 192.168.0. 192.168.1. #允许访问Samba Server的用户的IP位址 guest account = guest #Samba Server 的guest在Linux系统中的用户名为:guestx guest ok = yes #允许用户以guest 身份访问Samba Server log file = /var/log/samba/log.%m #log文件的记录位置是/var/log/samba/,档案名是log.用户名 security = user #安全级别 ; password server = PTSNPDC #指定密码验证主机,如果这一项有效,security必须设定为server #==== Share Definitions ==== [homes]#用户的主目录,共享给用户自己使用 comment = Home Directories browseable = no #其他用户不可以浏览 writable = yes #用户自己可写 [apache]#共享内容 comment = Share file space path = /usr/local/apache/htdocs #共享路径 valid users = zypan lkch zcx zjian zhaoxinxin shengw #允许访问这一路径的用户 read only = no #是否只读 public = yes #是否共享 [printers] comment = All Printers path = /var/spool/samba #列印机贮列,用户需自己建立目录 browseable = no guest ok = no 是否让guest帐号使用 writable = no printable = yes
[ 此文章被andyz在2005-05-18 19:43重新编辑 ]
|