SMBCLIENT --身份验证文件"session setup failed: NT_STATUS_INVALID_PARAMETER"和"SPNEGO(gse_krb5) NEG_TOKEN_IN



(我有带有桑巴client.x86_64 4.6.2-8.el7 的 Centos 7 对抗 Windows Server 2008,该 Windows Server 2008 位于由单独的 Windows Server 2008 AD 域控制器控制的 AD 域中(

从这个开始:

smbclient -W my.domain -U myuser //svr.my.domain/fred mypassword -c list

。效果很好,然后决定将域,用户名和密码移动到一个文件中,并使用-A,如smbclient手册页中所述。文件窗口-凭据、内容:

username=myuser
domain=my.domain
password=mypassword

。使用命令行:

smbclient -A windows-credentials //svr.my.domain/fred -c list

....不起作用,给出错误:

SPNEGO(gse_krb5) NEG_TOKEN_INIT failed: NT_STATUS_NO_MEMORY
session setup failed: NT_STATUS_NO_MEMORY

。互联网上的一个小时表明很多人都有这个麻烦,几乎每个人都有不同的答案,但没有一个对我有用。尝试了他们的答案的各种组合 - 特别是 https://askubuntu.com/questions/1008992/ubuntu-17-10-to-access-windows-files-shares-within-workplace-it,最终得到......

创建了一个单独的 my.smb.conf,只需:

[global]
# seems to get rid of
#   SPNEGO(gse_krb5) NEG_TOKEN_INIT failed: NT_STATUS_NO_MEMORY
client use spnego = no
# seems to get rid of
#   session setup failed: NT_STATUS_NO_MEMORY
client ntlmv2 auth = no

。并使用:

smbclient -s my.smb.conf -A windows-credentials //svr.my.domain/fred -c list

。它看起来有效,但我不太确定,因为似乎有凭据缓存,并且完全缺乏有关这些东西如何工作或应该如何工作的信息。

谁能真正解释这些?即使没有,也许这个问题的另一个答案也会在某个地方帮助某人。

这似乎是特定于Windows 2008的。附加到 Windows Server 2016 无需修改后的 smb.conf 文件即可工作。我一直无法找到任何真实的细节。

如果 smbclient 出现问题 您可以挂载SMB文件夹并像本地文件夹一样使用它

mount -t cifs //<ip>/<share folder>$ /mnt -o user=<user>,pass=<password>,domain=<workdomain>

最新更新