FileSystemSecurity Classe

Définition

Représente la sécurité de contrôle d'accès et d'audit pour un fichier ou un répertoire.

public ref class FileSystemSecurity abstract : System::Security::AccessControl::NativeObjectSecurity
public abstract class FileSystemSecurity : System.Security.AccessControl.NativeObjectSecurity
[System.Security.SecurityCritical]
public abstract class FileSystemSecurity : System.Security.AccessControl.NativeObjectSecurity
type FileSystemSecurity = class
    inherit NativeObjectSecurity
[<System.Security.SecurityCritical>]
type FileSystemSecurity = class
    inherit NativeObjectSecurity
Public MustInherit Class FileSystemSecurity
Inherits NativeObjectSecurity
Héritage
Dérivé
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 FileSystemSecurity classe est la classe de base pour les FileSecurity classes et .DirectorySecurity Ces classes représentent tous les droits d’accès d’un fichier ou d’un répertoire système et définissent la façon dont les tentatives d’accès sont auditées.

La FileSystemSecurity 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 FileSystemSecurity classe est une abstraction du système de sécurité de fichiers Windows sous-jacent Microsoft. Dans ce système, chaque fichier ou répertoire a une liste de contrôle d’accès discrétionnaire (DACL), qui contrôle l’accès au fichier ou au répertoire, 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 d’entrées de contrôle d’accès (ACÉ) qui comprennent des DLL et des SACL.

La FileSystemSecurity classe masque de nombreux détails des DACL et des SACL ; vous n’avez pas à vous soucier de l’ordre ACE ou des LISTES DACL null.

Pour conserver des informations de liste de contrôle d’accès (ACL) nouvelles ou modifiées dans un fichier, utilisez la SetAccessControl méthode ou SetAccessControl . Pour conserver les informations ACL nouvelles ou modifiées dans un répertoire, utilisez la SetAccessControl méthode ou SetAccessControl .

Pour récupérer des informations de liste de contrôle d’accès à partir d’un fichier, utilisez la GetAccessControl méthode ou GetAccessControl . Pour récupérer des informations de liste de contrôle d’accès à partir d’un répertoire, utilisez la GetAccessControl méthode ou GetAccessControl .

Propriétés

AccessRightType

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

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.

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.

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.

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.

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.

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é.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 à