日期:2014-05-16  浏览次数:20795 次

samba的问题
有两台计算机:A 机安装windows vista ultimate,文件系统是ntfs。 B 机安装redhat linux 企业4,文件系统是ext3。
我想在两机之间实现共享文件的互访,也就是b机可以读写a机上的ntfs文件系统,a机也可以读写b机上的ext3文件系统。我安装了samba服务,但两机之间都不能访问对方,请问是什么原因?如何解决?

------解决方案--------------------
2机之间的网络通的吗?
防火墙?


------解决方案--------------------
可以ping可不代表端口就打开了。试试telnet 139/445端口看看通不通。应该是没什么问题的,我直接配置了samba用2008访问都没问题,只是默认防火墙是关了这些端口的,检查一下吧
137,138的UDP
139,445的TCP
------解决方案--------------------
都关掉防火墙,剩下就是配置问题了。
------解决方案--------------------
1、主要的Samba工具(服务器端和客户端):
smbcacls smbcontrol smbencrypt smbmount smbprint smbstatus smbtree
smbclient smbcquotas smbpasswd smbspool smbtar smbumount testparm
testprns swat smbd nmbd
smbclient:利用这个工具可连接其它 Unix like 的 Samba Server,或是连接 Windows 机器,以取得档案分享服务。
testparm :这个工具可让您测试smb.conf档定义是否正确。
smbstatus:这个工具可用来显示目前client端连接到Samba Server的联机状况。
nmblookup:这个工具可使用NT/2000网域内的主机名称查询出对应的IP地址。
smbpasswd:这个工具可用来建立、变更登入 Samba server的加密密码。
swat:这个工具让您可使用web接口(如:IE、Netscape)对Samba Server做组态设定。  
2、Samba配置文件:为/etc/samba/smb.conf,我们用得最频繁的是共享目录的设置选项,其含义如下:
[共享名]:在客户端显示的共享名 
comment=任意字符串:是对该共享的描述,可以是任意字符串,不过最好把访问的用户名和密码写入。 
path=共享目录路径:用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。例如,如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成path = /home/share/%u。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写path = /home/share/%m。
browseable=yes/no:用来指定该共享是否可以浏览。
writable=yes/no:用来指定该共享路径是否可写。 
available=yes/no:用来指定该共享资源是否可用。 
admin user=该共享的管理者:用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。例如"admin users=bobyuan,jane"(多个用户中间用逗号隔开)。
valid users=允许访问该共享的用户:用来指定允许访问该共享资源的用户。例如"valid users = bobyuan,@bob,@tech"(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)
invalid users = 禁止访问该共享的用户:用来指定不允许访问该共享资源的用户。例如"invalid users=root,@bob"(多个用户或者组中间用逗号隔开。)
write list=允许写入该共享的用户:用来指定可以在该共享下写入文件的用户。例如"write list=bobyuan,@bob"。 
public=yes/no:用来指定该共享是否允许guest账户访问。
guest ok=yes/no:意义同"public"。
read only=yes:共享目录是否只读。
create mask=0700:文件创建掩码。
directory mask=0700:目录创建掩码。
3、Samba配置实例:
(1)创建共享目录:我们在自己主目录下创建一个共享目录Share,它只允许new用户访问。创建共享目录的命令如下:
Perl code

cd ~
mkdir share
chmod 777 share