建立windows与linux简单通信(二)

白天记载了如何利用VMware-tools使得windows与linux之前共享起来,但前提是linux是装在windows虚拟机上的,如果一部电脑只有linux那以上的方法就没用了。还是找到正统的linux自带的服务来达到这个目的吧。
不知道是我笨还是我倒霉,本来挺简单的一件事情,网上的资料也挺多的了,我照着一步步做下来,得到的结果却是断断续续搞了快一个星期,还把自己的windows弄崩溃了,最后不得不重装解决问题了。
我还是絮絮叨叨的把如何配置samba给简要介绍下,然后我再谈谈就这么一件简单的事情我是怎么给复杂化,直至最后弄到系统崩溃的。
一、安装samba:
1.查看本身系统中是否已经安装samba。
#rpm -qa grep samba,如果出现
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
那么恭喜你,你已经安装好了samba,如果没有请安装。
2.安装samba。
在第一张系统光盘中找以下samba软件包(应该在/mnt/cdrom/RedHat/RPMS下),
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0,并依次安装
#rpm -ivh samba-******
如果都出现了100%的话,说明你已经安装好了samba,可以进行共享配置了。
但是为了之后的配置方便,建议在第二或三张光盘中(路径同上)找到redhat-config-samba-1.0.4-1和samba-swat-2.2.7a-7.9.0并安装。
3.现在再来测试一下,
#rpm -qa grep samba
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
这样说明所有的samba组件都已经安装成功,可以进入下一个环节了。
2、配置samba.
利用我们安装的redhat-config-samba-1.0.4-1进行配置,方法如下:
开始--->系统设置--->服务器配置--->samba服务器
首选项-->服务器设置,这里你可以对samba服务器进行一些基本的设置里,应该说比较简单了,
我看没有必要介绍了,配置好之后,记住重新启动服务.
重新启动的方法有两种:
#service smb start或restart
#/etc/rc.d/init.d/smb start
(2)方法2
利用samba-swat-2.2.7a-7.9.0
首先,你要修改swat的配置文件,默认的情况下是关闭的
service swat
{
port = 901 (swat用到的端口是901)
socket_type = stream
ait = no
only_from = 127.0.0.1(只从这个启动swat,关键!)
user = root(启动swat用到的名子)
server = /usr/sbin/swat
log_on_failure += USERID
disable = yes (一定要把yes改成no)
}
修改过之后,启动xinetd就可以了
启动方法跟刚才我说的一样
然后在浏览器里敲入:[url]http://127.0.0.1:901[/url]
(注意,这个IP地址要跟你在SWAT配置文件里的IP地址一样才形,切记!)
至于如何使用swat,自己摸索一下应该不成问题了,配置完成以后,记得重新启动服务就
可以了.对了,为了使得samba和swat在每次开机的时候启动,你可以这样:
#setup,然后找到system service,在SMB和SWAT前搞个*,也可以#ntsysv,同样的效果.
(3)方法3
利用samba-2.2.7a-7.9.0,这是最根本的东西,不管用什么工具,掌握其原理才是最重要的,装好samba-2.2.7a-7.9.0之后,会在/etc/samba/下形成一个文件
smb.conf smbpasswd smbusers lmhosts,如果没有其中的一个,你可以toUCh创建
修改smb.conf文件
我只做简单的说明:guest ok 和public是一样的,read only 和writable是相反的,没什么区别
workgroup=(工作组名子,填上你目前的LAN的工作组)
netbios=(最好是你的机器名,如果把改句注消,默认的是你LINUX机器名,不过,最好还是自己填上)
client code page=936(默认是850,936是简体中文的意思,这个要记住,难道不记得你mount你windows系统下的中文名子都是???,就是因为你没有加-o iocharset=cp936的原因!)
guest account=nobody(guest帐号,这于你定义的共享文件颊有关,其中nobody在smbusers里有)
security = SHARE(有四个级别,不多说)
encrypt passWords = Yes(加密的密码, win98/2000传送的密码都是加密的,所以这里要yes)
以上都是[global]的内容,
下面就是你要开的共享的东西,要说明的是,文件夹共享的属性取决于该文件在LINUX里的权限设定
[myxfc]
comment = myxinfc
path = /home/xinfc
read only = No
guest ok = Yes


