ファイルサーバ構築指南書①~ファイルサーバの役割を追加する~
ファイルサーバ構築指南書②~共有アクセス許可とNTFSアクセス許可の違い~
前回、前々回とファイルサーバを作成するうえで欠かせない知識を紹介してきました。今回は「共有フォルダの作成方法」にスポットしてお話ししていきます。
共有フォルダは Windows でごく当たり前に使用される技術のわりに、意外と奥が深かったりします。
例えば共有フォルダを作成する方法でも、よく使われるものだけで以下の4種類存在します。
- 共有ウィザード
- 詳細設定
- SMB共有 (簡易)
- SMB共有 (高度)
これらの共有方法で作成した共有フォルダですが、実はそれぞれでアクセス権などが微妙に異なります。「この方法で共有するとこうなる」というものを押さえておく必要があるでしょう。
Contents
「共有ウィザード」から共有した場合
「共有ウィザード」からの共有は以下のように行います。
共有方法
共有ウィザードを使用する方法は、恐らく最もポピュラーな共有方法でしょう。設定する箇所もアクセス権のみというシンプルさです。
アクセス権はどうなるか
共有ウィザードで特徴的なのは「アクセス許可のレベル」という要素です。本来共有フォルダには「共有フォルダアクセス許可」と「NTFSアクセス許可」しかありません。
「アクセス許可のレベル」は「所有者」、「読み取り/書き込み」、「読み取り」という3つの値をとることができますが、「所有者」なんていうアクセス権は共有フォルダアクセス許可にもNTFSアクセス許可にも存在しません。
実際に “test” ユーザに読み取り権限を与えてみます。
NTFSアクセス許可を見てみると、追加したユーザが存在しました。そしてアクセス許可は「読み取りと実行」になっています。
その他にも、以下の2つの特徴があります。
- 共有時には存在しなかった SYSTEM ユーザが存在する
- 継承が無効化されている
そして共有フォルダアクセス許可は Everyone のみではなく、Administrators も存在します。更に、どちらも「読み取り」ではなく「フルコントロール」が与えられています。
共有ウィザードで C:\Users のサブフォルダを共有すると、勝手に C:\Users が共有のルートフォルダになってしまいます。これは仕様です。例えばデスクトップのパスは「C:\Users\ユーザ名\Desktop」のため、デスクトップのフォルダを共有すると C:\Users 全てが共有されてしまいます。共有ウィザードで共有しないことで回避することが可能です。
「詳細設定」から共有した場合
「詳細設定」からの共有は以下のように行います。
共有方法
「詳細設定」から共有したい場合、対象のフォルダのプロパティから行う方法と、上図のようにフォルダーのオプションで「共有ウィザードを使用する(推奨)」を無効化して対象フォルダを右クリックから行う方法があります。
アクセス権はどうなるか
詳細設定から共有した場合、共有フォルダアクセス許可は Everyone に「読み取り」が与えられます。
NTFSアクセス許可は以下のようにドライブのアクセス許可を継承しています。
「SMB共有 (簡易)」から共有した場合
「SMB共有(簡易)」からの共有は以下のように行います。
共有方法
「SMB共有(簡易)」から共有した場合の特徴は「共有設定の構成」でしょう。それぞれ以下のような意味を持ちます。
アクセス許可設定に基づいた列挙を有効にする | ユーザが共有フォルダにアクセスした際、アクセス許可を持たないファイル及びフォルダが表示されなくなる |
共有のキャッシュを許可する | SMB キャッシュを有効化する。共有フォルダで「オフラインフォルダ」を利用できるようになる |
データアクセスの暗号化 | SMB 暗号化を有効化する。SMB データをエンドツーエンドで暗号化する |
アクセス権はどうなるか
共有フォルダアクセス許可は Everyone に「読み取り」が与えられ、NTFSアクセス許可はドライブからの継承です。つまり詳細設定から共有を行った場合と同じです。
共有設定の構成について
「共有ウィザード」で共有した場合と「詳細設定」で共有した場合、共有設定中は「共有設定の構成」を確認することができませんが、共有後にサーバマネージャから確認するとそれぞれ下図のようになっています。
共有ウィザードだけ「アクセス許可設定に基づいた列挙を有効にする」にチェックが入った状態です。これまでの情報から察するに、共有ウィザードとは共有の裏にある若干ややこしい設定を隠し、Windows の知識が浅い人でも簡単に共有を実行するための機能なのでしょう。
普段から詳細設定などから共有を実行している人にとっては「なんでこんな設定になっているんだろう」と思ってしまうかもしれませんが、ここで違いを知ることができたので「共有ウィザードで作成したんだな」と理解できるはずです。
「SMB共有 (高度)」から共有した場合
「SMB共有(高度)」からの共有は以下のように行います。
共有方法
「SMB共有(高度)」で共有した場合、「SMB共有(簡易)」での設定項目に加え、管理プロパティとクォータの設定が増えます。管理プロパティは「SMB共有(簡易)」でも共有後であれば設定可能ですが、クォータに関しては「SMB共有(高度)」でしか(サーバマネージャからは)設定できません。
なお、「SMB共有(高度)」は「ファイルサーバーリソースマネージャー」をインストールしていないと実行できないのでご注意を。
アクセス権はどうなるか
共有フォルダアクセス許可は Everyone に「読み取り」が与えられ、NTFSアクセス許可は継承が無効化されます。
つまり、共有フォルダアクセス許可は「詳細設定・SMB共有(簡易)」と同じになり、NTFSアクセス許可は「共有ウィザード」と同じになるということです。
どの共有方法が最も優れているか
改めてそれぞれの共有方法をまとめると以下のようになります。
共有フォルダアクセス許可 | NTFSアクセス許可 | |
共有ウィザード | Everyone/Administrators:フルコントロール | 継承:無効 |
詳細設定 | Everyone:読み取り | 継承:有効 |
SMB共有 (簡易) | Everyone:読み取り | 継承:有効 |
SMB共有 (高度) | Everyone:読み取り | 継承:無効 |
Windows での共有フォルダの作成方法を4つ紹介しましたが、優劣はありません。目的は同じで、結果が少し異なるだけです。
個人的な意見としては最後の「SMB共有 (高度)」を利用するのがよいかと思います。理由は以下の2つです。
- NTFSアクセス許可はドライブの継承を無効化するとアクセス権が分かりやすくスッキリする
- 共有の構成を手動で設定できる
ただし、共有フォルダアクセス許可が「Everyone:読み取り」になる点は注意しましょう。Everyone の権限が読み取りしかない場合、NTFSアクセス許可でフルコントロールにしようが全ユーザが読み取り以上の操作ができなくなります。
個人的には「SMB共有 (高度)」で共有して、共有フォルダアクセス許可は「Everyone:フルコントロール」にし、NTFSアクセス許可を細かく設定することをお勧めします。
皆さんそれぞれの思いがあると思いますので、他の考え方がある場合はご意見をお待ちしています。