Windows 10 クライアントをシャットダウン/再起動しても、Samba サーバーにユーザーがまだログオンしていることが表示される

Windows 10 クライアントをシャットダウン/再起動しても、Samba サーバーにユーザーがまだログオンしていることが表示される

私は何年も前から、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 - 非アクティブなsmbdを約40秒後に終了します - そして
  • 拒否 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

同様の問題と回答を探していて、この投稿に偶然出会った人にとって、これが役立つことを願っています。

関連情報