FileSystemRights Enumeração

Definição

Define os direitos de acesso a serem usados ao criar regras de acesso e auditoria.Defines the access rights to use when creating access and audit rules.

Esta enumeração tem um atributo FlagsAttribute que permite uma combinação bit a bit dos valores membros dela.

public enum class FileSystemRights
[System.Flags]
public enum FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
[<System.Flags>]
type FileSystemRights = 
[<System.Flags>]
[<System.Security.SecurityCritical>]
type FileSystemRights = 
Public Enum FileSystemRights
Herança
FileSystemRights
Atributos

Campos

AppendData 4

Especifica o direito de acrescentar dados ao final de um arquivo.Specifies the right to append data to the end of a file.

ChangePermissions 262144

Especifica o direito de alterar as regras de segurança e auditoria associadas a um arquivo ou pasta.Specifies the right to change the security and audit rules associated with a file or folder.

CreateDirectories 4

Especifica o direito de criar uma pasta. Esse direito exige o valor Synchronize.Specifies the right to create a folder This right requires the Synchronize value.

CreateFiles 2

Especifica o direito de criar um arquivo.Specifies the right to create a file. Esse direito exige o valor Synchronize.This right requires the Synchronize value.

Delete 65536

Especifica o direito de excluir uma pasta ou arquivo.Specifies the right to delete a folder or file.

DeleteSubdirectoriesAndFiles 64

Especifica o direito de excluir uma pasta e os arquivos contidos nessa pasta.Specifies the right to delete a folder and any files contained within that folder.

ExecuteFile 32

Especifica o direito de executar um arquivo de aplicativo.Specifies the right to run an application file.

FullControl 2032127

Especifica o direito de exercer controle total sobre uma pasta ou arquivo e de modificar o controle de acesso e regras de auditoria.Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. Esse valor representa o direito de fazer qualquer coisa com um arquivo e é a combinação de todos os direitos desta enumeração.This value represents the right to do anything with a file and is the combination of all rights in this enumeration.

ListDirectory 1

Especifica o direito de ler o conteúdo de um diretório.Specifies the right to read the contents of a directory.

Modify 197055

Especifica o direito de ler, gravar, listar conteúdo da pasta, excluir pastas e arquivos e executar arquivos de aplicativo.Specifies the right to read, write, list folder contents, delete folders and files, and run application files. Essa permissão inclui os direitos ReadAndExecute, Write e Delete.This right includes the ReadAndExecute right, the Write right, and the Delete right.

Read 131209

Especifica o direito de abrir e copiar pastas ou arquivos como somente leitura.Specifies the right to open and copy folders or files as read-only. Essa permissão inclui os direitos ReadData, ReadExtendedAttributes, ReadAttributes e ReadPermissions.This right includes the ReadData right, ReadExtendedAttributes right, ReadAttributes right, and ReadPermissions right.

ReadAndExecute 131241

Especifica o direito de abrir e copiar pastas ou arquivos como somente leitura e executar arquivos de aplicativo.Specifies the right to open and copy folders or files as read-only, and to run application files. Essa permissão inclui os direitos Read e ExecuteFile.This right includes the Read right and the ExecuteFile right.

ReadAttributes 128

Especifica o direito de abrir e copiar os atributos de sistema de arquivos de um arquivo ou pasta.Specifies the right to open and copy file system attributes from a folder or file. Por exemplo, esse valor especifica o direito de exibir a data de criação ou modificação do arquivo.For example, this value specifies the right to view the file creation or modified date. Isso não inclui o direito de ler dados, atributos estendidos do sistema de arquivos ou regras de acesso e auditoria.This does not include the right to read data, extended file system attributes, or access and audit rules.

ReadData 1

Especifica o direito de abrir e copiar um arquivo ou pasta.Specifies the right to open and copy a file or folder. Isso não inclui o direito de ler atributos do sistema de arquivos, atributos estendidos do sistema de arquivos ou regras de acesso e auditoria.This does not include the right to read file system attributes, extended file system attributes, or access and audit rules.

ReadExtendedAttributes 8

Especifica o direito de abrir e copiar os atributos estendidos do sistema de arquivos de um arquivo ou pasta.Specifies the right to open and copy extended file system attributes from a folder or file. Por exemplo, esse valor especifica o direito de exibir informações de conteúdo e autor.For example, this value specifies the right to view author and content information. Isso não inclui o direito de ler dados, atributos do sistema de arquivos ou regras de acesso e auditoria.This does not include the right to read data, file system attributes, or access and audit rules.

