File.SetAccessControl(String, FileSecurity) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
FileSecurity オブジェクトによって記述されたアクセス制御リスト (ACL) エントリを、指定されたファイルに適用します。
public:
static void SetAccessControl(System::String ^ path, System::Security::AccessControl::FileSecurity ^ fileSecurity);
public static void SetAccessControl (string path, System.Security.AccessControl.FileSecurity fileSecurity);
static member SetAccessControl : string * System.Security.AccessControl.FileSecurity -> unit
Public Shared Sub SetAccessControl (path As String, fileSecurity As FileSecurity)
パラメーター
- path
- String
アクセス制御リスト (ACL) エントリを追加または削除するファイル。
- fileSecurity
- FileSecurity
path
パラメーターで記述されたファイルに適用する ACL エントリを記述する FileSecurity オブジェクト。
例外
ファイルを開くときに I/O エラーが発生しました。
path
パラメーターは null
です。
ファイルが見つかりませんでした。
path
パラメーターは、読み取り専用のファイルを指定しました。
-又は-
この操作は、現在のプラットフォームではサポートされていません。
-又は-
path
パラメーターでディレクトリが指定されました。
-又は-
呼び出し元に必要なアクセス許可がありません。
fileSecurity
パラメーターは null
です。
注釈
SetAccessControl メソッドは、アクセス制御リスト (ACL) エントリを、非暗号化 ACL リストを表すファイルに適用します。
注意
fileSecurity
パラメーターに指定された ACL は、ファイルの既存の ACL を置き換えます。 新しいユーザーのアクセス許可を追加するには、GetAccessControl メソッドを使用して既存の ACL を取得し、変更してから、SetAccessControl を使用してファイルに適用します。
ACL は、特定のファイルに対する特定のアクションに対する権限を持っている(または持っていない)個人とグループを表します。 詳細については、「方法: アクセス制御リスト エントリ追加または削除する」を参照してください。
SetAccessControl メソッドは、オブジェクトの作成後に変更された FileSecurity オブジェクトのみを保持します。 FileSecurity オブジェクトが変更されていない場合、そのオブジェクトはファイルに永続化されません。 そのため、あるファイルから FileSecurity オブジェクトを取得し、同じオブジェクトを別のファイルに再適用することはできません。
ACL 情報をあるファイルから別のファイルにコピーするには:
GetAccessControl メソッドを使用して、ソース ファイルから FileSecurity オブジェクトを取得します。
コピー先ファイルの新しい FileSecurity オブジェクトを作成します。
ACL 情報を取得するには、ソース FileSecurity オブジェクトの GetSecurityDescriptorBinaryForm または GetSecurityDescriptorSddlForm メソッドを使用します。
SetSecurityDescriptorBinaryForm または SetSecurityDescriptorSddlForm メソッドを使用して、手順 3 で取得した情報をコピー先の FileSecurity オブジェクトにコピーします。
SetAccessControl メソッドを使用して、コピー先 FileSecurity オブジェクトをコピー先ファイルに設定します。
NTFS 環境では、ユーザーが親フォルダーに対する ListDirectory 権限を持っている場合、ReadAttributes と ReadExtendedAttributes がユーザーに付与されます。 ReadAttributes と ReadExtendedAttributesを拒否するには、親ディレクトリの ListDirectory を拒否します。
適用対象
こちらもご覧ください
.NET