我的服务器上的 Samba 服务出现了问题。自从 ubuntu 在其发行版中切换到 Samba 4.x 以来,这个问题一直持续到最新的 15.04。
ag
我的服务器上有一个用户AG
,Windows 7 机器上也有一个用户。在 samba 3.x 中一切正常,但在 samba 4.x 中,我遇到了一些有趣的用户名不匹配问题。
我观察到以下行为:当我从 Windows 主机登录时,我输入用户名ag
(或AG
无所谓)和密码。Samba 服务器第一次拒绝我,但第二次尝试时允许我进入。实际上,同样的行为也出现在 Linux 和 Mac OSX 客户端上,所以这不是 Windows 问题。我可以通过以下方式从 Linux 控制台模拟此情况:
nas@AGStorage:~$ smbclient -U AG //agvault/backup
Enter AG's password:
session setup failed: NT_STATUS_NO_MEMORY
nas@AGStorage:~$ smbclient -U AG //agvault/backup
Enter AG's password:
Domain=[HOME] OS=[Unix] Server=[Samba 4.1.13-Ubuntu]
smb: \> q
我尝试使用 Wireshark 分析行为,它清楚表明 Windows 首先尝试AG
(记住 Windows 中的用户名是)并出现错误,然后第二次AG
尝试并从 samba 服务器获得 OK。ag
当我模拟登录时,ag
只需一次尝试即可:
nas@AGStorage:~$ smbclient -U ag //agvault/backup
Enter ag's password:
Domain=[HOME] OS=[Unix] Server=[Samba 4.1.13-Ubuntu]
smb: \> q
username map = /etc/samba/usermap.txt
我已尝试互联网解决方案中的建议:在我的smb.conf
“with”ag = AG
中添加一行,usermap.txt
但对我而言它不起作用。
我该如何修复 Samba 服务器的这种不一致行为?有什么想法吗?
提前致谢!
答案1
以下命令很有帮助:
sudo service winbind stop
不知何故(我不知道具体原因),我的 samba 服务器配置错误,winbind
即使它有standalone server
角色,也无法进行通信。这似乎会导致通信错误winbind
和NT_STATUS_NO_MEMORY
首次登录失败。
大家玩得开心!