![尽管 Windows 10 客户端关闭/重启,Samba 服务器仍显示用户已登录](https://linux22.com/image/782767/%E5%B0%BD%E7%AE%A1%20Windows%2010%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%85%B3%E9%97%AD%2F%E9%87%8D%E5%90%AF%EF%BC%8CSamba%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BB%8D%E6%98%BE%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B7%B2%E7%99%BB%E5%BD%95.png)
多年来,我在具有 Samba Active Directory 的域中遇到了 Samba 4.3.11 和 Windows 10 的问题:
即使关闭或重新启动 Windows 10 客户端后,Windows 10 上的用户仍将显示为进一步登录 samba 服务器(smbstatus -b)。
如果他们仅仅注销,他们将在约 10 秒后从 smbstatus 列表中正确消失。
仅当我将 Samba 服务器上的协议限制为 NT1(SMB1)时,Windows 关闭后我才能从 Samba 服务器正确注销用户。
我现在正在使用 samba 4.13.13 构建一个新域,并且再次看到同样的问题。
我非常希望最终找到一个比仍然使用旧的 smb 协议更好的解决方案。
谢谢任何提示!
答案1
这是 Windows 的一个功能。重启后,它将以之前的用户身份登录并重新启动正在运行的应用程序。
答案2
这里还没有真正的解决方案,但是可以解决这个问题:
- 套接字选项 = TCP_NODELAY SO_KEEPALIVE TCP_KEEPIDLE=30 TCP_KEEPCNT=3 TCP_KEEPINTVL=3 - 将在约 40 秒后终止不活动的 smbd - 并且
- 否决 oplock 文件 = /NTUSER.DAT/ntuser.dat/NTUSER.POL/ntuser.pol/NTUSER.INI/ntuser.ini/ - 在主页共享声明中
套接字选项来自这个有趣的线程:如何防止 samba 在客户端断开连接后持有文件锁?
2011 年,Samba 大师们在一次讨论中也提出了同样的想法:https://lists.samba.org/archive/samba-technical/2011-July/078633.html
希望这可以帮助那些正在寻找类似问题和答案并偶然发现此帖子的人。