FileSystemRights FileSystemRights FileSystemRights FileSystemRights Enum

Definición

Define los derechos de acceso que se utilizará al crear reglas de acceso y auditoría.Defines the access rights to use when creating access and audit rules.

Esta enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

public enum class FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
type FileSystemRights = 
Public Enum FileSystemRights
Herencia
FileSystemRightsFileSystemRightsFileSystemRightsFileSystemRights
Atributos

Campos

AppendData AppendData AppendData AppendData 4

Especifica el derecho para anexar datos al final de un archivo.Specifies the right to append data to the end of a file.

ChangePermissions ChangePermissions ChangePermissions ChangePermissions 262144

Especifica el derecho para cambiar la seguridad y auditoría asociadas a un archivo o carpeta.Specifies the right to change the security and audit rules associated with a file or folder.

CreateDirectories CreateDirectories CreateDirectories CreateDirectories 4

Especifica el derecho para crear una carpeta este derecho requiere el Synchronize valor.Specifies the right to create a folder This right requires the Synchronize value.

CreateFiles CreateFiles CreateFiles CreateFiles 2

Especifica el derecho para crear un archivo.Specifies the right to create a file. Este derecho requiere el Synchronize valor.This right requires the Synchronize value.

Delete Delete Delete Delete 65536

Especifica el derecho para eliminar una carpeta o archivo.Specifies the right to delete a folder or file.

DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles DeleteSubdirectoriesAndFiles 64

Especifica el derecho para eliminar una carpeta y los archivos incluidos en esa carpeta.Specifies the right to delete a folder and any files contained within that folder.

ExecuteFile ExecuteFile ExecuteFile ExecuteFile 32

Especifica el derecho para ejecutar un archivo de aplicación.Specifies the right to run an application file.

FullControl FullControl FullControl FullControl 2032127

Especifica el derecho para ejercer el control completo sobre una carpeta o archivo y para modificar el control de acceso y las reglas de auditoría.Specifies the right to exert full control over a folder or file, and to modify access control and audit rules. Este valor representa el derecho a hacer nada con un archivo y es la combinación de todos los derechos en esta enumeración.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

Especifica el derecho para leer el contenido de un directorio.Specifies the right to read the contents of a directory.

Modify Modify Modify Modify 197055

Especifica el derecho para leer, escribir, mostrar el contenido de la carpeta, eliminar carpetas y archivos y ejecutar archivos de aplicación.Specifies the right to read, write, list folder contents, delete folders and files, and run application files. Este derecho incluye los ReadAndExecute derecho, la Write derecha y el Delete derecho.This right includes the ReadAndExecute right, the Write right, and the Delete right.

Read Read Read Read 131209

Especifica el derecho para abrir y copiar carpetas o archivos como de solo lectura.Specifies the right to open and copy folders or files as read-only. Este derecho incluye los ReadData derecho, ReadExtendedAttributes derecho, ReadAttributes derecha, y ReadPermissions derecha.This right includes the ReadData right, ReadExtendedAttributes right, ReadAttributes right, and ReadPermissions right.

ReadAndExecute ReadAndExecute ReadAndExecute ReadAndExecute 131241

Especifica el derecho para abrir y copiar carpetas o archivos como de solo lectura y ejecutar archivos de aplicación.Specifies the right to open and copy folders or files as read-only, and to run application files. Este derecho incluye los Read derecho y el ExecuteFile derecho.This right includes the Read right and the ExecuteFile right.

ReadAttributes ReadAttributes ReadAttributes ReadAttributes 128

Especifica el derecho para abrir y copiar los atributos del sistema de archivos desde una carpeta o archivo.Specifies the right to open and copy file system attributes from a folder or file. Por ejemplo, este valor especifica el derecho para ver la creación del archivo o la fecha de modificación.For example, this value specifies the right to view the file creation or modified date. Esto no incluye el derecho para leer datos, atributos del sistema de archivos extendidos o acceso y las reglas de auditoría.This does not include the right to read data, extended file system attributes, or access and audit rules.

ReadData ReadData ReadData ReadData 1

Especifica el derecho para abrir y copiar un archivo o carpeta.Specifies the right to open and copy a file or folder. Esto no incluye el derecho para leer atributos del sistema de archivos, archivos del sistema atributos extendidos o reglas de acceso y auditoría.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

Especifica el derecho para abrir y copiar los atributos del sistema de archivos extendidos de una carpeta o archivo.Specifies the right to open and copy extended file system attributes from a folder or file. Por ejemplo, este valor especifica el derecho para ver información de contenido y el autor.For example, this value specifies the right to view author and content information. Esto no incluye el derecho para leer datos, atributos del sistema de archivos o acceso y las reglas de auditoría.This does not include the right to read data, file system attributes, or access and audit rules.

