FileSystemRights FileSystemRights FileSystemRights FileSystemRights Enum

定義

アクセス規則と監査規則の作成時に使用するアクセス権を定義します。Defines the access rights to use when creating access and audit rules.

この列挙型には FlagsAttribute 属性があり、メンバー値ではビットごとの組み合わせを使用できます。

public enum class FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
type FileSystemRights = 
Public Enum FileSystemRights
継承
FileSystemRightsFileSystemRightsFileSystemRightsFileSystemRights
属性

フィールド

AppendData AppendData AppendData AppendData 4

ファイルの末尾にデータを追加する権限を指定します。Specifies the right to append data to the end of a file.

ChangePermissions ChangePermissions ChangePermissions ChangePermissions 262144

ファイルまたはフォルダーに関連付けられたセキュリティ規則と監査規則を変更する権限を指定します。Specifies the right to change the security and audit rules associated with a file or folder.

CreateDirectories CreateDirectories CreateDirectories CreateDirectories 4

フォルダーを作成する権限を指定します。この権限には Synchronize 値が必須です。Specifies the right to create a folder This right requires the Synchronize value.

CreateFiles CreateFiles CreateFiles CreateFiles 2

ファイルを作成する権限を指定します。Specifies the right to create a file. この権限には Synchronize 値が必須です。This right requires the Synchronize value.

Delete Delete Delete Delete 65536

フォルダーまたはファイルを削除する権限を指定します。Specifies the right to delete a folder or file.

DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles 64

フォルダーおよびそのフォルダー内に格納されているファイルを削除する権限を指定します。Specifies the right to delete a folder and any files contained within that folder.

ExecuteFile ExecuteFile ExecuteFile ExecuteFile 32

アプリケーション ファイルを実行する権限を指定します。Specifies the right to run an application file.

FullControl FullControl FullControl FullControl 2032127

フォルダーまたはファイルに対してフル コントロールを行い、アクセス制御と監査規則を変更する権限を指定します。Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. この値は、ファイルに対してどのような操作でも行うことができる権限を表します。この値は、この列挙体のすべての権限を組み合わせたものです。This value represents the right to do anything with a file and is the combination of all rights in this enumeration.

ListDirectory ListDirectory ListDirectory ListDirectory 1

ディレクトリの内容を読み取る権限を指定します。Specifies the right to read the contents of a directory.

Modify Modify Modify Modify 197055

読み取り、書き込み、フォルダーの内容の一覧表示、フォルダーとファイルの削除、およびアプリケーション ファイルの実行を行う権限を指定します。Specifies the right to read, write, list folder contents, delete folders and files, and run application files. この権限には、ReadAndExecute 権限、Write 権限、および Delete 権限が含まれます。This right includes the ReadAndExecute right, the Write right, and the Delete right.

Read Read Read Read 131209

フォルダーまたはファイルを読み取り専用として開いたり、コピーしたりする権限を指定します。Specifies the right to open and copy folders or files as read-only. この権限には、ReadData 権限、ReadExtendedAttributes 権限、ReadAttributes 権限、および ReadPermissions 権限が含まれます。This right includes the ReadData right, ReadExtendedAttributes right, ReadAttributes right, and ReadPermissions right.

ReadAndExecute ReadAndExecute ReadAndExecute ReadAndExecute 131241

フォルダーまたはファイルを読み取り専用として開いたりコピーしたりする権限、およびアプリケーション ファイルを実行する権限を指定します。Specifies the right to open and copy folders or files as read-only, and to run application files. この権限には、Read 権限および ExecuteFile 権限が含まれます。This right includes the Read right and the ExecuteFile right.

ReadAttributes ReadAttributes ReadAttributes ReadAttributes 128

フォルダーまたはファイルのファイル システム属性を開いたり、コピーしたりする権限を指定します。Specifies the right to open and copy file system attributes from a folder or file. たとえば、この値は、ファイルの作成日や変更日を表示する権限を指定します。For example, this value specifies the right to view the file creation or modified date. これには、データ、拡張ファイル システム属性、またはアクセス規則や監査規則を読み取る権限は含まれません。This does not include the right to read data, extended file system attributes, or access and audit rules.

ReadData ReadData ReadData ReadData 1

ファイルまたはフォルダーを開いたり、コピーしたりする権限を指定します。Specifies the right to open and copy a file or folder. これには、ファイル システム属性、拡張ファイル システム属性、またはアクセス規則や監査規則を読み取る権限は含まれません。This does not include the right to read file system attributes, extended file system attributes, or access and audit rules.

