1

たとえば、一方で、私はチェックすることができます

  • ユーザーのセキュリティ識別子を構築することによってファイルに書き込むことができる場合、
  • 管財人の設立、
  • 個別のアクセス制御リストを取得し、
  • 次に、アクセスマスクを取得します
  • 最後に、FILE_GENERIC_WRITE ビットが含まれているかどうかを確認します。

一方、私はただ

  • GetFileAttributes を呼び出して、
  • 戻り値 == FILE_ATTRIBUTE_READONLY かどうかを確認します

後者の場合、この属性が設定されている場合、ACL のことを気にする必要がないことを意味すると思います。または、私が見逃している他の微妙な点はありますか?

アクセス制御リスト機能が新しいWindows APIであるのに、GetFileAttributesがDOS情報を返すということですか?両方をチェックする必要がありますか?

乾杯、

ベン。

4

1 に答える 1

2

ファイル属性は、ACL とは関係ありません。

完全なアクセス許可を持つことができる「読み取り専用」ファイルと、まったくアクセスできない非読み取り専用ファイルを持つことができます。また、読み取り専用メディアが原因でまだ書き込みができないフル アクセスの非読み取り専用ファイルを使用することもできます。さらに、読み取り専用フラグは、ファイルへの (書き込み) アクセス権を持つ人なら誰でも削除できます。

ファイルに書き込めるかどうかを確認する最善の方法は、ファイルに書き込んでみる (または、少なくとも書き込み用にファイルを開く) ことです。

于 2013-01-29T17:03:30.790 に答える