ReadPermissions ReadPermissions ReadPermissions ReadPermissions 131072

Especifica el derecho para abrir y copiar el acceso y auditar las reglas de una carpeta o archivo.Specifies the right to open and copy access and audit rules from a folder or file. Esto no incluye el derecho para leer datos, atributos del sistema de archivos y atributos del sistema de archivos extendidos.This does not include the right to read data, file system attributes, and extended file system attributes.

Synchronize Synchronize Synchronize Synchronize 1048576

Especifica si la aplicación puede esperar de un identificador de archivos sincronizar con la realización de una operación de E/S.Specifies whether the application can wait for a file handle to synchronize with the completion of an I/O operation. Este valor se establecen automáticamente al permitir el acceso y se excluyen automáticamente cuando se deniega el acceso.This value is automatically set when allowing access and automatically excluded when denying access.

TakeOwnership TakeOwnership TakeOwnership TakeOwnership 524288

Especifica el derecho para cambiar el propietario de una carpeta o archivo.Specifies the right to change the owner of a folder or file. Tenga en cuenta que los propietarios de un recurso tienen acceso completo a ese recurso.Note that owners of a resource have full access to that resource.

Traverse Traverse Traverse Traverse 32

Especifica el derecho para mostrar el contenido de una carpeta y ejecutar aplicaciones contenidas en esa carpeta.Specifies the right to list the contents of a folder and to run applications contained within that folder.

Write Write Write Write 278

Especifica el derecho para crear carpetas y archivos y para agregar o quitar datos de archivos.Specifies the right to create folders and files, and to add or remove data from files. Este derecho incluye los WriteData derecho, AppendData derecho, WriteExtendedAttributes derecha, y WriteAttributes derecha.This right includes the WriteData right, AppendData right, WriteExtendedAttributes right, and WriteAttributes right.

WriteAttributes WriteAttributes WriteAttributes WriteAttributes 256

Especifica el derecho para abrir y escribir los atributos del sistema de archivos en una carpeta o archivo.Specifies the right to open and write file system attributes to a folder or file. Esto no incluye la capacidad para escribir datos, atributos extendidos o acceso y las reglas de auditoría.This does not include the ability to write data, extended attributes, or access and audit rules.

WriteData WriteData WriteData WriteData 2

Especifica el derecho para abrir y escribir en un archivo o carpeta.Specifies the right to open and write to a file or folder. Esto no incluye el derecho para abrir y escribir atributos del sistema de archivos, archivos del sistema atributos extendidos o reglas de acceso y auditoría.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

Especifica el derecho para abrir y escribir los atributos del sistema de archivos extendidos a una carpeta o archivo.Specifies the right to open and write extended file system attributes to a folder or file. Esto no incluye la capacidad para escribir datos, atributos o acceso y las reglas de auditoría.This does not include the ability to write data, attributes, or access and audit rules.

Ejemplos

El siguiente ejemplo de código utiliza el FullControl enumeración para especificar una regla de acceso y, a continuación, quitar la regla de acceso de un archivo.The following code example uses the FullControl enumeration to specify an access rule and then remove the access rule from a file. Para ejecutar este ejemplo, debe proporcionar una cuenta de usuario o grupo válida.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
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

Comentarios

El FileSystemRights enumeración especifica qué acciones de sistema de archivos se permiten para una cuenta de usuario determinada y qué acciones de sistema de archivos se auditan para una cuenta de usuario determinada.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 la FileSystemRights enumeración cuando se crea una regla de acceso con el FileSystemAccessRule clase o al crear una auditoría de regla con el FileSystemAuditRule clase.Use the FileSystemRights enumeration when creating an access rule with the FileSystemAccessRule class or when creating an audit rule with the FileSystemAuditRule class.

Esta enumeración contiene varios valores de derechos de sistema granular y varios valores que son una combinación de esos valores específicos.This enumeration contains several granular system rights values and several values that are a combination of those granular values. Es más fácil de usar los valores de combinación como FullControl, Read, y Write, en lugar de especificar cada valor del componente por separado.It is easier to use the combination values such as FullControl, Read, and Write, rather than specifying each component value separately.

El CreateDirectories y CreateFiles derechos requieren el Synchronize derecho.The CreateDirectories and CreateFiles rights require the Synchronize right. Si no establece explícitamente el Synchronize valor cuando se crea un archivo o directorio, se configurará automáticamente para usted.If you do not explicitly set the Synchronize value when creating a file or directory, it is set automatically for you.

Se aplica a