FileSecurity Classe

Définition

Représente la sécurité de contrôle d'accès et d'audit pour un fichier. Cette classe ne peut pas être héritée.

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
Héritage
Attributs

Exemples

L’exemple de code suivant utilise la FileSecurity classe pour ajouter, puis supprimer une entrée de liste de contrôle d’accès (ACL) à partir d’un fichier. Vous devez entrer un compte d'utilisateur ou de groupe valide pour exécuter cet exemple.

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

Remarques

La FileSecurity classe spécifie les droits d’accès pour un fichier système et la façon dont les tentatives d’accès sont auditées. Cette classe représente les droits d’accès et d’audit sous la forme d’un ensemble de règles. Chaque règle d’accès est représentée par un FileSystemAccessRule objet, tandis que chaque règle d’audit est représentée par un FileSystemAuditRule objet.

La FileSecurity classe est une abstraction du système de sécurité de fichiers Windows sous-jacent Microsoft. Dans ce système, chaque fichier a une liste de contrôle d’accès discrétionnaire (DACL), qui contrôle l’accès au fichier, et une liste de contrôle d’accès système (SACL), qui spécifie les tentatives de contrôle d’accès auditées. Les FileSystemAccessRule classes et FileSystemAuditRule sont des abstractions des entrées de contrôle d’accès (AAC) qui composent des DLL et des SACL.

La FileSecurity classe masque un grand nombre des détails des DACL et SACL ; vous n’avez pas à vous soucier de l’ordre ACE ou des DACL null.

Utilisez la FileSecurity classe pour récupérer, ajouter ou modifier les règles d’accès qui représentent les listes DACL et SACL d’un fichier.

Pour conserver des règles d’accès ou d’audit nouvelles ou modifiées à un fichier, utilisez la SetAccessControl méthode . Pour récupérer un accès ou des règles d’audit à partir d’un fichier existant, utilisez la méthode GetAccessControl.

Constructeurs

FileSecurity()

Initialise une nouvelle instance de la classe FileSecurity.

FileSecurity(String, AccessControlSections)

Initialise une nouvelle instance de la classe FileSecurity à partir d'un fichier spécifié à l'aide des valeurs spécifiées de l'énumération AccessControlSections.

Propriétés

AccessRightType

Obtient l'énumération utilisée par la classe FileSystemSecurity pour représenter des droits d'accès.

(Hérité de FileSystemSecurity)
AccessRulesModified

Obtient une valeur booléenne qui spécifie si les règles d’accès associées à cet objet ObjectSecurity ont été modifiées.

(Hérité de ObjectSecurity)
AccessRuleType

Obtient l'énumération utilisée par la classe FileSystemSecurity pour représenter des règles d'accès.

(Hérité de FileSystemSecurity)
AreAccessRulesCanonical

Obtient une valeur booléenne qui spécifie si les règles d’accès associées à cet objet ObjectSecurity suivent un ordre canonique.

(Hérité de ObjectSecurity)
AreAccessRulesProtected

Obtient une valeur booléenne qui spécifie si la liste de contrôle d’accès discrétionnaire (DACL) associée à cet objet ObjectSecurity est protégée.

(Hérité de ObjectSecurity)
AreAuditRulesCanonical

Obtient une valeur booléenne qui spécifie si les règles d’audit associées à cet objet ObjectSecurity suivent un ordre canonique.

(Hérité de ObjectSecurity)
AreAuditRulesProtected

Obtient une valeur booléenne qui spécifie si la liste de contrôle d’accès système (SACL) associée à cet objet ObjectSecurity est protégée.

(Hérité de ObjectSecurity)
AuditRulesModified

Obtient ou définit une valeur booléenne qui spécifie si les règles d’audit associées à cet objet ObjectSecurity ont été modifiées.

(Hérité de ObjectSecurity)
AuditRuleType

Obtient le type utilisé par la classe FileSystemSecurity pour représenter des règles d'audit.

(Hérité de FileSystemSecurity)
GroupModified

Obtient ou définit une valeur booléenne qui spécifie si le groupe associé à l’objet sécurisable a été modifié.

(Hérité de ObjectSecurity)
IsContainer

Obtient une valeur booléenne qui spécifie si cet objet ObjectSecurity est un objet conteneur.

(Hérité de ObjectSecurity)
IsDS

Obtient une valeur booléenne qui spécifie si cet objet ObjectSecurity est un objet d’annuaire.

(Hérité de ObjectSecurity)
OwnerModified

Obtient ou définit une valeur booléenne qui spécifie si le propriétaire de l’objet sécurisable a été modifié.

(Hérité de ObjectSecurity)
SecurityDescriptor

Obtient le descripteur de sécurité pour cette instance.

(Hérité de ObjectSecurity)

Méthodes

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

Crée une nouvelle instance de la classe FileSystemAccessRule qui représente une nouvelle règle de contrôle d'accès pour l'utilisateur spécifié, avec les droits d'accès, le contrôle d'accès et les indicateurs spécifiés.

(Hérité de FileSystemSecurity)
AddAccessRule(AccessRule)