ReadPermissions 131072

Especifica o direito de abrir e copiar regras de acesso e auditoria de um arquivo ou pasta.Specifies the right to open and copy access and audit rules from a folder or file. Isso não inclui o direito de ler dados, atributos do sistema de arquivos e atributos estendidos do sistema de arquivos.This does not include the right to read data, file system attributes, and extended file system attributes.

Synchronize 1048576

Especifica se o aplicativo pode aguardar um identificador de arquivo sincronizar com a conclusão de uma operação de E/S.Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. Esse valor é definido automaticamente ao permitir o acesso e excluído automaticamente ao negar o acesso.This value is automatically set when allowing access and automatically excluded when denying access.

TakeOwnership 524288

Especifica o direito de alterar o proprietário de um arquivo ou pasta.Specifies the right to change the owner of a folder or file. Observe que os proprietários de um recurso têm acesso completo a esse recurso.Note that owners of a resource have full access to that resource.

Traverse 32

Especifica o direito de listar o conteúdo de uma pasta e executar aplicativos contidos nessa pasta.Specifies the right to list the contents of a folder and to run applications contained within that folder.

Write 278

Especifica o direito de criar pastas e arquivos e de adicionar ou remover dados dos arquivos.Specifies the right to create folders and files, and to add or remove data from files. Essa permissão inclui os direitos WriteData, AppendData, WriteExtendedAttributes e WriteAttributes.This right includes the WriteData right, AppendData right, WriteExtendedAttributes right, and WriteAttributes right.

WriteAttributes 256

Especifica o direito de abrir e gravar os atributos de sistema de arquivos em um arquivo ou pasta.Specifies the right to open and write file system attributes to a folder or file. Isso não inclui a capacidade de gravar dados, atributos estendidos ou regras de acesso e auditoria.This does not include the ability to write data, extended attributes, or access and audit rules.

WriteData 2

Especifica o direito de abrir e gravar em um arquivo ou pasta.Specifies the right to open and write to a file or folder. Isso não inclui o direito de abrir e gravar atributos do sistema de arquivos, atributos estendidos do sistema de arquivos ou regras de acesso e auditoria.This does not include the right to open and write file system attributes, extended file system attributes, or access and audit rules.

WriteExtendedAttributes 16

Especifica o direito de abrir e gravar os atributos estendidos do sistema de arquivos em um arquivo ou pasta.Specifies the right to open and write extended file system attributes to a folder or file. Isso não inclui a capacidade de gravar dados, atributos ou regras de acesso e auditoria.This does not include the ability to write data, attributes, or access and audit rules.

Exemplos

O exemplo a seguir usa a FileSystemRights enumeração para especificar uma regra de acesso e, em seguida, remover a regra de acesso de um arquivo.The following example uses the FileSystemRights enumeration to specify an access rule and then remove the access rule from a file. Você deve fornecer uma conta de grupo ou de usuário válida para executar este exemplo.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

Comentários

A FileSystemRights enumeração Especifica quais ações do sistema de arquivos são permitidas para uma determinada conta de usuário e quais ações do sistema de arquivos são auditadas para uma determinada conta de usuário.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.

Use a FileSystemRights enumeração ao criar uma regra de acesso com a FileSystemAccessRule classe ou ao criar uma regra de auditoria com a FileSystemAuditRule classe.Use the FileSystemRights enumeration when creating an access rule with the FileSystemAccessRule class or when creating an audit rule with the FileSystemAuditRule class.

Essa enumeração contém vários valores de direitos de sistema granulares e vários valores que são uma combinação desses valores granulares.This enumeration contains several granular system rights values and several values that are a combination of those granular values. É mais fácil usar os valores de combinação, como FullControl , Read e Write , em vez de especificar cada valor de componente separadamente.It is easier to use the combination values such as FullControl, Read, and Write, rather than specifying each component value separately.

Os CreateDirectories CreateFiles direitos e exigem o Synchronize direito.The CreateDirectories and CreateFiles rights require the Synchronize right. Se você não definir explicitamente o Synchronize valor ao criar um arquivo ou diretório, ele será definido automaticamente para você.If you do not explicitly set the Synchronize value when creating a file or directory, it is set automatically for you.

Aplica-se a