Windows10パスワード無し・WindowsXPパスワード無し・Windows10パスワード有りの環境でそれぞれフォルダ共有をしたいとき、いろんな共有できない原因が出てきたのでまとめておく。
XPかよ…とかパスワード無しがセキュリティ上よろしくないとか、そういう話は犬に食わすのは可哀想だからあなたが一人で飲み込め。(この場で使用環境をとやかく言うつもりはない)
はじめに
本ページに記載されている内容はいずれもセキュリティ上にリスクを負うものです。
このページに書かれている内容によりあなた方がいかなる損害を負ったとしても責任を負いません。
必要なバックアップ措置等十分に施した上、各自の責任で実施要否を決めてください。
2019/11/13:追記修正
環境
・Windows10パスワード無し
・Windows10パスワード有り
・WindowsXPパスワード無し
この3つのPCにそれぞれフォルダ共有を張り、相互にファイル編集ができるようにする。
現象
※実は解決してから結構時間が経ってから書いているので、ここの現象が果たして本当にこうだったのかは実際の所あやしい。
Windows10パスワード無し→WindowsXPパスワード無し:接続できる
Windows10パスワード無し→Windows10パスワード有り:接続できる
WindowsXPパスワード無し→Windows10パスワード有り:接続できる
WindowsXPパスワード無し→Windows10パスワード無し:接続できない
Windows10パスワード有り→WindowsXPパスワード無し:接続できる
Windows10パスワード有り→Windows10パスワード無し:接続できない
整理すると、クライアントがなんだろうとWindows10パスワード無しに接続しようとするとできないというところからスタートした。
解決方法
接続できない原因が思いの外沢山あるのだが、大体Windows10がセキュリティ強化してくれたおかげで接続できなくなっているっぽい。
どれもWindows10に対する話で、WindowsXPが唯一関係するのは解決策4のネットワークプロファイル変更の話だけ、
解決策1 SMB1.0を有効にする
対象:Windows10
Windows10 ver.1709 (Fall Creators Update)はSMB1.0を標準ではサポートしないため、SMB1.0を無効化してある。
Windows10同士ならSMB2.0でファイル共有ができる(と知ったげに書いているがSMBについては詳しく知らない)のだが、XPはSMB1.0までしかサポートしていないので、SMB1.0を有効にしないとXPとWindows10ではファイル共有ができない。
有効化手順
- [Windowsキー+Xキー]を押して、[アプリと機能]をクリック
- 一番下の方にある[プログラムと機能]をクリック
- [Windows の機能の有効化または無効化] をクリックする
- [SMB 1.0/CIFS ファイル共有のサポート]を開いて、[SMB 1.0/CIFS クライアント]と[SMB 1.0/CIFSサーバー]をチェック
- [OK]をクリック
- [今すぐ再起動]をクリック
※再起動を求められなくても、再起動しないと有効にならないっぽいので再起動はしておくこと。
※ポイント※
ググるとちょいちょいNASに接続できなくなった理由として本件が原因として「クライアント」にチェックを付ける解決策が上がっていますが、今回はWindows10パスワード無し・有りの両方を共有サーバにしているので、[SMB 1.0/CIFSサーバー]にもチェックをつけている。
解決策2 共有の詳細設定を変更する
対象:Windows10
- [Windowsキー+Xキー]を押して、[設定]をクリック
- [ネットワークとインターネット]をクリック
- [状態]タブの下の方にある[ネットワークと共有センター]をクリック
- 左側にある[共有の詳細設定の変更]をクリック
- [プライベート(現在のプロファイル)]を開き、[ファイルとプリンターの共有を有効にする]にチェック
⇒もしプライベートではなく、ゲストまたはパブリック(現在のプロファイル)になっている場合、ネットワークプロファイルを変更する→解決策4参照 - [すべてのネットワークを開き]、[パスワード保護共有]の設定で[パスワード保護共有を無効にする]をチェック
- 変更の保存をクリック
※メモ※
ググった限りだと[ファイル共有の接続]を128ビットじゃなく40ビットにしないとイケナイという様な情報もあったが、別にそんなことはなかったので128ビットのままにしている。
解決策3 ユーザー権限を追加する
対象:Windows10
※既に共有設定ができている前提の解決手順です
- 共有をかけたいフォルダ又はドライブを右クリック→[プロパティ]
- [共有]タブをクリック→[詳細な共有]→[アクセス許可]
- [グループ名またはユーザー名]の一覧にEveryoneが無ければ、[追加]をクリック
3-1.Everyoneと入力して[名前の確認]をクリック
3-2.[OK]をクリック - [アクセス許可]のチェックを適当に設定して、[OK]をクリック
(この画面にEveryoneが無いとダメ) - [セキュリティ]タブをクリック
- 手順3と同じく[グループ名またはユーザー名]の一覧にEveryoneが無ければ、[編集]→[追加]をクリック
6-1.Everyoneと入力して[名前の確認]をクリック
6-2.[OK]をクリック
6-3.[アクセス許可]を適当に設定して、[OK]をクリック
(この画面にEveryoneが無いとダメ)
※注意点※
・[セキュリティ]タブと[共有]タブのアクセス許可は両方必要
手順2と5で2回もアクセス許可の設定をしているが、これは必要な手順。
必ず[セキュリティ]タブ、[共有]タブのアクセス許可両方の設定をしないと接続できない。
[共有]タブでEveryoneを追加すると勝手に[セキュリティ]タブのアクセス許可も勝手に追加されそうなものだが、[セキュリティ]タブのアクセス許可は勝手には追加されない。
正確には[共有タブ]で[Everyone]を共有に追加する方法により、勝手に追加されたりされなかったりする。
今回は手順にあるように[詳細な共有]から共有設定を追加すると、[セキュリティ]タブのアクセス許可に自動的に追加されないようだった。
[共有]タブの[ネットワークのファイルとフォルダーの共有]の以下の画面からEveryoneを追加した場合、[セキュリティ]タブのアクセス許可に自動的にEveryoneが追加される。
(今回の手順はハードディスク丸ごとの共有設定でこの画面の共有方法ではなく、[詳細な共有]でしか設定できなかった)
稀に個別でEveryoneアカウントを既に追加しているケースがある。
この場合、それが原因で接続できなくなっている場合があるので、既に追加済みのものを一旦削除→再度追加することで繋がるようになる…こともある。
解決策4 ネットワークプロファイルを変更する
対象:Windows10、WindowsXP
上記解決策すべてを実行しているのにパスワードを求められる場合は、ネットワークプロファイルが[プライベート]ではなく、[パブリック]になっている場合がある。
- [Windowsキー+Xキー]を押して、[ネットワーク接続]をクリック
- [接続プロパティの変更]をクリック
- [プライベート]をチェック
パブリック接続の場合、この画像にも書いてあるとおり、プリンタやファイルの共有が使用できない。
※ポイント※
WindowsXPもパブリックプロファイルになっている場合はプライベートプロファイルに変更しておく必要があるが、XPの手順を作りたくないので各自で調べてほしい…。
解決策5 NetBIOS over TCP/IPを有効にする
Windows10 パス無し→Windows10パス有りへのアクセス時に何故か接続できたり、できなかったりするときがあった。
またこの状態のときはコンピュータ名でのアクセスもできない。
より詳細な現象を言うと、これはWindwos10パス無しからパス有りへpingを飛ばして、応答が返ってきたらファイル共有できるようになるという現象だった。
(pongが返ってきたあとはコンピュータ名でのアクセスも可能になる)
これは単に自動的にPCを見つけられていない(サービスが起動していない・ファイアウォールに阻まれている)か、だと思ったのだが、サービスもファイアウォールも問題無い場合はLANデバイスのTCP/IP詳細設定のNetBIOS設定が「NetBIOS over TCP/IPを有効にする」にチェックを入れることで改善する場合がある。
※この設定はまずpingが疎通できなければこの設定をしても解決できません。
※サービスに問題ないかの確認はこちらを参照してください。
- [Windowsキー+Xキー]を押して、[ネットワーク接続]をクリック
- [アダプターのオプションを変更する]をクリック
- 使用中のLANアダプタを右クリックで選択→[プロパティ]を開く
-
インターネットプロトコル バージョン (TCP/IPv4)を選択して、[プロパティ(R)]をクリック
- [詳細設定]をクリック→[WINS]タブをクリック
なお、この設定を有効にしても、解決策1のSMBv1.0を有効にしていないと意味がない(はず)
参考にしたページ:特定のPCからのみNASの共有フォルダが見えなくなりました - マイクロソフト コミュニティ
解決策6 レジストリをいじる
これまたWindows10はアップデートによるセキュリティ強化で接続できなくなってることがあるらしい。
参考にしたページ
レジストリに以下の設定を変更(あるいは追加)する。
内容もそのまま引用させて頂く。
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
名前:AllowInsecureGuestAuth
データ:1(有効)
※0(無効)
※メモ※
今回の自分の環境では必要のない対応だった。
AllowInsecureGuestAuthが元から無い人は作らないといけないし、無くても正常にファイル共有できているなら特に追加する必要もない。
解決策その7 レジストリをいじる2
上記で解決したかのように見えたが、そうは問屋が卸さなかった。
ここがすごく参考になった。
上記URLの内容ではポリシー関連のレジストリもいじっているが、今回自分の環境で必要だったのはこの2点のみだった。
[匿名の制限] チェック
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\RestrictAnonymous0 — 制限なし。既定のアクセス許可に従って制限される
1 — セキュリティ アカウント マネージャのアカウントおよび名前の列挙を許可しない
2 — 明示的な匿名アクセス許可がない限りアクセスできない
初期値は0の筈。この記事では変更しない。
※該当サーバ側PCではこの値が1になっていたので0に変更。
ローカルセキュリティポリシー「ネットワークアクセス: Everyoneのアクセス許可を匿名ユーザに適用する」を無効から有効に変更。 レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\everyoneincludesanonymous
0から1に変更。
以上
とりあえず、自分の環境ではこれだけやったら漸くファイル共有できたよ。
という話でした。