web-dev-qa-db-ja.com

NTFS移動/コピーの設計上の欠陥を回避するにはどうすればよいですか?

ファイルサーバーのアクセス許可を扱った人なら誰でも知っているように、NTFSには移動/コピーの問題と呼ばれる興味深い設計機能/欠陥があります。

説明されているように このMS KB記事で 、フォルダーまたはファイルのアクセス許可は、フォルダーが移動され、ソースと宛先が同じNTFSボリューム上にある場合、親から自動的に継承されません。フォルダーがコピーされた場合、またはソースと宛先が異なるボリューム上にある場合、権限は継承されます。

ここに簡単な例があります:

「技術者」と「マネージャー」と呼ばれる同じNTFSボリュームに2つの共有フォルダーがあります。 Techniciansグループには、TechniciansフォルダーへのRWアクセス権があり、Managersグループには、「Managers」フォルダーへのRWアクセス権があります。誰かが両方にアクセスでき、サブフォルダーを「マネージャー」フォルダーから「技術者」フォルダーに移動した場合、移動されたフォルダーには、「マネージャー」グループのユーザーのみが引き続きアクセスできます。 「Technicians」グループは、「Technicians」フォルダーの下にあり、上から権限を継承しているはずですが、サブフォルダーにアクセスできません。

ご想像のとおり、これにより、サポートコール、チケット、およびこれらのエンドユーザーの問題を解決するための無駄なサイクルが発生します。さらに、ユーザーが上の安全なフォルダー/エリア間でフォルダーを頻繁に移動する場合に生じる可能性がある許可のネズミの巣は言うまでもありません同じボリューム。

質問は次のとおりです。

このNTFSの設計上の欠陥を回避するための最良の方法は何ですか?環境でどのように処理しますか?

リンクされたKB記事がWindowsエクスプローラーのデフォルトの動作を変更するためのいくつかのレジストリキーについて話していることを知っていますが、それらはクライアント側であり、ユーザーが私が考えるアクセス許可を変更する機能を持っている必要がありますファイルサーバーのアクセス許可(およびsysadminとしての健全性)を制御し続けたい場合、ほとんどの環境はスターターではありません。

31
David Archer

私のアプローチは、ファイル/ディレクトリレベルのファイル権限を使用しないことです。ファイル共有レベルのアクセス許可を使用し、サーバーファイルシステムのデータドライブ全体をEveryone Full Control(これは無効になる)に設定します。

長年にわたって(10 +)、NTFSアクセス許可はより複雑で、より多くのエラーにつながることがわかりました。権限が正しく設定されていない場合、または継承が壊れている場合は、データを公開し、そのデータを見つけて見づらくします。さらに、あなたが言うように、あなたは移動/コピーの問題にさらされています。

ディレクトリ/ファイルレベルのACLを使用する必要がある場所。定期的にヘルスチェックを行う以外に解決策はありません。

12
James Risto

まあ、それは本当に欠陥ではありません。ファイルを移動するときにアクセス許可を処理するためのこのルールは、少なくともNT3.1のベータ2以降に導入されています(ただし、Windows 2000でのみ追加されたため、継承は明らかにありません)。これは、Windowsのあらゆる機能と同じくらいよく知られています。私はあなた方の見解に多くの同情を抱いています。なぜなら、これによって一度も燃やされなかった私たちの数人がいる可能性があるからです。しかし、それはシステム管理者がすぐに学ぶことです。

JR

10
John Rennie

私たちはNT 3.51以来NTFSを使用してきましたが、この「問題」は(ほとんどすべての人がそうであるように)目にしましたが、それほど問題にはなりませんでした。

  • 共有ディレクトリから別の共有ディレクトリにファイルを移動する必要がある場合は、常にファイルをコピーするように指示します。 「ドラッグするときにCTRLキーを押したまま、小さな+が表示されていることを確認してください」というのは一般的なフレーズです。
  • 私たちの共有フォルダーはかなり単純な構造をしており、私たちが作成した共有フォルダーはグループ間であまり頻繁に行き来しないため、人々は最初からファイルをコピーしたいと思うでしょう。
  • 問題は主に「共通の」スペースで見られます-誰もが読み書きできるフォルダですが、これらのディレクトリはほとんど存続期間が短いため、パージされると問題はなくなります。

私が考えることができる回避策:

  • 異なるアクセス許可を持つフォルダを異なるNTFSボリュームに配置する方法を見つける
  • フォルダを介して実行されるスケジュールされたタスク(サポートリクエストの頻度に応じて1時間に1回または1日1回)を作成し、すべてのアクセス許可を最上位からのものと同じにリセットします。これは理想的ではなく、フォルダー内に多くのファイルが含まれている場合はさらに多くなりますが、サーバー側のレジストリ修正などの適切な解決策がない場合は問題を解決したままにするものです。確認したいコマンドは「cacls」と呼ばれ、バッチファイルに追加できます。

免責事項-私はUNIXのバックグラウンドを持っています(そして、最後の1つを実装して、さまざまなアクセス許可の欠陥を修正しました-不快に感じますが、仕事をします)。

4
Mark

グループポリシー/セキュリティポリシー/ファイルシステムを使用して、複雑なアクセス許可を追跡しています。 (ポリシーで「アクセス許可の置き換え」を使用しないでください)。

CACLSをスケジュールして夜間にすべての権限をリセットし、続いてgpupdate/forceを実行してポリシーから権限を再適用します。魅力のように機能します。

3
Alexandru Nica

管理者として移動するときは、xcopy/s/e/c/h/r/k/yを使用します。これは、ファイルの所有権とACLを除いて、すべてACL継承が自動的に開始されることを意味します。ユーザーがものを動かした。

3
Maximus Minimus

Windows 7(またはWindows Vista)以降、フォルダーが移動され、ソースと宛先が同じNTFSボリューム上にある場合、フォルダーまたはファイルのアクセス許可は親から継承されます(ファイルまたはフォルダーがエクスプローラー経由でコピーされる場合)。以前のOSでは、Far Managerを使用できます。宛先からのアクセス許可の継承を有効にすることができます(他の多くの機能と共に)。 Farは一般ユーザーにはフレンドリーではないように見えるかもしれませんが。

2
GCRaistlin

非常に簡単な回避策は、ファイルを圧縮して宛先ディレクトリに解凍することです。

0
Bob