Ajoute la règle d'accès spécifiée à la liste de contrôle d'accès discrétionnaire associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
AddAccessRule(FileSystemAccessRule)

Ajoute l'autorisation de liste de contrôle d'accès (ACL) spécifiée au fichier ou répertoire en cours.

(Hérité de FileSystemSecurity)
AddAuditRule(AuditRule)

Ajoute la règle d'audit spécifiée à la liste de contrôle d'accès système associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
AddAuditRule(FileSystemAuditRule)

Ajoute la règle d'audit spécifiée au fichier ou répertoire en cours.

(Hérité de FileSystemSecurity)
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Initialise une nouvelle instance de la classe FileSystemAuditRule représentant la règle d'audit spécifiée pour l'utilisateur spécifié.

(Hérité de FileSystemSecurity)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetAccessRules(Boolean, Boolean, Type)

Obtient une collection des règles d'accès associées à l'identificateur de sécurité spécifié.

(Hérité de CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Obtient une collection des règles d'audit associées à l'identificateur de sécurité spécifié.

(Hérité de CommonObjectSecurity)
GetGroup(Type)

Obtient le groupe principal associé au propriétaire spécifié.

(Hérité de ObjectSecurity)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetOwner(Type)

Obtient le propriétaire associé au groupe principal spécifié.

(Hérité de ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Retourne un tableau de valeurs d’octets qui représente les informations du descripteur de sécurité de cet objet ObjectSecurity.

(Hérité de ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Retourne la représentation SDDL (Security Descriptor Definition Language) des sections spécifiées du descripteur de sécurité associé à cet objet ObjectSecurity.

(Hérité de ObjectSecurity)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Applique la modification spécifiée à la liste de contrôle d’accès discrétionnaire (DACL) associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Applique la modification spécifiée à la liste de contrôle d’accès discrétionnaire (DACL) associée à cet objet ObjectSecurity.

(Hérité de ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Applique la modification spécifiée à la liste de contrôle d’accès système (SACL) associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Applique la modification spécifiée à la liste de contrôle d’accès système (SACL) associée à cet objet ObjectSecurity.

(Hérité de ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Enregistre les sections spécifiées du descripteur de sécurité associé à cet objet ObjectSecurity dans un stockage permanent. Nous vous recommandons de définir des valeurs identiques pour les paramètres includeSections passés aux méthodes Constructor et Persist.

(Hérité de ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Enregistre les sections spécifiées du descripteur de sécurité associé à cet objet NativeObjectSecurity dans un stockage permanent. Nous vous recommandons de définir des valeurs identiques pour les paramètres includeSections passés aux méthodes constructor et persist.

(Hérité de NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Enregistre les sections spécifiées du descripteur de sécurité associé à cet objet NativeObjectSecurity dans un stockage permanent. Nous vous recommandons de définir des valeurs identiques pour les paramètres includeSections passés aux méthodes Constructor et Persist.

(Hérité de NativeObjectSecurity)
Persist(String, AccessControlSections)

Enregistre les sections spécifiées du descripteur de sécurité associé à cet objet NativeObjectSecurity dans un stockage permanent. Nous vous recommandons de définir des valeurs identiques pour les paramètres includeSections passés aux méthodes Constructor et Persist.

(Hérité de NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Enregistre les sections spécifiées du descripteur de sécurité associé à cet objet NativeObjectSecurity dans un stockage permanent. Nous vous recommandons de définir des valeurs identiques pour les paramètres includeSections passés aux méthodes Constructor et Persist.

(Hérité de NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Supprime toutes les règles d’accès associés au IdentityReference spécifié.

(Hérité de ObjectSecurity)
PurgeAuditRules(IdentityReference)

Supprime toutes les règles d'audit associées au IdentityReference spécifié.

(Hérité de ObjectSecurity)
ReadLock()

Verrouille cet objet ObjectSecurity pour un accès en lecture.

(Hérité de ObjectSecurity)
ReadUnlock()

Verrouille cet objet ObjectSecurity pour un accès en lecture.

(Hérité de ObjectSecurity)
RemoveAccessRule(AccessRule)

Supprime les règles d'accès qui contiennent les mêmes identificateur de sécurité et masque d'accès que la règle d'accès spécifiée dans la liste de contrôle d'accès discrétionnaire associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
RemoveAccessRule(FileSystemAccessRule)

Supprime toutes les autorisations correspondantes d'autorisation ou de refus de la liste de contrôle d'accès (ACL) du fichier ou du répertoire en cours.

(Hérité de FileSystemSecurity)
RemoveAccessRuleAll(AccessRule)

Supprime toutes les règles d'accès qui ont le même identificateur de sécurité que la règle d'accès spécifiée dans la liste de contrôle d'accès discrétionnaire associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
RemoveAccessRuleAll(FileSystemAccessRule)

Supprime toutes les autorisations de liste de contrôle d'accès (ACL) pour l'utilisateur spécifié dans le fichier ou le répertoire en cours.

(Hérité de FileSystemSecurity)
RemoveAccessRuleSpecific(AccessRule)

Supprime toutes les règles d'accès qui correspondent exactement à la règle d'accès spécifiée dans la liste de contrôle d'accès discrétionnaire associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
RemoveAccessRuleSpecific(FileSystemAccessRule)

Supprime une seule autorisation correspondante d'autorisation ou de refus de la liste de contrôle d'accès (ACL) du fichier ou du répertoire en cours.

(Hérité de FileSystemSecurity)
RemoveAuditRule(AuditRule)

Supprime les règles d'audit qui contiennent les mêmes identificateur de sécurité et masque d'accès que la règle d'audit spécifiée dans la liste de contrôle d'accès système associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
RemoveAuditRule(FileSystemAuditRule)

Supprime toutes les règles d'audit d'acceptation ou de refus dans le fichier ou le répertoire en cours.

(Hérité de FileSystemSecurity)
RemoveAuditRuleAll(AuditRule)

Supprime toutes les règles d'audit qui ont le même identificateur de sécurité que la règle d'audit spécifiée dans la liste de contrôle d'accès système associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
RemoveAuditRuleAll(FileSystemAuditRule)

Supprime toutes les règles d'audit pour l'utilisateur spécifié du fichier ou du répertoire en cours.

(Hérité de FileSystemSecurity)
RemoveAuditRuleSpecific(AuditRule)

Supprime toutes les règles d'audit qui correspondent exactement à la règle d'audit spécifiée dans la liste de contrôle d'accès système associée à cet objet CommonObjectSecurity.

(Hérité de CommonObjectSecurity)
RemoveAuditRuleSpecific(FileSystemAuditRule)

Supprime une seule règle d'audit d'acceptation ou de refus correspondante du fichier ou du répertoire en cours.

(Hérité de FileSystemSecurity)
ResetAccessRule(AccessRule)

Supprime toutes les règles d'accès de la liste de contrôle d'accès discrétionnaire associée à cet objet CommonObjectSecurity, puis ajoute la règle d'accès spécifiée.

(Hérité de CommonObjectSecurity)
ResetAccessRule(FileSystemAccessRule)

Ajoute l'autorisation de liste de contrôle d'accès (ACL) spécifiée au fichier ou au répertoire en cours et supprime toutes les autorisations ACL correspondantes.

(Hérité de FileSystemSecurity)
SetAccessRule(AccessRule)

Supprime toutes les règles d'accès qui contiennent les mêmes identificateur de sécurité et qualificateur que la règle d'accès spécifiée dans la liste de contrôle d'accès discrétionnaire associée à cet objet CommonObjectSecurity, puis ajoute la règle d'accès spécifiée.

(Hérité de CommonObjectSecurity)
SetAccessRule(FileSystemAccessRule)

Définit l'autorisation de liste de contrôle d'accès (ACL) spécifiée pour le fichier ou le répertoire en cours.

(Hérité de FileSystemSecurity)
SetAccessRuleProtection(Boolean, Boolean)

Définit ou supprime la protection des règles d’accès associées à cet objet ObjectSecurity. Les objets parents ne peuvent pas modifier des règles d’accès protégé par le biais de l’héritage.

(Hérité de ObjectSecurity)
SetAuditRule(AuditRule)

Supprime toutes les règles d'audit qui contiennent les mêmes identificateur de sécurité et qualificateur que la règle d'audit spécifiée dans la liste de contrôle d'accès système associée à cet objet CommonObjectSecurity, puis ajoute la règle d'audit spécifiée.

(Hérité de CommonObjectSecurity)
SetAuditRule(FileSystemAuditRule)

Définit la règle d'audit spécifiée pour le fichier ou le répertoire en cours.

(Hérité de FileSystemSecurity)
SetAuditRuleProtection(Boolean, Boolean)

Définit ou supprime la protection des règles d’audit associées à cet objet ObjectSecurity. Les objets parents ne peuvent pas modifier les règles d’audit protégées par le biais de l’héritage.

(Hérité de ObjectSecurity)
SetGroup(IdentityReference)

Définit le groupe principal du descripteur de sécurité associé à cet objet ObjectSecurity.

(Hérité de ObjectSecurity)
SetOwner(IdentityReference)

Définit le propriétaire du descripteur de sécurité associé à cet objet ObjectSecurity.

(Hérité de ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Définit le descripteur de sécurité de cet objet ObjectSecurity à partir du tableau de valeurs, spécifiées en octets.

(Hérité de ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Définit les sections spécifiées du descripteur de sécurité pour cet objet ObjectSecurity du tableau de valeurs d’octets spécifié.

(Hérité de ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Définit le descripteur de sécurité de cet objet ObjectSecurity de la chaîne SDDL (Security Descriptor Definition Language) spécifiée.

(Hérité de ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Définit les sections spécifiées du descripteur de sécurité de cet objet ObjectSecurity de la chaîne SDDL (Security Descriptor Definition Language) spécifiée.

(Hérité de ObjectSecurity)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
WriteLock()

Déverrouille cet objet ObjectSecurity pour un accès en écriture.

(Hérité de ObjectSecurity)
WriteUnlock()

Déverrouille cet objet ObjectSecurity pour un accès en écriture.

(Hérité de ObjectSecurity)

S’applique à