解决Samba服务器连接问题

我有一个在Ubuntu上运行的Samba服务器(smbd版本4.3.11)。

我无法从我局域网上的其他计算机连接到它(我尝试了一个OS X 10.12盒子和一个Windows 7盒子)

但是,我可以telnet到我的OS X的139端口,并看到smbd日志中的连接。 我可以在Ubuntu上本地连接到samba。

任何想法进一步故障排除?

有关我迄今为止所做的更多细节:

Ubuntu服务器在192.168.1.11

OS X客户端框在192.168.1.107

我将smbd上的日志级别设置为3级。

我在Ubuntu服务器上运行以下命令:

smbclient -L 192.168.1.11 -U% 

这成功地返回服务器上的预期份额,并将大量的日志行打印到smbd日志中。

我在OS X框上运行以下命令:

 smbutil view '//192.168.1.11' 

我得到以下错误:

 smbutil: server connection failed: No such file or directory 

服务器上没有打印日志行。 任何尝试使用OS X Finder中的connect to server UI connect to server失败。 与Windows 7中的map network drive用户界面相同。不会发布smbd日志条目。

我在Ubuntu服务器上运行以下命令:

 echo hello | telnet 192.168.1.11 139 

这出现在smbd日志中:

 ==> /var/log/samba/log.192.168.1.11 <== [2017/07/09 03:45:41.892842, 3] ../source3/smbd/oplock.c:1310(init_oplocks) init_oplocks: initializing messages. [2017/07/09 03:45:41.892955, 0] ../source3/smbd/process.c:339(read_packet_remainder) read_fd_with_timeout failed for client 192.168.1.11 read error = NT_STATUS_END_OF_FILE. [2017/07/09 03:45:41.893288, 3] ../source3/smbd/server_exit.c:252(exit_server_common) Server exit (failed to receive smb request) ==> /var/log/samba/log.smbd <== [2017/07/09 03:45:41.892646, 3] ../source3/lib/access.c:338(allow_access) Allowed connection from 192.168.1.11 (192.168.1.11) 

我在OS X上运行相同的命令,并在日志中显示以下内容:

 ==> /var/log/samba/log.192.168.1.107 <== [2017/07/09 03:47:47.151012, 3] ../source3/smbd/oplock.c:1310(init_oplocks) init_oplocks: initializing messages. [2017/07/09 03:47:47.151336, 3] ../source3/smbd/server_exit.c:252(exit_server_common) Server exit (failed to receive smb request) ==> /var/log/samba/log.smbd <== [2017/07/09 03:47:47.150839, 3] ../source3/lib/access.c:338(allow_access) Allowed connection from 192.168.1.107 (192.168.1.107) 

所以,看起来OS X盒子可以连接到smbd端口,smbd正在监听。 smbd似乎在本地正确提供请求,但拒绝响应任何有效的远程请求。 我很茫然…

Samba共享目录是否具有正确的权限?

Samba的一个常见问题是共享文件夹本身没有正确的权限。 当你使你的共享目录,你应该没有Sudo。 如果你不这样做,你将不得不在事后调整所有权和权限。 注意Samba仍然执行smb共享function,但权限需要正确。