ReadExtendedAttributes ReadExtendedAttributes ReadExtendedAttributes ReadExtendedAttributes 8

フォルダーまたはファイルの拡張ファイル システム属性を開いたり、コピーしたりする権限を指定します。Specifies the right to open and copy extended file system attributes from a folder or file. たとえば、この値は、作成者や内容に関する情報を表示する権限を指定します。For example, this value specifies the right to view author and content information. これには、データ、ファイル システム属性、またはアクセス規則や監査規則を読み取る権限は含まれません。This does not include the right to read data, file system attributes, or access and audit rules.

ReadPermissions ReadPermissions ReadPermissions ReadPermissions 131072

フォルダーまたはファイルのアクセス規則や監査規則を開いたり、コピーしたりする権限を指定します。Specifies the right to open and copy access and audit rules from a folder or file. これには、データ、ファイル システム属性、および拡張ファイル システム属性を読み取る権限は含まれません。This does not include the right to read data, file system attributes, and extended file system attributes.

Synchronize Synchronize Synchronize Synchronize 1048576

ファイル ハンドルが I/O 操作の完了に同期するまでアプリケーションが待機できるかどうかを指定します。Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. この値はアクセスを許可したときに自動的に設定され、アクセスを拒否したときには自動的に除外されます。This value is automatically set when allowing access and automatically excluded when denying access.

TakeOwnership TakeOwnership TakeOwnership TakeOwnership 524288

フォルダーまたはファイルの所有者を変更する権限を指定します。Specifies the right to change the owner of a folder or file. リソースの所有者は、そのリソースに対してフル アクセス権限を持ちます。Note that owners of a resource have full access to that resource.

Traverse Traverse Traverse Traverse 32

フォルダーの内容を一覧表示し、そのフォルダーに格納されているアプリケーションを実行する権限を指定します。Specifies the right to list the contents of a folder and to run applications contained within that folder.

Write Write Write Write 278

フォルダーおよびファイルを作成し、ファイルに対してデータの追加または削除を行う権限を指定します。Specifies the right to create folders and files, and to add or remove data from files. この権限には、WriteData 権限、AppendData 権限、WriteExtendedAttributes 権限、および WriteAttributes 権限が含まれます。This right includes the WriteData right, AppendData right, WriteExtendedAttributes right, and WriteAttributes right.

WriteAttributes WriteAttributes WriteAttributes WriteAttributes 256

フォルダーまたはファイルのファイル システム属性を開いたり、フォルダーまたはファイルにファイル システム属性を書き込んだりする権限を指定します。Specifies the right to open and write file system attributes to a folder or file. これには、データ、拡張属性、またはアクセス規則や監査規則を書き込む権限は含まれません。This does not include the ability to write data, extended attributes, or access and audit rules.

WriteData WriteData WriteData WriteData 2

ファイルまたはフォルダーを開いたり、ファイルまたはフォルダーに書き込んだりする権限を指定します。Specifies the right to open and write to a file or folder. これには、ファイル システム属性、拡張ファイル システム属性、またはアクセス規則や監査規則を開いたり書き込んだりする権限は含まれません。This does not include the right to open and write file system attributes, extended file system attributes, or access and audit rules.

WriteExtendedAttributes WriteExtendedAttributes WriteExtendedAttributes WriteExtendedAttributes 16

フォルダーまたはファイルの拡張ファイル システム属性を開いたり、フォルダーまたはファイルに拡張ファイル システム属性を書き込んだりする権限を指定します。Specifies the right to open and write extended file system attributes to a folder or file. これには、データ、属性、またはアクセス規則や監査規則を書き込む権限は含まれません。This does not include the ability to write data, attributes, or access and audit rules.

次の例ではFileSystemRights 、列挙体を使用してアクセス規則を指定し、ファイルからアクセス規則を削除します。The following example uses the FileSystemRights enumeration to specify an access rule and then remove the access rule from a file. この例を実行するには、有効なユーザーまたはグループ アカウントを指定する必要があります。You must supply a valid user or group account to run this example.

using namespace System;
using namespace System::IO;
using namespace System::Security::AccessControl;

// Adds an ACL entry on the specified file for the specified account.

void AddFileSecurity(String^ fileName, String^ account, 
                        FileSystemRights rights, AccessControlType controlType)
{
    // Get a FileSecurity object that represents the 
    // current security settings.
    FileSecurity^ fSecurity = File::GetAccessControl(fileName);

    // Add the FileSystemAccessRule to the security settings. 
    fSecurity->AddAccessRule(gcnew FileSystemAccessRule
                                   (account,rights, controlType));

    // Set the new access settings.
    File::SetAccessControl(fileName, fSecurity);
}

