FileSecurity Clase

Definición

Representa el control de acceso y la seguridad de auditoría de un archivo. Esta clase no puede heredarse.

public ref class FileSecurity sealed : System::Security::AccessControl::FileSystemSecurity
public sealed class FileSecurity : System.Security.AccessControl.FileSystemSecurity
[System.Security.SecurityCritical]
public sealed class FileSecurity : System.Security.AccessControl.FileSystemSecurity
type FileSecurity = class
    inherit FileSystemSecurity
[<System.Security.SecurityCritical>]
type FileSecurity = class
    inherit FileSystemSecurity
Public NotInheritable Class FileSecurity
Inherits FileSystemSecurity
Herencia
Atributos

Ejemplos

En el ejemplo de código siguiente se usa la FileSecurity clase para agregar y, a continuación, quitar una entrada de lista de control de acceso (ACL) de un archivo. Para ejecutar este ejemplo, debe proporcionar una cuenta de usuario o grupo válida.

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

Comentarios

La FileSecurity clase especifica los derechos de acceso de un archivo del sistema y cómo se auditan los intentos de acceso. Esta clase representa los derechos de acceso y auditoría como un conjunto de reglas. Cada regla de acceso se representa mediante un FileSystemAccessRule objeto , mientras que cada regla de auditoría se representa mediante un FileSystemAuditRule objeto .

La FileSecurity clase es una abstracción del sistema de seguridad de archivos subyacente de Microsoft Windows. En este sistema, cada archivo tiene una lista de control de acceso discrecional (DACL), que controla el acceso al archivo y una lista de control de acceso del sistema (SACL), que especifica los intentos de control de acceso que se auditan. Las FileSystemAccessRule clases y FileSystemAuditRule son abstracciones de las entradas de control de acceso (ACE) que componen DACL y SACL.

La FileSecurity clase oculta muchos de los detalles de las DACL y SACL; no tiene que preocuparse por el orden ace o DACLS null.

Use la FileSecurity clase para recuperar, agregar o cambiar las reglas de acceso que representan la DACL y SACL de un archivo.

Para conservar las reglas de acceso o auditoría nuevas o modificadas en un archivo, use el SetAccessControl método . Para recuperar las reglas de acceso o de auditoría de un archivo existente, utilice el método GetAccessControl.

Constructores

FileSecurity()

Inicializa una nueva instancia de la clase FileSecurity.

FileSecurity(String, AccessControlSections)

Inicializa una nueva instancia de la clase FileSecurity a partir de un archivo especificado utilizando los valores especificados de la enumeración AccessControlSections.

Propiedades

AccessRightType

Obtiene la enumeración que la clase FileSystemSecurity utiliza para representar los derechos de acceso.

(Heredado de FileSystemSecurity)
AccessRulesModified

Obtiene o establece un valor booleano que especifica si se han modificado las reglas de acceso asociadas a este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
AccessRuleType

Obtiene la enumeración que la clase FileSystemSecurity utiliza para representar las reglas de acceso.

(Heredado de FileSystemSecurity)
AreAccessRulesCanonical

Obtiene un valor booleano que especifica si las reglas de acceso asociadas con este objeto ObjectSecurity están en orden canónico.

(Heredado de ObjectSecurity)
AreAccessRulesProtected

Obtiene un valor booleano que especifica si la lista de control de acceso discrecional (DACL) asociada a este objeto ObjectSecurity está protegida.

(Heredado de ObjectSecurity)
AreAuditRulesCanonical

Obtiene un valor booleano que especifica si las reglas de auditoría asociadas a este objeto ObjectSecurity están en orden canónico.

(Heredado de ObjectSecurity)
AreAuditRulesProtected

Obtiene un valor booleano que especifica si la lista de control de acceso del sistema (SACL) asociada a este objeto ObjectSecurity está protegida.

(Heredado de ObjectSecurity)
AuditRulesModified

Obtiene un valor booleano que especifica si las reglas de auditoría asociadas a este objeto ObjectSecurity se han modificado.

(Heredado de ObjectSecurity)
AuditRuleType

Obtiene el tipo que utiliza la clase FileSystemSecurity para representar las reglas de auditoría.

(Heredado de FileSystemSecurity)
GroupModified

Obtiene o establece un valor booleano que especifica si se ha modificado el grupo asociado al objeto protegible.

(Heredado de ObjectSecurity)
IsContainer

Obtiene un valor booleano que especifica si este objeto ObjectSecurity es un objeto de contenedor.

(Heredado de ObjectSecurity)
IsDS

Obtiene un valor booleano que especifica si este objeto ObjectSecurity es un objeto de directorio.

(Heredado de ObjectSecurity)
OwnerModified

Obtiene o establece un valor booleano que especifica si se ha modificado el propietario del objeto que se puede proteger.

(Heredado de ObjectSecurity)
SecurityDescriptor

Obtiene el descriptor de seguridad de esta instancia.

(Heredado de ObjectSecurity)

Métodos

AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)

Inicializa una nueva instancia de la clase FileSystemAccessRule que representa una nueva regla de control de acceso para el usuario indicado con los derechos de acceso, el control de acceso y los marcadores especificados.

(Heredado de FileSystemSecurity)
AddAccessRule(AccessRule)

Agrega la regla de acceso especificada a la lista de control de acceso discrecional (DACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
AddAccessRule(FileSystemAccessRule)

Agrega el permiso de la lista de control de acceso (ACL) especificado al archivo o directorio actual.

(Heredado de FileSystemSecurity)
AddAuditRule(AuditRule)

Agrega la regla de auditoría especificada a la lista de control de acceso de sistema (SACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
AddAuditRule(FileSystemAuditRule)

Agrega la regla de auditoría especificada al archivo o directorio actual.

(Heredado de FileSystemSecurity)
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Inicializa una nueva instancia de la clase FileSystemAuditRule que representa la regla de auditoría especificada para el usuario especificado.

(Heredado de FileSystemSecurity)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAccessRules(Boolean, Boolean, Type)

Obtiene una colección de las reglas de acceso asociadas al identificador de seguridad especificado.

(Heredado de CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Obtiene una colección de las reglas de auditoría asociadas al identificador de seguridad especificado.

(Heredado de CommonObjectSecurity)
GetGroup(Type)

Obtiene el grupo primario asociado al propietario especificado.

(Heredado de ObjectSecurity)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetOwner(Type)

Obtiene el propietario asociado al grupo primario especificado.

(Heredado de ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Devuelve una matriz de valores de byte que representa la información del descriptor de seguridad para este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Devuelve la representación del Lenguaje de definición de descriptores de seguridad (SDDL) de las secciones especificadas del descriptor de seguridad asociado a este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Aplica la modificación especificada a la lista de control de acceso discrecional (DACL) (DACL) asociada a este objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Aplica la modificación especificada a la lista de control de acceso discrecional (DACL) (DACL) asociada a este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Aplica la modificación especificada a la lista de control de acceso del sistema (SACL) asociada a este objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Aplica la modificación especificada a la lista de control de acceso del sistema (SACL) asociada a este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Guarda las secciones especificadas del descriptor de seguridad asociado a este objeto ObjectSecurity en el almacenamiento permanente. Se recomienda que los valores de los parámetros includeSections pasados al constructor y a los métodos de persistencia sean idénticos.

(Heredado de ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Guarda las secciones especificadas del descriptor de seguridad asociado a este objeto NativeObjectSecurity en el almacenamiento permanente. Se recomienda que los valores de los parámetros includeSections pasados al constructor y a los métodos de persistencia sean idénticos.

(Heredado de NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Guarda las secciones especificadas del descriptor de seguridad asociado a este objeto NativeObjectSecurity en el almacenamiento permanente. Se recomienda que los valores de los parámetros includeSections pasados al constructor y a los métodos de persistencia sean idénticos.

(Heredado de NativeObjectSecurity)
Persist(String, AccessControlSections)

Guarda las secciones especificadas del descriptor de seguridad asociado a este objeto NativeObjectSecurity en el almacenamiento permanente. Se recomienda que los valores de los parámetros includeSections pasados al constructor y a los métodos de persistencia sean idénticos.

(Heredado de NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Guarda las secciones especificadas del descriptor de seguridad asociado a este objeto NativeObjectSecurity en el almacenamiento permanente. Se recomienda que los valores de los parámetros includeSections pasados al constructor y a los métodos de persistencia sean idénticos.

(Heredado de NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Quita todas las reglas de acceso asociadas al objeto IdentityReference especificado.

(Heredado de ObjectSecurity)
PurgeAuditRules(IdentityReference)

Quita todas las reglas de auditoría asociadas con el IdentityReference especificado.

(Heredado de ObjectSecurity)
ReadLock()

Bloquea este objeto ObjectSecurity para acceso de lectura.

(Heredado de ObjectSecurity)
ReadUnlock()

Desbloquea este objeto ObjectSecurity para acceso de lectura.

(Heredado de ObjectSecurity)
RemoveAccessRule(AccessRule)

Quita las reglas de acceso que contienen el mismo identificador de seguridad y máscara de acceso que la regla de acceso especificada de la lista de control de acceso discrecional (DACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
RemoveAccessRule(FileSystemAccessRule)

Quita todos permisos de la lista de control de acceso (ACL) Allow o Deny coincidentes del archivo o directorio actual.

(Heredado de FileSystemSecurity)
RemoveAccessRuleAll(AccessRule)

Quita todas las reglas de acceso que tienen el mismo identificador de seguridad que la regla de acceso especificada de la lista de control de acceso discrecional (DACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
RemoveAccessRuleAll(FileSystemAccessRule)

Quita todos los permisos de la lista de control de acceso (ACL) para el usuario especificado del archivo o directorio actual.

(Heredado de FileSystemSecurity)
RemoveAccessRuleSpecific(AccessRule)

Quita todas las reglas de acceso que coinciden exactamente con la regla de acceso especificada de la lista de control de acceso discrecional (DACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
RemoveAccessRuleSpecific(FileSystemAccessRule)

Quita un solo permiso de la lista de control de acceso (ACL) Allow o Deny coincidente del archivo o directorio actual.

(Heredado de FileSystemSecurity)
RemoveAuditRule(AuditRule)

Quita las reglas de auditoría que contienen el mismo identificador de seguridad y máscara de acceso que la regla de auditoría especificada de la lista de control de acceso de sistema (SACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
RemoveAuditRule(FileSystemAuditRule)

Quita todas las reglas de auditoría Allow o Deny coincidentes del archivo o directorio actual.

(Heredado de FileSystemSecurity)
RemoveAuditRuleAll(AuditRule)

Quita todas las reglas de auditoría que tienen el mismo identificador de seguridad que la regla de auditoría especificada de la lista de control de acceso de sistema (SACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
RemoveAuditRuleAll(FileSystemAuditRule)

Quita todas las reglas de auditoría para el usuario especificado del archivo o directorio actual.

(Heredado de FileSystemSecurity)
RemoveAuditRuleSpecific(AuditRule)

Quita todas las reglas de auditoría que coinciden exactamente con la regla de auditoría especificada de la lista de control de acceso de sistema (SACL) asociada al objeto CommonObjectSecurity.

(Heredado de CommonObjectSecurity)
RemoveAuditRuleSpecific(FileSystemAuditRule)

Quita una regla de auditoría Allow o Deny coincidente del archivo o directorio actual.

(Heredado de FileSystemSecurity)
ResetAccessRule(AccessRule)

Quita todas las reglas de acceso de la lista de control de acceso discrecional (DACL) asociada al objeto CommonObjectSecurity y, a continuación, agrega la regla de acceso especificada.

(Heredado de CommonObjectSecurity)
ResetAccessRule(FileSystemAccessRule)

Agrega el permiso de la lista de control de acceso (ACL) especificado al archivo o directorio actual y quita todos los permisos de ACL coincidentes.

(Heredado de FileSystemSecurity)
SetAccessRule(AccessRule)

Quita todas las reglas de acceso que contienen el mismo identificador de seguridad y calificador que la regla de acceso especificada en la lista de control de acceso discrecional (DACL) asociada al objeto CommonObjectSecurity y, a continuación, agrega la regla de acceso especificada.

(Heredado de CommonObjectSecurity)
SetAccessRule(FileSystemAccessRule)

Establece el permiso de la lista de control de acceso (ACL) especificado para el archivo o directorio actual.

(Heredado de FileSystemSecurity)
SetAccessRuleProtection(Boolean, Boolean)

Establece o quita la protección de las reglas de acceso asociadas a este objeto ObjectSecurity. Los objetos primarios no pueden modificar las reglas de acceso protegido a través de la herencia.

(Heredado de ObjectSecurity)
SetAuditRule(AuditRule)

Quita todas las reglas de auditoría que contienen el mismo identificador de seguridad y calificador que la regla de auditoría especificada en la lista de control de acceso de sistema (SACL) asociada al objeto CommonObjectSecurity y, a continuación, agrega la regla de auditoría especificada.

(Heredado de CommonObjectSecurity)
SetAuditRule(FileSystemAuditRule)

Establece la regla de auditoría especificada para el archivo o directorio actual.

(Heredado de FileSystemSecurity)
SetAuditRuleProtection(Boolean, Boolean)

Establece o quita la protección de las reglas de auditoría asociadas a este objeto ObjectSecurity. Los objetos primarios no pueden modificar las reglas de auditoría protegidas a través de la herencia.

(Heredado de ObjectSecurity)
SetGroup(IdentityReference)

Establece el grupo primario del descriptor de seguridad asociado a este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
SetOwner(IdentityReference)

Establece el propietario del descriptor de seguridad asociado a este objeto ObjectSecurity.

(Heredado de ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Establece el descriptor de seguridad para este objeto ObjectSecurity de la matriz especificada de valores de bytes.

(Heredado de ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Establece las secciones especificadas del descriptor de seguridad para este objeto ObjectSecurity de la matriz especificada de valores de bytes.

(Heredado de ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Establece el descriptor de seguridad para este objeto ObjectSecurity de la cadena de Lenguaje de definición de descriptores de seguridad (SDDL) especificada.

(Heredado de ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Establece las secciones especificadas del descriptor de seguridad para este objeto ObjectSecurity de la cadena de Lenguaje de definición de descriptores de seguridad (SDDL) especificada.

(Heredado de ObjectSecurity)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
WriteLock()

Bloquea este objeto ObjectSecurity para el acceso de escritura.

(Heredado de ObjectSecurity)
WriteUnlock()

Desbloquea este objeto ObjectSecurity para el acceso de escritura.

(Heredado de ObjectSecurity)

Se aplica a