6

私は最近、私たちのファイルサーバーのセキュリティを再設計し、フルコントロールであったもののほとんどを変更対象としてマークしました。現在、私の開発者は、GENERIC_ALLを使用してファイルを開くたびに(CreateFile()たとえば、で)、アクセス拒否メッセージを受け取ると言っています。

調査の結果、それが++GENERIC_ALL以上であることを示すものは何もなかったようです。ただし、開発者は3つの定数値を追加し、これをに使用することができたため、これは当てはまらないようです。GENERIC_EXECUTEGENERIC_WRITEGENERIC_READCreateFile()

だから、私は尋ねます...GENERIC_ALL本当に何をしますか?

ありがとう、

マット

4

2 に答える 2

4

GENERIC_ALLアクセス権には、(権限を変更するため)や(所有者を変更するため)など、考えられるすべてのアクセス権が含まれます。[ファイルのセキュリティとアクセス権]ページには、アクセス権がファイルの特定のアクセス権にどのようにマップされるかが表示されます。[ファイルアクセス権定数]ページには、ファイルに対して可能なすべてのアクセス権が表示されます(おそらく、が使用されるとすべてが要求されます)。WRITE_DACWRITE_OWNERGENERIC_*GENERIC_ALL

開発者に、実際に必要なレベルのアクセスのみを要求するように勧める必要があります。たとえば、ファイルが両方に対して同時に開かれることはめったにありませGENERIC_EXECUTEGENERIC_WRITE

于 2012-05-09T01:28:33.950 に答える
3

GENERIC_ALL「可能な限りのアクセスレベル」を意味します(ファイルの場合、これには名前が付いていますFILE_ALL_ACCESS)。フルコントロールを削除しGENERIC_ALLたため、(たとえば)WRITE_DACが許可されなくなったため、アクセスが拒否された状態で開こうとすると失敗します。

于 2012-05-09T01:28:27.157 に答える