Windowsの共有レベルのセキュリティシステムでは、共有フォルダへのアクセスを2つの方法で制限できます。1つ目は、アクセスの種類を読み取り専用に設定することです。2つ目は、共有フォルダにパスワードを設定することです。つまり、機密情報を含むフォルダを共有する場合は、アクセスの種類を読み取り専用に設定し、フォルダをパスワードで保護した上で、特定のユーザーとのみパスワードを共有することができます。
しかし、共有フォルダへのアクセスをパスワードで保護したとしても、ワークグループ内の誰でも「ネットワークコンピュータ」を開いて、パスワードで保護されたフォルダを共有していることを知り、興味を持つ可能性があります。ご想像のとおり、これはセキュリティ上の妥協点と言えるでしょう。
幸いなことに、Windowsには古くからある非常に効果的なネットワーク技術があり、共有ネットワークリソースを非表示にすることができます。この技術を実装すると、共有リソースは「ネットワークコンピュータ」や「マイネットワーク」に表示されなくなりますが、リソースの存在を知っているユーザーは簡単に接続できます。
この手法は Windows 9x ワークグループに関係しますが、ワークグループ環境とドメイン環境の両方で Windows NT、Windows 2000、および Windows XP でも機能します。
共有したいリソースを非表示にする方法
は簡単です。リソースの共有名にドル記号($)を追加するだけです。こうすることで、共有リソースはネットワーク上に表示されなくなります。さらに、共有リソースに設定されているアクセス制限やパスワードも引き続き有効です。
共有フォルダを非表示にする
それでは、実際に共有フォルダを非表示にする方法を見てみましょう。例えば、Neptune-98というシステムで「マイドキュメント」フォルダを隠しリソースとして共有したいとします。
まず、Windowsエクスプローラーを起動し、「マイドキュメント」フォルダを選択します。次に、フォルダを右クリックし、ショートカットメニューから「共有」を選択します。「マイドキュメントのプロパティ」ダイアログボックスが表示されたら、「共有名」オプションを選択し、「共有名」テキストボックスに$で終わる共有名を入力します。次に、アクセスの種類と、必要に応じてパスワードを指定します。図Aは、パスワードによってフルアクセスが可能な共有名「Hidden$」を示しています。
図A |
![]() |
共有名に $ を追加することで共有フォルダーを非表示にすることができます。 |
共有名を入力したら、「OK」をクリックします。共有フォルダにパスワードを設定している場合は、パスワードの確認を求められます。
隠しフォルダへのアクセス
隠し共有フォルダを設定したら、ネットワーク上の他のシステムからそのフォルダに接続する方法を知っておく必要があります。まず、共有されている「マイドキュメント」フォルダが本当に隠しフォルダになっていることを確認しましょう。そのためには、「ネットワークコンピュータ」を起動し、図Bに示すようにNeptune-98システムにアクセスします。ご覧のとおり、Neptune-98には共有リソースが存在しないように見えます。
図B |
![]() |
共有リソースは確かに隠されています。 |
隠し共有フォルダに接続するには、ツールバーの「ネットワークドライブの割り当て」ボタンをクリックします。「ネットワークドライブの割り当て」ダイアログボックスが表示されたら、「パス」テキストボックスに隠しフォルダの汎用命名規則(UNC)パスと共有名を入力します。この例では、図Cに示すように、Neptune-98というシステム上のHidden$リソースへのUNCパスを入力します。
ネットワークドライブの割り当てボタンの追加
ツールバーに「ネットワークドライブの割り当て」ボタンが表示されない場合は、メニューバーから「表示」|「フォルダーオプション」を選択します。「フォルダーオプション」ダイアログボックスが表示されたら、「表示」タブをクリックし、「ツールバーにネットワークドライブの割り当てボタンを表示する」チェックボックスをオンにして、「OK」をクリックします。
図C |
![]() |
隠しリソースに接続するには、[ネットワーク ドライブの割り当て] ダイアログ ボックスを使用する必要があります。 |
接続を完了するには、「OK」をクリックします。パスワードを指定した場合は、図Dに示すような「ネットワークパスワードの入力」ダイアログボックスが表示されます。パスワードを入力すると、Windowsは隠し共有フォルダに接続し、他の共有フォルダと同様にファイルにアクセスできるようになります。
図D |
![]() |
共有フォルダーにパスワードを割り当てている場合は、フォルダーにアクセスする前にパスワードを入力するように Windows から求められます。 |
共有プリンタを非表示にする
共有フォルダを非表示にして接続する方法がわかったので、共有プリンタを非表示にする方法を見てみましょう。非表示の共有プリンタを設定するシステムの名前がSunで、HP LaserJet IIIP Plusプリンタが搭載されているとします。
まず、「マイコンピュータ」を起動し、「プリンタ」フォルダを開きます。HP LaserJetプリンタアイコンを右クリックし、ショートカットメニューから「共有」を選択します。すると、プリンタの「HP LaserJet IIIPのプロパティ」ダイアログボックスに「共有」タブが表示されます。プリンタを共有するには、「共有」オプションを選択し、「共有名」テキストボックスに末尾が$で終わる共有名を入力します。「パスワード」テキストボックスにプリンタのパスワードを設定することもできます。この時点で、プリンタの「共有」タブは図Eのようになります。
図E |
![]() |
共有プリンターを非表示にするには、共有名に $ を追加します。 |
手順を完了するには、「OK」をクリックしてください。共有プリンタにパスワードを割り当てている場合は、確認を求められます。
非表示のプリンタへの接続
非表示の共有プリンタの設定が完了したら、別のシステムからそのプリンタに接続してみましょう。まず、「マイコンピュータ」を起動し、「プリンタ」フォルダを開きます。次に、「プリンタの追加」アイコンをダブルクリックして、「プリンタの追加ウィザード」を起動します。ウィザードでプリンタとコンピュータの接続方法を尋ねられたら、「ネットワークプリンタ」オプションを選択します。
プリンタの追加ウィザードでネットワーク プリンタへのパスの入力を求められた場合は、次の 2 つの選択肢があります。[参照] をクリックしてワークグループをスキャンし、接続する共有プリンタを探すか、共有プリンタへの UNC パスを入力します。
[参照] をクリックしてワークグループをスキャンすると、図 Fに示すように、Sun という名前のシステム上のプリンタは表示されません。
図F |
![]() |
共有プリンターは非表示になっているため、[プリンターの参照] ダイアログ ボックスには表示されません。 |
非表示の共有プリンタに接続するには、ネットワーク リソースにアクセスするための UNC 形式を使用し、リソース名にドル記号 ($) を追加する必要があります。
例えば、サンプルシステムであるSun上の隠し共有プリンタにアクセスするには、図Gに示すように「ネットワークパスまたはキュー名」テキストボックスに入力します。入力が完了したら、「次へ」をクリックしてインストールを続行します。
図G |
![]() |
非表示の共有プリンターに接続するには、UNC 形式を使用する必要があります。 |
プリンターにパスワードを設定している場合、プリンターを使用しようとするすべてのユーザーにパスワードの入力が求められます(図Hを参照)。パスワードを入力すると、Windowsはシステムを非表示の共有プリンターに接続します。
図H |
![]() |
プリンタにパスワードを割り当てている場合は、プリンタにアクセスする前にパスワードを入力するよう Windows から求められます。 |
ローカル ユーザーから共有リソースを隠す
ご存知のとおり、リソースを共有すると、Windows はそのリソースのアイコンを、リソースを持っている手のアイコンに変更します。つまり、システムを使用しているすべてのユーザーがリソースが共有されていることがわかりますが、ほとんどの場合、これは大きな問題にはなりません。しかし、特定のユーザーのハード ディスクを監視して、禁止されているソフトウェアをダウンロードしてインストールしていないことを確認したい場合はどうすればよいでしょうか。ユーザーに知られずにそのユーザーのハード ディスクを共有したりアクセスしたりできたら便利だと思いませんか。私自身、まさにこの状況に遭遇したので、レジストリに簡単な変更を加えるだけで、リソースを共有したときに Windows がアイコンを変更しないようにする方法があることを発見しました。
まず、レジストリエディターを起動し、次のキーに移動します:
HKEY_CLASSES_ROOT\Network\SharingHandler
SharingHandlerキーを開いたら、Default文字列値をダブルクリックして「文字列の編集」ダイアログボックスを開きます。次に、「値のデータ」テキストボックスの内容を削除し、「OK」をクリックします。(Windows 9x/Meではこの値はMsshrui.dll、Windows 2000およびWindows XPではNtshrui.dllです。)
その後、レジストリエディターを閉じてシステムを再起動します。後日、Windowsにアイコンの変更を許可したい場合は、SharingHandlerキーにアクセスし、Msshrui.dllまたはNtshrui.dllの値に置き換えてください。