连接到域的 Windows 7 客户端连接到 Samba 3.5.2 服务器

连接到域的 Windows 7 客户端连接到 Samba 3.5.2 服务器

我们处于混合 Unix(在 Samba 情况下为 AIX)和 Windows 域环境中。

我们今年的目标之一是从 XP 升级到 Windows 7。在测试时,我们发现无法像在 Windows XP 上那样从 Windows 7 连接到 Samba 共享。

我们正在运行 Windows 7 Enterprise x64 和 Samba 3.5.2。

我们已经禁用了 Windows 7 计算机上的防火墙,并从中创建了相应的密钥Windows 7 上的 Samba wiki 条目。

smb.conf:

>cat smb.conf
[global]
        workgroup = DATABASE
        netbios name = MS
        server string = ms
        interfaces = 10.48.93.202/255.255.255.255 127.0.0.1/255.255.255.255
        encrypt passwords = Yes
        update encrypted = Yes
        pid directory = /opt/pware64/var/locks
        private dir = /opt/pware64/private
        smb passwd file = /opt/pware64/private/smbpasswd
        log level = 1
        log file = /opt/pware64/var/log/samba_log.%m
        max log size = 50
        max xmit = 65535
        name resolve order = host
        deadtime = 3600
        socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_SNDBUF=32768 SO_RCVBUF=32768
        os level = 255
        preferred master = Yes
        dns proxy = No
        #wins support = Yes
        wins support = No
        lock dir = /opt/pware64/var/locks
        hosts allow = all
        keepalive = 0
        syslog = 2
        winbind enum users = No
        winbind enum groups = No
        smb ports = 139

[homes]
        read only = No

[data]
        comment = Data
        path = /data
        valid users = testpc
        read only = No

[I]
        comment = I Drive
        path = /I
        valid users = dba
        read only = No

[Downloads]
        comment = Downloads
        path = /downloads
        valid users = dba
        read only = No

连接日志:

>$ ll *testpc
-rw-r--r--  1 root system 17K 18 Apr 2011 14:08 samba_log.testpc 

>$ tail -4 *testpc
2011/04/18 14:08:35.408950,  1] smbd/service.c:1069(make_connection_snum)
  testpc (10.48.93.120) connect to service data initially as user testuser (uid=6011, gid=1) (pid 1032402)
[2011/04/18 14:08:35.409878,  1] smbd/service.c:1250(close_cnum)
  testpc (10.48.93.120) closed connection to service data

尝试通过映射网络驱动器来连接 samba 服务器。它确实会提示输入密码,但实际上并没有继续。它显示的消息是The specified server can not perform the requested operation.

任何帮助都将不胜感激。谢谢。

答案1

在同事的协助下才发现了这个问题。

问题是,在我们的环境中,默认情况下,Windows 7 要求所有 SMB 数据包都经过签名。但是,Samba 服务器却没有。因此,有两种方法可以解决此问题:关闭 Win7 中的客户端签名或在全局部分向 smb.conf 文件添加一个标志,如下所示:'服务器签名=自动'。(我们使用的是 Samba 3.5.2)。

对于 Windows 7,您可以通过使该策略更宽松来“修复”它 - 从要求数字签名到如果服务器同意则可选地使用它。

使用方法如下:

本地 Windows 安全策略更改如下:开始菜单类型 GPEdit.msc 浏览到计算机配置->Windows 设置->安全设置->本地策略->安全选项查找“Microsoft 网络客户端:对通信进行数字签名(始终)”并将其更改为已禁用

您可能还需要对“Microsoft 网络客户端:数字签名通信(如果服务器同意)”执行相同操作。理论上,这应该在 NTLM 的协商/质询阶段进行协商,但可能会失败;NTLM 并未明确要求任何真正的协商。

相关内容