Windows Server上のアクセス権がない共有フォルダーを見えなくする方法
2019/11/28
Windows Serverをファイルサーバーとして使用し、そのファイル共有機能を利用して複数のユーザー間で、ファイルを共有している環境はかなり多いと思います。
そして運用を始めてからしばらく経つと、ユーザーからこんな要望があがってくることがあります。
アクセス権がない共有フォルダーが見えてしまうのは困る!見えなくできないの?
通常ファイルサーバーは、セキュリティー上の理由からアクセスできる範囲を可能なかぎり限定するのが一般的です。
たとえば履歴書を電子データ化したものなど、個人情報が記されたファイルをファイルサーバーの共有フォルダーに保存している場合、そういったファイルが全ユーザーがアクセス可能な場所に保存してあったとしたら、大問題ですよね。
こういったファイルは多くの場合、採用業務を行う人事部門だけがアクセスできれば良いはず。
そのため人事部門の人だけがアクセスできる共有フォルダーを用意※し、そこに配置しておくべきでしょう。
※採用面接を行う幹部や部門長などにも、アクセス権を与える場合もあります。
ただWindows Serverの共有フォルダーは、アクセス権がないユーザーでも表示だけは可能(中身を見れるわけではなく、ファイル名やフォルダー名がエクスプローラー上に表示される)、という設定になっていることがあります。
そして実際にアクセスしようとすると、以下のような『ネットワークエラー xxxに対するアクセス許可がありません。ネットワーク管理者にアクセス許可を要求してください。』というメッセージが表示され、アクセスが拒否されます。
こういった設定・動作では、表示されてはいるものの、ユーザーがアクセスを許可されていないファイルやフォルダーの中身を閲覧したり、実行プログラムを実行することはできません。
ところが表示自体はされているので、アクセス不可のフォルダーであっても、そのフォルダー名などを見ることができてしまうのです。
ファイル名やフォルダー名から内容の詳細を推測するのは難しいですが、場合によってはある程度内容が推測できてしまうケースもあるでしょう。
また、□□さんはアクセスできるのに、どうして私は○○フォルダーにアクセスできないの!?
おかしいでしょ!今すぐなおしなさい!といったように、トラブルの原因となる可能性も考えられます。
だからこういった問題を防ぐために、アクセス権がない共有フォルダーが見えてしまうのは困る!見えなくできないの?
といった要望があがってくることがあるのです。
これについては結論から言いますと、現在使用されている多くのWindows Serverであれば可能です。※
そこで今回は、Windows Server上のアクセス権がない共有フォルダーを見えなくする方法をご紹介します!
※以前のバージョンのWindows Serverでは利用できませんが、本エントリー執筆時点でサポートされているServer OSであればすべてのバージョンで利用可能です。
アクセス権がない共有フォルダーを見えなくする方法
Windows Server上のアクセス権がない共有フォルダーを見えなくしたい場合、ABE(Access-based Enumeration) = アクセス ベースの列挙という機能を使用します。
それではさっそく、アクセス権がない共有フォルダーを見えなくする設定について、順を追って説明していきましょう!
設定は以下の手順で行います。
※下記説明ではWindows Server 2016のWORKGROUP環境を例に説明していますが、AD環境でも同様の設定で対応可能です。(ローカルアカウントを、ADアカウントに置き換えて考えてください。)
共有するフォルダーを作成する
まずは共有するフォルダーを作成しましょう。
本説明では、Cドライブの配下に以下構成の『share』というフォルダー(C:\share)を作成し、共有設定することとします。
1 2 3 4 | C:. └─share ├─child-A └─child-B |
共有フォルダーのアクセス権の設定に使用するユーザー、グループを作成する
共有フォルダーのアクセス権の設定は、個別に各ユーザーを追加すると効率が悪いです。
そこで同じアクセス権を設定するユーザーをまとめたグループを作成し、そのグループに対してアクセス権を設定することが多いでしょう。
今回は以下2ユーザーを作成し、『test』ユーザーのみ『test-group』グループのメンバーとします。
- test
- other
そして以下のようなアクセス権を設定することとしましょう。
1 2 3 4 | C:. └─share ├─child-A ← test-groupのみが読み書き可能。 └─child-B ← test-groupグループとotherユーザーの両方が読み書き可能。 |
共有するフォルダーにNTFSアクセス許可の設定を行う
共有するフォルダーと、アクセス権の設定に使用するユーザーやグループの準備ができたら、フォルダーに対してアクセス権の設定を行います。
ファイル共有のアクセス権の設定には、共有アクセス権とNTFSアクセス権(NTFSアクセス許可)の2つの設定項目が存在します。
ただしABEを使用する場合、NTFSアクセス許可の設定でアクセス権を制御する必要があります。
したがって現在運用中のファイルサーバーのアクセス権の設定を、共有アクセス権で制御している場合には、NTFSアクセス許可での制御に切り替えなければなりません。
NTFSアクセス許可の設定変更は、多数のファイルやフォルダーを含むフォルダーに対して行うと非常に時間がかかる。
変更中は共有フォルダーに対するアクセス速度が著しく低下する、といった問題が起こるため、設定変更は利用者が少ない時間に行うと良いでしょう。
共有アクセス権とNTFSアクセス権(NTFSアクセス許可)については、以前にくわしく書いているので、興味がある方は併せて以下も参照ください。
参考:ファイル共有はNTFSアクセス権と共有アクセス権のどちらで設定?
繰り返しになりますが、ABEを使用する場合はNTFSアクセス許可でアクセス権の設定をしなければなりません。
そのため『share』というフォルダー(C:\share)を共有フォルダーに設定。
そしてこのフォルダーに対し、共有アクセス権でEveryoneフルコントロール 許可に設定し、共有アクセス権ではすべてのアクセスを許可設定とします。
この説明に使用しているWindows Server 2016では、NTFSアクセス許可については初期設定のままでも、『test-group』グループと『other』ユーザーの両方が読み書き可能となるはずなので、設定の変更は不要です。
ただしこのままでは、このNTFSアクセス許可を継承している『share』フォルダー配下の『child-A』フォルダーと『child-B』フォルダーは、『test-group』グループと『other』ユーザーの両方が読み書き可能となっています。
そこで『child-A』フォルダーは、『test-group』グループのみが読み書き可能となるように、NTFSアクセス許可の継承を無効化し、設定を変更してください。
ここまでの手順により、『share』フォルダーは仕様どおりのアクセス権の設定が行われた状態で共有されており、『test』ユーザーと『other』ユーザーのどちらの資格情報でアクセスしても、以下のように2つのフォルダーを見ることができます。
もちろん『test』ユーザーであれば、『child-A』と『child-B』の両フォルダーにアクセス可能です。
対して『other』ユーザーは『child-B』フォルダーへはアクセス可能ですが、『child-A』にアクセスしようとすると、以下のようにアクセス不可であることを示すメッセージが表示されます。
こういった設定状態でABE(アクセス ベースの列挙)を有効にすれば、『other』ユーザーの資格情報で共有フォルダーにアクセス時、『child-A』フォルダーを非表示にできます。
ABE(Access-based Enumeration) = アクセス ベースの列挙を有効にする
Windows Server 2016の場合、ABEの設定はサーバーマネージャーから行うので、まずはサーバーマネージャーを起動※してください。
※『Windows』+『R』キーを押下 → servermanager.exeと入力 → 『Enter』キーを押下。
参考:Windows Serverのサーバーマネージャーの起動方法や自動起動の停止設定
サーバーマネージャーが起動したら、画面左側の『ファイルサービスと記憶域サービス』 → 『共有』とクリック。
さらに『share』を右クリックし、『プロパティ』をクリックしてください。
共有『share』のプロパティ画面左側の『設定』ボタンをクリックすると、画面右側に『アクセス許可設定に基づいた列挙を有効にする』というチェックボックスが表示されるので、これにチェックを入れます。
最後に『OK』ボタンをクリックすれば設定は完了です!
この設定を実行後、『test』ユーザーの資格情報を使って『share』にアクセスすると、『child-A』と『child-B』の両フォルダーにアクセス可能なので、もちろんどちらも表示されます。
そして『other』ユーザーの資格情報でアクセスした場合は以下のように、アクセス可能な『child-B』フォルダーのみ表示されます。
今回ご紹介したとおり、アクセス権がないファイルやフォルダーの非表示は、共有フォルダーのアクセス権の設定を、NTFSアクセス許可で設定していれば、ABEを有効にするだけでOKと、とっても簡単です。
ぜひ活用してみてくださーい!