samba最初发展的主要目就是要用来沟通Windows 与Unix Like 这两个不同的作业平台。本文以linux系统为例,介绍linux和windows之间通过samba协议共享文件时遇到的常见错误及其解决方法。
例如:
Linux IP:192.168.1.106
Window IP: 192.168.1.105
在linux上安装samba服务,按装之后打开smb.conf文件。
sudocp /etc/samba/smb.conf /etc/samba/smb.conf-bk
sudo vim /etc/samba/smb.conf
在smb.conf文件最后添加如下配置(其他的设置保持默认):
保存设置,重启samba服务.可以通过~#ps -A|grep smb 查看smb进程是否启动。
在window上输入linux ip地址,如果打不开窗口:你可以检查windows和linux之间能否相互ping通,检查smbd进程是否启动,检查smb.conf文件配置是否正确,这里不再详细说明。
如果弹出如下窗口说明samba服务已经启动。
如果能打开文件夹说明samba共享设置成功。
如果遇到如下情况,说明samba共享失败,此时就需要进行排错处理:
上面这种情况一般是由于共享文件夹路径设置有问题,你需要检查共享的文件夹是否存在。
这种情况一般属于权限问题。这类问题比较常见。首先,我们要先确定问题是出在linux上还是windows上:
你可以在linux上使用~#smbclient //192.168.1.106/Sharefolder/访问共享文件夹,如果可以正常访问,说明是windows的问题。你可以关闭windows防火墙试一试。还有一种情况:.默认情况下,Windows 7无法正常访问NAS或者Samba服务器上的共享文件夹。原因在于从Vista开始,微软默认只采用NTLM v2协议的认证回应消息了,而目前的NAS系统和Samba还只支持LM或者NTLM。
如果不能正常访问,说明是linux上的设置有问题。
1.共享文件夹不存在:
2.共享文件夹权限问题。或者共享文件夹上层目录权限问题:可以设置共享文件夹权限为chmod -R 755 /home/lu/share,我之前遇到过一次是share文件夹是755权限。但是上层目录lu权限是700,这样也会出问题。另外不要共享root目录下的文件夹。试一下关闭linux防火墙iptables -F。还有一种情况是SELinux在搞鬼。这个东西必须关闭。可以通过getenforce查看,如果没有关闭,使用setenforce 0关闭。
3.如果这些都不行,那只能通过log找原因了,var/log/samba/。