トップ回答者
Windows7クライアントPCからSMBサーバーへアクセスしたときの挙動に関する質問

質問
-
Technet の皆さま
[質問]
以下の問題が発生しているのですが、Windows7でSMBクライアントの修正パッチなどの情報ありませんでしょうか。また、何かWindows7 PC側で対策を施す手立てはありませんでしょうか。
このような場に投稿する事が、初めてですので、追加で必要な情報があればお教えください。
[問題の内容]
以下の環境で接続したときに、Windows エクスプローラー上でコピー中の画面が起動したまま、進捗もなく、取り消しもできない状況となります。
[環境]
クライアントPC:Windows7 professional service pack1 64bitOS(以下のログのIPアドレス192.168.1.43)
サーバー:redhat7.2、IBM spectrum scaleをインストールし、SMBを起動してshareを作成。
tcpdumpで通信を確認すると、プロトコルはSMB2 となっていました。
[問題が発生する条件]
1.Windows エクスプローラー上でファイルをshareにコピーする。
2.サーバー上でそのファイルに対して、immutable bitを立てて、ファイルを読み取り専用にする。3.Windows エクスプローラー上でそのファイルに対して、上書きコピーする。
4.Windows エクスプローラー上でコピー中の画面が起動したまま、進捗もなく、取り消しもできない状態になる。(10分間継続)
タスクマネージャーでタスクの終了をしない限り、停止することができませんでした。
サーバー側でtcpdumpで通信を確認すると、SMBでサーバーからクライアントへ
”Error: STATUS_ACCESS_DENIED” というメッセージが送られている状況であることは確認しました。
IBM社側のサポートに確認したところ、Windows PC側での対応が必要と言われている状況です。
また、Windowsを使用せずにRedhat Linux上でSMB経由でマウントした場合には以下の状況で動作が再現しません。
ローカル環境でコピーした場合同じく期待した警告が発生されます。(なお、mountオプション、vers=2.0、vers=3.0は実施)
(警告内容)cp: 通常ファイル `/gpfs/share/test03/test1.txt' を作成できません:読み込み専用ファイルシステムです[アプリケーションとSMBクライアントの要因切り分け]
コマンドプロンプトを使い、同様の環境でcopyコマンドでコピーした結果、期待通りにアクセス拒否の応答があり、ファイルがコピーできなかった。
①サーバー側のファイルにimmutable bitを立てて、ファイルを読み取り専用にした。
> copy ${コピー元} ${コピー先}
xxxxx ファイルを上書きしますか?(Yes/No/All): Yes
アクセスが拒否されました。
0個のファイルをコピーしました。②サーバー側のファイルにimmutable bitを下げた。
> copy ${コピー元} ${コピー先}
xxxxx ファイルを上書きしますか?(Yes/No/All): Yes
1個のファイルをコピーしました。
tcpdumpログの抜粋:
511 2018-07-02 10:41:41.469981 192.168.1.43 192.168.1.164
SMB2 330 Create Request File: test03\test1.txt
512 2018-07-02 10:41:41.470233 192.168.1.164 192.168.1.43
SMB2 131 Create Response, Error: STATUS_ACCESS_DENIED
513 2018-07-02 10:41:41.470606 192.168.1.43 192.168.1.164
SMB2 330 Create Request File: test03\test1.txt
514 2018-07-02 10:41:41.470734 192.168.1.164 192.168.1.43
SMB2 131 Create Response, Error: STATUS_ACCESS_DENIED
...(省略)...
1484907 2018-07-02 10:50:12.957458 192.168.1.43 192.168.1.164
SMB2 330 Create Request File: test03\test1.txt
1484908 2018-07-02 10:50:12.957574 192.168.1.164 192.168.1.43
SMB2 131 Create Response, Error: STATUS_ACCESS_DENIED
1484909 2018-07-02 10:50:12.958103 192.168.1.43 192.168.1.164
SMB2 330 Create Request File: test03\test1.txt
1484910 2018-07-02 10:50:12.958324 192.168.1.164 192.168.1.43
SMB2 131 Create Response, Error: STATUS_ACCESS_DENIED
2018年7月9日 1:05
回答
-
Microsoft コミュニティのスレッドを見ていただくと分かるのですが、私のアドバイスに従って質問者の方が切り分けされているように、コピー動作するアプリケーションを Windows エクスプローラーから CMD.exe に変えると現象が起きないので、SMB 自体の問題というよりはその上のレイヤーの問題のようです。
hebikuzure
- 回答としてマーク 栗下 望Microsoft employee 2018年8月8日 5:27
2018年7月9日 11:38
すべての返信
-
話としては「Windows7クライアントPCからSMBサーバーへアクセスしたときの挙動に関する質問」(https://answers.microsoft.com/ja-jp/windows/forum/windows_7-files/windows7%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2/63fd2e74-af5a-4df8-8c17-fcf76078fd82 )の続きのようですが、同じ方でしょうか?
hebikuzure
- 編集済み Hebikuzure aka Murachi AkiraMVP 2018年7月9日 2:32
2018年7月9日 2:32 -
Windows7がSMB1.0ではないかなぁという気が・・・XPパソコンが最近まであったところなどはいまだSMB1で運用していた,なんてのがあるかも。
PowerShellをインストールして管理者として起動。
Get-SmbConnection
でどうでしょうか・・・。
参考:
https://support.microsoft.com/ja-jp/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and
- 編集済み JJJ-Ran 2018年7月9日 5:48
2018年7月9日 5:46 -
Microsoft コミュニティのスレッドを見ていただくと分かるのですが、私のアドバイスに従って質問者の方が切り分けされているように、コピー動作するアプリケーションを Windows エクスプローラーから CMD.exe に変えると現象が起きないので、SMB 自体の問題というよりはその上のレイヤーの問題のようです。
hebikuzure
- 回答としてマーク 栗下 望Microsoft employee 2018年8月8日 5:27
2018年7月9日 11:38