// Removes an ACL entry on the specified file for the specified account.

void RemoveFileSecurity(String^ fileName, String^ account, 
                        FileSystemRights rights, AccessControlType controlType)
{

    // Get a FileSecurity object that represents the 
    // current security settings.
    FileSecurity^ fSecurity = File::GetAccessControl(fileName);

    // Remove the FileSystemAccessRule from the security settings. 
    fSecurity->RemoveAccessRule(gcnew FileSystemAccessRule
                                      (account,rights, controlType));

    // Set the new access settings.
    File::SetAccessControl(fileName, fSecurity);
}

int main()
{
    try
    {
        String^ fileName = "test.xml";

        Console::WriteLine("Adding access control entry for " + fileName);

        // Add the access control entry to the file.
        AddFileSecurity(fileName, "MYDOMAIN\\MyAccount", 
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Removing access control entry from " + fileName);

        // Remove the access control entry from the file.
        RemoveFileSecurity(fileName, "MYDOMAIN\\MyAccount", 
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Done.");
    }
    catch (Exception^ ex)
    {
        Console::WriteLine(ex->Message);
    }
}

using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string fileName = "test.xml";

                Console.WriteLine("Adding access control entry for "
                    + fileName);

                // Add the access control entry to the file.
                AddFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Removing access control entry from "
                    + fileName);

                // Remove the access control entry from the file.
                RemoveFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {


            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings.
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Remove the FileSystemAccessRule from the security settings.
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }
    }
}
Imports System.IO
Imports System.Security.AccessControl



Module FileExample

    Sub Main()
        Try
            Dim fileName As String = "test.xml"

            Console.WriteLine("Adding access control entry for " & fileName)

            ' Add the access control entry to the file.
            AddFileSecurity(fileName, "DomainName\AccountName", _
                FileSystemRights.ReadData, AccessControlType.Allow)

            Console.WriteLine("Removing access control entry from " & fileName)

            ' Remove the access control entry from the file.
            RemoveFileSecurity(fileName, "DomainName\AccountName", _
                FileSystemRights.ReadData, AccessControlType.Allow)

            Console.WriteLine("Done.")
        Catch e As Exception
            Console.WriteLine(e)
        End Try

    End Sub


    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
  
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

        ' Add the FileSystemAccessRule to the security settings. 
        Dim accessRule As FileSystemAccessRule = _
            New FileSystemAccessRule(account, rights, controlType)

        fSecurity.AddAccessRule(accessRule)

        ' Set the new access settings.
        File.SetAccessControl(fileName, fSecurity)

    End Sub


    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

        ' Remove the FileSystemAccessRule from the security settings. 
        fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
            rights, controlType))

        ' Set the new access settings.
        File.SetAccessControl(fileName, fSecurity)

    End Sub
End Module

注釈

列挙FileSystemRights体は、特定のユーザーアカウントで許可されるファイルシステムアクションと、特定のユーザーアカウントに対して監査されるファイルシステムアクションを指定します。The FileSystemRights enumeration specifies which file system actions are allowed for a particular user account and which file system actions are audited for a particular user account.

クラスをFileSystemRights使用してアクセス規則FileSystemAuditRuleを作成する場合、またはクラスを使用して監査規則を作成する場合は、列挙体を使用します。 FileSystemAccessRuleUse the FileSystemRights enumeration when creating an access rule with the FileSystemAccessRule class or when creating an audit rule with the FileSystemAuditRule class.

この列挙には、いくつかの詳細なシステム権限値と、これらの細かい値の組み合わせであるいくつかの値が含まれます。This enumeration contains several granular system rights values and several values that are a combination of those granular values. 各コンポーネントの値を個別に指定するのFullControlReadはなくWrite、、、などの組み合わせの値を使用する方が簡単です。It is easier to use the combination values such as FullControl, Read, and Write, rather than specifying each component value separately.

権限CreateDirectoriesCreateFiles権限にはSynchronize 、権限が必要です。The CreateDirectories and CreateFiles rights require the Synchronize right. ファイルまたはディレクトリを作成するSynchronizeときに値を明示的に設定しない場合は、自動的に設定されます。If you do not explicitly set the Synchronize value when creating a file or directory, it is set automatically for you.

適用対象