■ 前提
OS:AlmaLinux 9.8 x86_64
Samba パッケージバージョン:samba-4.23.5-10.el9_8.x86_64
■ 概要
SMB クライアント (Windows) から SMB サーバ (Samba) に対して、ファイル名を指定して実行 (Winキー+R) で「\\<SMBサーバのIP>\」とかでファイル共有へアクセスすることを想定する。
アクセス時、SMB のユーザーの認証 (NTLM 認証) の画面が表示され、Samba ユーザー名/パスワードで認証が成功すればファイル共有にアクセスできる。
一度認証に成功すると、次に「\\<SMBサーバのIP>\」でアクセスした時はキャッシュされた認証情報でファイル共有にアクセスする動作となる (そのため、認証画面は表示されない)。
ただ検証の都合上、別の Samba ユーザーでのアクセスを試したい (認証画面を再度表示したい) 時がある。
この場合、クライアント/サーバ側それぞれで試せることを以下にメモしておく。
とりあえず私の環境ではこれで認証画面が出るようになった (が、あんま内容吟味できていないのでもっと適切な方法あるかも)。
■ SMB クライアント (Windows) 側で試せること
PowerShell で net use コマンドを実行し、既存の接続があることを確認する。
> net use
新しい接続は記憶されます。
ステータス ローカル名 リモート名 ネットワーク名
-------------------------------------------------------------------------------
OK \\<SMBサーバのIP>\IPC$ Microsoft Windows Network
コマンドは正常に終了しました。
既存の接続をすべて削除する。
対象に「*」を指定すると他のサーバーの接続も含めてすべて削除されるので注意
> net use * /delete /y
これらのリモート接続が存在します:
\\<SMBサーバのIP>\IPC$
続行すると、接続は取り消されます。
コマンドは正常に終了しました。
既存の接続が無くなったことを確認する。
> net use
新しい接続は記憶されます。
一覧にエントリが存在しません。
■ SMB サーバ (Samba) 側で試せること
smbstatus コマンドを実行し、既存の接続があることを確認する。
# smbstatus
Samba version 4.23.5
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
15274 <Sambaユーザー名> <グループ名> <クライアントIP> (ipv4:<クライアントIP>:64851) SMB3_11 - partial(AES-128-GMAC)
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
<共有名> 15274 <クライアントIP> Sat Sep 26 13:01:38 2026 JST - -
Locked files:
Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
15274 1006 DENY_NONE 0x100081 RDONLY NONE /home/<Sambaユーザー名> . Sat Sep 26 13:03:20 2026
15274 1006 DENY_NONE 0x100081 RDONLY NONE /home/<Sambaユーザー名> . Sat Sep 26 13:03:20 2026
↑ で確認した PID に対して kill <PID> コマンドを実行し、既存の接続を削除する。
# kill 15274
既存の接続が無くなったことを確認する。
# smbstatus
Samba version 4.23.5
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
No locked files