【お詫びとお知らせ】はじめに公開した時点および日経NETWORKの誌面で紹介した内容は問13の設問でNTFSアクセス権と共有アクセス権が入れ替わっていました。当初の設問にあるような「書き込みのみを拒否」するような設定はNTFSアクセス権でのみ設定可能で,共有アクセス権では設定することができません。このため,実際には設定できない状況の問題となってしまっていたので再公開した問題を修正すると同時に,この解説ページの内容もそれに併せて修正いたしました。日経NETWORKの誌面と併せてお読みいただく場合はご注意ください。ご迷惑をおかけして申し訳ございません。

問13. Windowsサーバーでファイルを共有している。全登録ユーザーが所属するUsersグループ、開発部が所属するDevelopグループ、営業部が所属するSalesグループのそれぞれに以下のようにアクセス権を設定しているフォルダに対して、開発部と営業部のユーザーはネットワーク経由でどのような操作が可能か。以下の選択肢から一つ選びなさい。

【NTFSアクセス権】
Users:フルコントロール
Develop:読み取りのみを許可
Sales:書き込みを拒否

【共有アクセス権】
Users:フルコントロール
Develop:設定なし
Sales:設定なし

[選択肢]
a. 開発グループのユーザーは読み書き可能、営業グループのユーザーも読み書き可能
b. 開発グループのユーザーは読み取りのみ可能で書き込みは不可、営業グループのユーザーも読み取りのみ可能で書き込みは不可
c. 開発グループのユーザーは読み書き可能、営業グループのユーザーは読み取りのみ可能で書き込みは不可
d. 開発グループのユーザーは読み取りのみ可能で書き込みは不可、営業グループのユーザーは読み書き可能
e. 上のいずれでもない

[解説]
 正解は,選択肢cの「開発グループのユーザーは読み書き可能,営業グループのユーザーは読み取りのみ可能で書き込みは不可」です。

 Windowsサーバーにおけるアクセス権管理の問題です。ファイル・サーバーとしてWindowsを利用しているユーザーは多いでしょう。Windowsでファイルを共有した場合,ネットワーク経由でアクセスしているユーザーに対して,「共有アクセス権」と「NTFSアクセス権」という2種類のアクセス権が設定できます。この2種類のアクセス権は両方を同時に設定でき,その組み合わせによって結果が変わります。管理者がきちんと理解して運用しないと,本来は許可したくない操作ができてしまったり,利用すべきユーザーが利用できなくなってしまったりすることになりかねません。

Windowsのアクセス権の設定 [クリックで拡大表示]

 まずは,ルールの原則をきちんとおさえておくことが重要です。まず,1.要求した操作が共有アクセス権とNTFSアクセス権の両方で許可されている必要があります。そして,2.共有アクセス権とNTFSアクセス権のそれぞれで許可されるためには,そのユーザーが所属するいずれかのグループに許可が与えられていることが必要となります。ただし,3.拒否が明示的に設定されている場合はもしほかの所属グループで許可が設定されていても拒否が優先して適用されます。この三つが,ぜひ覚えておきたい大原則です。

 つまり,そのユーザーがどんな操作ができるか確認する場合は,共有アクセス権とNTFSアクセス権のどこかで,所属する全グループについて拒否の設定がないかを確認します。ここで拒否の設定があれば,ほかがどのような設定になっていても,その操作に関しては実行できません。今回の問題では,営業のSalesグループに対してNTFSアクセス権で「書き込み」を拒否の設定にしていますので,営業に所属するユーザーは書き込みができません。

 拒否が設定されていない操作に関しては,共有アクセス権とNTFSアクセス権の両方で許可されているものだけが操作できます。ここで注意したいのは共有アクセス権とNTFSアクセス権それぞれの中では,ユーザーが所属するグループのすべてで許可されている必要はなく,どこかのグループでのみ許可されていれば,その操作が可能だということです。

 例えば,今回の問題では,共有アクセス権の中で全ユーザーが対象となるUsersにすべての操作が可能な「フルコントロール」が設定されています。このため,共有アクセス権に関しては,登録ユーザーは全員が何でも操作可能と言うことになります。つまり,今回の問題ではNTFSアクセス権についてのみ考えればよいことになります。

 NTFSアクセス権では,開発のDevelopグループに「読み取りのみを許可」の設定がされています。このため,読み取りだけが可能で書き込みは不可のような気がしますが,NTFSアクセス権でもやはりUsersグループにフルコントロールが設定されています。DevelopグループのユーザーはUsersグループにも含まれるため,結果としてすべての操作が可能な「フルコントロール」で操作ができ読み書きともに可能になります。つまり,Usersにフルコントロールが設定されていると,ほかのグループの部分でアクセス権を制限しようとしても「拒否」以外は効かないことになります。これはセキュリティの抜け穴になりやすいので気を付けた方がよいでしょう。

 ただし,Salesグループには最初に書いたように「書き込み」という操作に明示的に「拒否」が設定されています。このため,Usersグループにフルコントロールが設定されていても,書き込みは禁止されることになります。

 まとめると,今回の問題の設定では「開発グループのユーザーは読み書き可能,営業グループのユーザーは読み取りのみ可能で書き込みは不可」が正解になります。