[tmp]
path = /home
valid users = hehl
write list = @staff
read only = No
guest ok = Yes
共享的设定其实很简单,主要是路径和权限的问题,这两个搞清楚了 ,应该没问题了
配置到此应该没有什么问题了。
三、应用samba.
费了这么半天的事我们要做的事要实现linux与windows之间的共享,那来看看效果如何吧!
1。View from windows。 还是先从熟悉的地方开始,从windows中来看看linux下面共享了什么吧。
方法很简单,在网络邻居中的工作组中应该可以看到linux的主机已经出现了。打开浏览器,敲入[url]http://linux_ip/share[/url](文件夹名字),回车就可以看到linux共享的文件了。在这一过程中,可能会出现一些由于权限、安全设置的原因而产生一些问题,这些我会在以后的时间里再拿出来仔细分析。
2。View from linux。 在linux下面,我们可以通过samba client来访问windows的共享文件夹。
#smbclient -L //localhost -U smbuser
#password: ******
4.问题。
当我按照以上标准教程一步步做下来后,郁闷的发现还是无法建立起两个系统间的通信。
问题如下:Linux 下面的samba服务器没有问题,可以用smbclient -L localhost访问,但是在 windows网络邻居中始终都无法找到Linux服务器。用smbclient -L192.168.0.5(windows主机地址)连接,会出现error:192.168.0.5:139 connection refused,
error: 192.168.0.5 connetion refused。
利用一些排错手段,发现ping ip地址肯定没问题,但是ping 主机名称不行,会返回unknow host错误提示。 我试过telnet,从linux下面可以telnet到windows dos下,但是如果在telnet ip后面加上139端口就不行了,会报告连接被拒绝。 而且我在windows下用netstat -a查看不到139端口处于监听状态。 再次强调一下我为了这个测试已经把两边的防火墙都关闭了(我wxp下用的瑞星防火墙) 
在网上发了很多帖子询问,也查了很多相关资料,我在Linux下借助LinNeighborhood(linux共享信息图形界面,有点像windows的网络邻居)可以发现在同一工作组的其它windows主机,我与自己的电脑做了一个对比,在命令行下查看 端口,发现没有处于监听状态的139(netbios ssn)这个端口,我用尽网上列举的各种方法,试图开启此端口,但均未奏效。。。
最后我把问题归结于windows下面的tcp 139 udp 137 138端口没有打开,而这三个端口是windows下面netbios监听端口,它们没打开也就无法与linux的netbios建立session(会话)。   
就在解决这个问题的过程中,意外就发生了,本来以为是防火墙阻止了这几个端口,彻底把瑞星防火墙删掉了,但发现windows自带的防火墙不能使用,被组策略控制。从网上得知可能中病毒了,就启用瑞星杀毒,一个多小时过去了,貌似没有什么毒。又从网上看到优化大师中也能设置网络端口,于是我就打开了阔别已久的“大师”,一项项去找与端口有关的项,结果没看清找到哪里时,弹出一个对话框询问是否要优化,我过于新人这位大师,点了"yes"。结果不要紧,我再开机的时候电脑完全变了个样,声音也没有了,很多程序不能使用了,这时用恢复也恢复不了了。 但这时还可以进行一些基本操作,在网上查了一些资料后,我又做了一个错误的决定,这个决定导致系统完全不可再恢复。关机重启后直接蓝屏。。。
最后还是得通过最原始的方法来解决这个问题,重装,很简单,现在的安装盘超酷,十分钟不到连驱动都装好了。。。
现在系统一切正常,接下来我得升级下我的内核了。。。 才发现很古老!

你可能感兴趣的:(linux,windows,samba,共享,休闲)