从 Windows 10 连接 Samba 公共共享时出现问题

从 Windows 10 连接 Samba 公共共享时出现问题

我有一台 Windows 10 机器(最新更新于 2016-10-10),它绝对拒绝访问 Linux(Raspbian - Debian 衍生产品)服务器上的公共 Samba 共享,除非在 Windows 中预先输入凭据。

Windows 10 客户端

IP 地址:10.0.0.184

不在域中。

Raspbian(Debian)Samba 服务器:

IP 地址:10.0.0.2

不在域中。

smb.conf:

[global]

workgroup = WORKGROUP
server string = %h server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d

security = share

passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

pam password change = yes
map to guest = bad user

[public]
  path = /home/public
  available = yes
  read only = no
  browsable = yes
  public = yes
  writable = yes
  guest ok = yes

IT 应该 100% 简单且直接,对吗?

场景:

从 Windows 10 机器上,我尝试访问 Samba 服务器:

\\10.0.0.2

我收到以下错误消息:

\\10.0.0.2 is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.

A specified login session does not exist. It may already have been terminated.

相当虚假,而且完全荒谬。

Samba 日志显示:

[2016/10/14 19:10:55.209107,  0] smbd/service.c:995(make_connection_snum)
Can't become connected user!

因此,由于我过去在 Windows 文件共享方面有很多不好的经历(或多或少),所以我在 Windows 10 中打开了凭据管理器。在那里,我在 Windows 凭据下插入以下新条目:

互联网或网络地址:10.0.0.2

用户名:pi

密码:[正确的密码]

现在,当我尝试使用 \10.0.0.2 访问 Samba 服务器时,将打开一个资源管理器窗口,其中显示“公共”文件夹,符合smb.conf文件规范。

当我尝试打开(公共)共享时,我可以打开它、保存和删除文件等。(如果我尝试创建一个新文件夹,则会在一秒钟内创建五个新文件夹,但这是另一天的问题。)

但是,这完全违背了公共共享的初衷,因为我必须在凭据管理器中输入有效的凭据才能使其工作。如果没有凭据,不仅共享不起作用,而且 Windows 甚至无法连接到服务器。

有人有什么想法吗?这只是 Windows 10 中文件共享的几个问题之一,但如果我让它工作,也许其他一些问题也会在此过程中得到解决。

因为我喜欢折磨自己,浪费生命中的几个小时,所以我卸载并清除了 Samba,重新启动(是的,我知道),然后重新安装。然后我从默认文件中删除了所有共享,只添加了以下内容:

[share_name]
    browseable = yes
    path = /home/public
    guest ok = yes
    read only = no
    create mask = 777

现在,无论凭据管理器中是否存储了(不必要的)凭据,我都可以访问 Samba 服务器,但会出现相同的错误:

\\10.0.0.2 is not accessible. You might not have permission to use this      network resource. Contact the administrator of this server to find out if you have access permissions.

A specified login session does not exist. It may already have been terminated.

文件内容如下log.smbd

[2016/10/14 21:06:27.956914,  0] lib/util_sock.c:605(open_socket_in)
  open_socket_in(): socket() call failed: Address family not supported by protocol
[2016/10/14 21:06:27.958765,  0] smbd/server.c:578(smbd_open_one_socket)
  smbd_open_once_socket: open_socket_in: Address family not supported by protocol
[2016/10/14 21:06:27.997747,  0] printing/print_cups.c:110(cups_connect)
  Unable to connect to CUPS server localhost:631 - Connection refused
[2016/10/14 21:06:28.011317,  0] lib/util_sock.c:605(open_socket_in)
  open_socket_in(): socket() call failed: Address family not supported by protocol
[2016/10/14 21:06:28.012127,  0] smbd/server.c:578(smbd_open_one_socket)
  smbd_open_once_socket: open_socket_in: Address family not supported by protocol
[2016/10/14 21:06:28.015107,  0]     printing/print_cups.c:487(cups_async_callback)
  failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL

我知道很多专业商业组织都在使用 Samba。他们到底是怎么让它工作的?这些错误完全是虚假的,超出了所有智能的范围!

答案1

Windows 10 客户端需要一些额外的调用才能由 SMB 服务器处理。我不知道 Samba 是否支持它们。其他一些 SMB 服务器确实支持 Windows 10 和 Windows 2016。

相关内容