「誰もアクセスできない」か「全員フルアクセス」か。極端な権限設定をやめよう。
こんにちは!「LINUX工房」管理人の「リナックス先生」です。
前回は、Windows Serverの心臓部であるActive Directory(AD)を構築しました。
これでユーザー管理は完璧です。
さて、ユーザーを作ったら次に必要なのは、彼らが成果物(ドキュメントやデータ)を保存する場所。
そう、「ファイルサーバー」です。
Windows Serverの役割の中で、最も稼働数が多いのがこのファイルサーバー機能でしょう。
先生、また壁にぶつかりました……。
共有フォルダを作ったんですけど、「アクセス拒否」って言われて誰も入れないんです。
面倒くさいから「Everyone」に「フルコントロール」を付けたら、今度は新入社員が大事なフォルダを消しちゃって大騒ぎに!
Linuxなら chmod 755 とか chown で一発なのに、Windowsのプロパティ画面、「詳細設定」とかタブが多すぎて意味不明です(泣)。
コウ君、それは「Windows権限管理の沼」にハマったわね。
Windowsの権限は「足し算(許可)」と「引き算(拒否)」が複雑に絡み合うパズルみたいなもの。
しかも「共有の許可」と「ファイルの許可」という2つの関門があるから、Linuxの感覚でやると大火傷するわ。
今回もウィンドウズ先生に、そのパズルの解き方を教えてもらいましょう。
はい、ウィンドウズ先生です。
Linuxエンジニアが最も嫌うのが、このACL(アクセスコントロールリスト)でしょう。
しかし、恐れることはありません。
「2つのルール」と「1つの鉄則」さえ守れば、Windowsの権限管理はLinuxよりも柔軟で安全に運用できるんです。
今回は、最新のファイルシステムReFSの話も含めて、堅牢なファイルサーバーの作り方を伝授します。
本記事では、NTFSアクセス許可の仕組み、共有アクセス許可との使い分け、最新ファイルシステムReFSのメリット、そしてPowerShellを使った効率的な管理手法までを解説します。
🟦 Windows Server入門講座(全8回)カリキュラム
現在地:【第3回】ファイルサーバーと権限管理。chmod 777が存在しない世界(NTFS/ReFS)
- 【第1回】Linux脳を解き放て。GUIの誘惑とPowerShellという「武器」
- 【第2回】Active Directory (AD) 構築。世界を支配する認証基盤の仕組み
- 【第3回】ファイルサーバーと権限管理。chmod 777が存在しない世界(NTFS/ReFS)
- 【第4回】Windows版Webサーバー「IIS」入門。Nginx使いが知るべき作法の違い
- 【第5回】WSL2とWindows Terminal。Windows上でLinuxを飼い慣らすハイブリッド開発環境
- 【第6回】更新プログラムとの戦い。WSUS構築とWindows Updateの完全制御
- 【第7回】トラブルシューティングとイベントビューア。grepできないログをどう読むか
- 【第8回】Hyper-Vとコンテナ。WindowsコンテナとDockerの共存戦略
第1章:ファイルシステムの選択。NTFSか、ReFSか?
Linuxで ext4 や xfs を選ぶように、Windowsにもファイルシステムの選択肢があります。
長らく標準だった NTFS と、次世代の ReFS (Resilient File System) です。
NTFS (New Technology File System)
Windows NT時代から続く、最も信頼性が高く機能豊富なファイルシステムです。
OS領域(Cドライブ)は必ずNTFSである必要があります。
- メリット: 全機能対応(圧縮、暗号化、クォータ、ハードリンクなど)。互換性が高い。
- デメリット: 大容量ボリュームでの修復(chkdsk)に時間がかかる。
ReFS (Resilient File System)
「復元性(Resilient)」の名を持つ、データ破損に強い最新ファイルシステムです。
LinuxのBtrfsやZFSに近い概念を持っています。
- メリット: 自動修復機能(データ腐敗の検知と修復)。停電に強い。VHDX(仮想ディスク)の作成・結合が爆速。
- デメリット: OS起動ドライブには使えない。一部機能(ファイル圧縮など)に制限がある場合がある。
💡 プロの選定基準
・OS領域(Cドライブ): NTFS一択。
・データ領域(Dドライブ等):
→ 一般的なオフィスファイル(Excel, Word)置き場なら NTFS(圧縮やクォータを使いたいから)。
→ バックアップデータ、Hyper-Vの仮想ディスク置き場なら ReFS(信頼性と速度重視)。
第2章:権限管理の二重構造。「共有」と「NTFS」
Windowsファイルサーバーで最も混乱するのが、「共有アクセス許可(Share Permissions)」と「NTFSアクセス許可(Security Permissions)」の2つが存在することです。
1. 共有アクセス許可(入り口の鍵)
ネットワーク越し(SMBプロトコル)にアクセスする時だけ適用される権限です。
ローカルでログインした場合には適用されません。
2. NTFSアクセス許可(金庫の鍵)
ファイルシステム自体に設定される権限です。
ネットワーク経由でも、ローカルアクセスでも、常に適用されます。
Linuxのパーミッション(rwx)に相当するのはこちらです。
【プロの鉄則】共有許可は「Everyone フルコン」にせよ!
両方で細かく制限をかけると、「共有ではOKだけどNTFSでNG」といった矛盾が生じ、トラブルシューティングが困難になります。
マイクロソフトのベストプラクティスは以下の通りです。
- 共有アクセス許可:
Everyone: フルコントロール(門は開け放つ) - NTFSアクセス許可: ここで厳密に制限する (金庫に鍵をかける)
これなら、管理すべき場所は「NTFS(セキュリティタブ)」一箇所に集約されます。
「共有はガバガバでいいの?」と思うかもしれませんが、NTFS側でブロックされるのでセキュリティ上の問題はありません。
第3章:NTFSアクセス許可の深淵。「フルコントロール」の罠
NTFS権限には細かい種類がありますが、代表的なものは以下の通りです。
| 権限名 | できること | Linux相当 |
|---|---|---|
| フルコントロール | すべて(権限の変更、所有権の取得も含む) | root権限に近い |
| 変更 (Modify) | 読み書き、削除、実行(権限変更は不可) | rwx |
| 読み取りと実行 | 読み取り、プログラム実行 | r-x |
| 書き込み | ファイルの作成、上書き | -w- |
なぜ「フルコントロール」を与えてはいけないのか?
「変更」と「フルコントロール」の最大の違いは、「アクセス権(ACL)を変更できるかどうか」です。
一般ユーザーにフルコントロールを与えると、彼らは勝手にフォルダのアクセス権を変更し、管理者(Administrator)さえも締め出すことができてしまいます。
ユーザーに与える最大権限は「変更(Modify)」まで。 これが鉄則です。
「継承(Inheritance)」を理解する
親フォルダの権限は、自動的に子フォルダ・ファイルに引き継がれます。
これを「継承」と呼びます。
特定のサブフォルダだけ権限を変えたい場合は、「継承の無効化」を行いますが、これをやりすぎると管理不能になります。
推奨設計:
なるべく階層の深い場所で個別の権限設定をしない。
第一階層(部署フォルダなど)で権限を決め、下位フォルダはすべて継承させるのが最もトラブルが少ない設計です。
第4章:AGDLP戦略。権限管理のゴールデンルール
「誰に」「どの権限」を与えるか。
ユーザー個人(Taro.Yamada)に直接権限を割り当てると、人事異動のたびに数千個のフォルダ設定を変更する羽目になります。
これを防ぐための、業界標準の運用ルールが「AGDLP」です。
- A (Account): ユーザーアカウント
- G (Global Group): 役職や部署ごとのグループ(例:営業部)
- DL (Domain Local Group): アクセス権を付与するためのグループ(例:営業部フォルダ_読取)
- P (Permission): 実際のアクセス許可
運用の流れ
- ユーザー(A)を、部署グループ(G)に入れる。
- 部署グループ(G)を、アクセス権用グループ(DL)に入れる。
- アクセス権用グループ(DL)に、フォルダの権限(P)を与える。
こうしておけば、人が異動した時は「グループのメンバー」を変えるだけで済み、ファイルサーバー側の設定(ACL)を触る必要がなくなります。
少し手間に見えますが、大規模環境ではこの設計が必須です。
第5章:実践!PowerShellでファイルサーバー構築
それでは、PowerShellを使って一気に環境を構築してみましょう。
GUIでポチポチやるよりも圧倒的に速く、正確です。
1. フォルダ作成と共有設定
C:\Share\Sales フォルダを作成し、Sales という名前で共有します。
共有アクセス許可は「Everyone フルコントロール」にします。
# フォルダ作成 New-Item -Path "C:\Share\Sales" -ItemType Directory # SMB共有の作成(Everyoneフルコントロール) New-SmbShare -Name "Sales" -Path "C:\Share\Sales" -FullAccess "Everyone"
2. NTFSアクセス権の設定 (icacls)
PowerShellの Set-Acl コマンドレットは非常に複雑で使いにくいため、古き良き名作コマンド icacls を呼び出すのがプロの現場でも一般的です。
要件:
・管理者 (Administrators): フルコントロール
・営業部グループ (Sales-G): 変更
・その他 (Users): アクセス不可
# 継承を無効化し、現在の権限を削除(/inheritance:r) # 管理者にフルコントロール付与(/grant ...:F) icacls "C:\Share\Sales" /inheritance:r /grant "Administrators:(OI)(CI)F" # 営業部グループに変更権限を付与(:M) # (OI)(CI) は「オブジェクト継承」「コンテナ継承」=サブフォルダにも適用 icacls "C:\Share\Sales" /grant "CORP\Sales-G:(OI)(CI)M"
これで、堅牢なファイルサーバーの出来上がりです。
Linuxの chown / chmod に比べるとコマンドが長く見えますが、ADグループと連携した高度な制御ができるのが強みです。
第6章:シャドウコピー (VSS)。情シスの救世主
「すみません、間違って上書き保存しちゃいました!昨日のデータに戻せませんか?」
ファイルサーバー管理者あるあるです。
テープバックアップから戻すのは数時間かかりますが、Windows Serverには「シャドウコピー(VSS)」という神機能があります。
シャドウコピーとは?
定期的にファイルシステムの「スナップショット」を自動取得する機能です。
ユーザーは、エクスプローラーでファイルを右クリック→「以前のバージョン」タブから、自分で過去のファイルを復元できます。
管理者の手を煩わせることなく、ユーザー自身で解決できる。これこそが最高の機能です。
設定方法(PowerShell)
Cドライブでシャドウコピーを有効にし、朝7時と昼12時に取得するスケジュールを設定します。
# VSSの有効化(最大容量を10%に制限) vssadmin add shadowstorage /for=C: /on=C: /maxsize=10% # スケジュール設定はタスクスケジューラで行うのが一般的ですが、 # デフォルトで「AM7:00」「PM12:00」の設定が作成されます。
※GUIの場合は、ドライブのプロパティ→「シャドウコピー」タブから「有効」を押すだけです。
まとめ:権限管理を制する者は、組織を制す
お疲れ様でした!
第3回は、ファイルサーバーと権限管理の奥義について解説しました。
今回の重要ポイント:
- データ領域にはReFS、システム領域にはNTFSを選ぶ。
- 共有許可は「Everyoneフルコン」、制限は「NTFS許可」でかける。
- ユーザーに「フルコントロール」は絶対NG。「変更」を与える。
- AGDLP戦略でグループ管理を行い、属人化を防ぐ。
- シャドウコピーを有効化して、自分の時間を守る。
コウ君、これで「アクセスできない!」と泣きつかれることも、「消しちゃった!」と騒がれることも激減するはずです。
Windowsの権限周りは最初は複雑に見えますが、ルールが決まっているので、一度設計してしまえばLinuxよりも楽に管理できるんですよ。
さて、ファイルサーバーの次は、Webサーバーです。
「WindowsでWebサーバー? ApacheかNginx入ればいいじゃん」と思いましたか?
いえいえ、WindowsにはOSと一体化した強力なWebサーバー「IIS(Internet Information Services)」があります。
次回、第4回は「Windows版Webサーバー「IIS」入門。Nginx使いが知るべき作法の違い」です。
GUIでの直感的な管理、ASP.NETアプリの動作環境、そしてXML形式の設定ファイル(web.config)の読み方まで、LinuxエンジニアがIISを使いこなすための勘所を解説します。お楽しみに!
▼ ファイルサーバーを構築・検証する ▼
大容量ディスクが使える
「おすすめVPS」
インフラ設計の上流へ
「ITエンジニア転職」

コメント