Sdílet prostřednictvím


FileSystemSecurity Třída

Definice

Představuje řízení přístupu a zabezpečení auditu pro soubor nebo adresář.

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
Dědičnost
Odvozené
Atributy

Příklady

Následující příklad kódu používá FileSecurity třídy k přidání a odebrání položky seznamu řízení přístupu (ACL) ze souboru. Pro spuštění tohoto příkladu musíte zadat platný účet uživatele nebo skupiny.

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)
        {
            FileInfo fileInfo = new(fileName);
            FileSecurity fSecurity = fileInfo.GetAccessControl();

            // Add the FileSystemAccessRule to the security settings.
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            fileInfo.SetAccessControl(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)
        {
            FileInfo fileInfo = new(fileName);
            FileSecurity fSecurity = fileInfo.GetAccessControl();

            // Remove the FileSystemAccessRule from the security settings.
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            fileInfo.SetAccessControl(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)

        Dim fileInfo As New FileInfo(fileName)
        Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()

        ' Add the FileSystemAccessRule to the security settings. 
        Dim accessRule As New FileSystemAccessRule(account, rights, controlType)

        fSecurity.AddAccessRule(accessRule)

        ' Set the new access settings.
        fileInfo.SetAccessControl(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)

        Dim fileInfo As New FileInfo(fileName)
        Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()

        ' Remove the FileSystemAccessRule from the security settings. 
        fSecurity.RemoveAccessRule(New FileSystemAccessRule(account,
            rights, controlType))

        ' Set the new access settings.
        fileInfo.SetAccessControl(fSecurity)

    End Sub
End Module

Poznámky

Třída FileSystemSecurity je základní třídou pro třídy FileSecurity a DirectorySecurity. Tyto třídy představují všechna přístupová práva pro systémový soubor nebo adresář a definují, jak se auditují pokusy o přístup.

Třída FileSystemSecurity představuje přístupová a auditní práva jako sada pravidel. Každé pravidlo přístupu je reprezentováno objektem FileSystemAccessRule, zatímco každé pravidlo auditu je reprezentováno objektem FileSystemAuditRule.

Třída FileSystemSecurity je abstrakcí základního systému zabezpečení souborů systému Microsoft Windows. V tomto systému má každý soubor nebo adresář volitelný seznam řízení přístupu (DACL), který řídí přístup k souboru nebo adresáři, a seznam řízení přístupu systému (SACL), který určuje pokusy o řízení přístupu, které jsou auditovány. Třídy FileSystemAccessRule a FileSystemAuditRule jsou abstrakce položek řízení přístupu (ACL), které tvoří seznamy DACL a seznamy SACLs.

Třída FileSystemSecurity skryje mnoho podrobností o rlích DAC a SACLs; nemusíte si dělat starosti s řazením ACE nebo nulovým seznamem DACLS.

K přidání nebo načtení informací seznamu ACL ze souboru použijte následující metody závislé na implementaci .NET:

Implementace .NET Přidání pravidel Načtení pravidel
.SÍŤ FileSystemAclExtensions.SetAccessControl(FileInfo, FileSecurity) FileSystemAclExtensions.GetAccessControl(FileInfo)
.NET Framework FileInfo.SetAccessControl(FileSecurity) FileInfo.GetAccessControl()

Vlastnosti

AccessRightType

Získá výčet, který FileSystemSecurity třída používá k reprezentaci přístupových práv.

AccessRulesModified

Získá nebo nastaví logickou hodnotu, která určuje, zda byla upravena pravidla přístupu přidružená k tomuto ObjectSecurity objektu.

(Zděděno od ObjectSecurity)
AccessRuleType

Získá výčet, který FileSystemSecurity třída používá k reprezentaci pravidel přístupu.

AreAccessRulesCanonical

Získá logickou hodnotu, která určuje, zda pravidla přístupu přidružená k tomuto ObjectSecurity objektu jsou v kanonickém pořadí.

(Zděděno od ObjectSecurity)
AreAccessRulesProtected

Získá logickou hodnotu, která určuje, zda je volitelný seznam řízení přístupu (DACL) přidružený k tomuto ObjectSecurity objektu chráněn.

(Zděděno od ObjectSecurity)
AreAuditRulesCanonical

Získá logickou hodnotu, která určuje, zda pravidla auditu přidružená k tomuto ObjectSecurity objektu jsou v kanonickém pořadí.

(Zděděno od ObjectSecurity)
AreAuditRulesProtected

Získá logickou hodnotu, která určuje, zda systémový seznam řízení přístupu (SACL) přidružený k tomuto ObjectSecurity objektu je chráněn.

(Zděděno od ObjectSecurity)
AuditRulesModified

Získá nebo nastaví logickou hodnotu, která určuje, zda byla upravena pravidla auditu přidružená k tomuto ObjectSecurity objektu.

(Zděděno od ObjectSecurity)
AuditRuleType

Získá typ, který FileSystemSecurity třída používá k reprezentaci pravidel auditu.

GroupModified

Získá nebo nastaví logickou hodnotu, která určuje, zda skupina přidružená k zabezpečitelnému objektu byla změněna.

(Zděděno od ObjectSecurity)
IsContainer

Získá logickou hodnotu, která určuje, zda tento ObjectSecurity objekt je objekt kontejneru.

(Zděděno od ObjectSecurity)
IsDS

Získá logickou hodnotu, která určuje, zda tento ObjectSecurity objekt je objekt adresáře.

(Zděděno od ObjectSecurity)
OwnerModified

Získá nebo nastaví logickou hodnotu, která určuje, zda vlastník zabezpečitelného objektu byl změněn.

(Zděděno od ObjectSecurity)
SecurityDescriptor

Získá popisovač zabezpečení pro tuto instanci.

(Zděděno od ObjectSecurity)

Metody

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

Inicializuje novou instanci třídy FileSystemAccessRule, která představuje nové pravidlo řízení přístupu pro zadaného uživatele se zadanými přístupovými právy, řízením přístupu a příznaky.

AddAccessRule(AccessRule)

Přidá zadané pravidlo přístupu do volitelného seznamu řízení přístupu (DACL) přidruženého k tomuto CommonObjectSecurity objektu.

(Zděděno od CommonObjectSecurity)
AddAccessRule(FileSystemAccessRule)

Přidá zadané oprávnění seznamu řízení přístupu (ACL) k aktuálnímu souboru nebo adresáři.

AddAuditRule(AuditRule)

Přidá zadané pravidlo auditu do seznamu řízení přístupu systému (SACL) přidruženého k tomuto CommonObjectSecurity objektu.

(Zděděno od CommonObjectSecurity)
AddAuditRule(FileSystemAuditRule)

Přidá zadané pravidlo auditu do aktuálního souboru nebo adresáře.

AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Inicializuje novou instanci třídy FileSystemAuditRule představující zadané pravidlo auditu pro zadaného uživatele.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetAccessRules(Boolean, Boolean, Type)

Získá kolekci přístupových pravidel přidružených k zadanému identifikátoru zabezpečení.

(Zděděno od CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Získá kolekci pravidel auditu přidružených k zadanému identifikátoru zabezpečení.

(Zděděno od CommonObjectSecurity)
GetGroup(Type)

Získá primární skupinu přidruženou k zadanému vlastníkovi.

(Zděděno od ObjectSecurity)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetOwner(Type)

Získá vlastníka přidruženého k zadané primární skupině.

(Zděděno od ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Vrátí pole bajtů hodnot, které představují informace popisovače zabezpečení pro tento ObjectSecurity objektu.

(Zděděno od ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Vrátí reprezentaci jazyka SDDL (Security Descriptor Definition Language) zadané části popisovače zabezpečení přidruženého k tomuto ObjectSecurity objektu.

(Zděděno od ObjectSecurity)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Použije zadanou úpravu volitelného seznamu řízení přístupu (DACL) přidruženého k tomuto CommonObjectSecurity objektu.

(Zděděno od CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Použije zadanou úpravu volitelného seznamu řízení přístupu (DACL) přidruženého k tomuto ObjectSecurity objektu.

(Zděděno od ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Použije zadanou úpravu seznamu řízení přístupu (SACL) přidruženého k tomuto CommonObjectSecurity objektu.

(Zděděno od CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Použije zadanou úpravu seznamu řízení přístupu (SACL) přidruženého k tomuto ObjectSecurity objektu.

(Zděděno od ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Uloží zadané části popisovače zabezpečení přidružené k tomuto ObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty parametrů includeSections předané konstruktoru a trvalé metody byly identické.

(Zděděno od ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Uloží zadané části popisovače zabezpečení přidružené k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme.zachovat, aby hodnoty parametrů includeSections předané konstruktoru a trvalé metody byly identické.

(Zděděno od NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Uloží zadané části popisovače zabezpečení přidružené k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty parametrů includeSections předané konstruktoru a trvalé metody byly identické.

(Zděděno od NativeObjectSecurity)
Persist(String, AccessControlSections)

Uloží zadané části popisovače zabezpečení přidružené k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty parametrů includeSections předané konstruktoru a trvalé metody byly identické.

(Zděděno od NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Uloží zadané části popisovače zabezpečení přidružené k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty parametrů includeSections předané konstruktoru a trvalé metody byly identické.

(Zděděno od NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Odebere všechna přístupová pravidla přidružená k zadanému IdentityReference.

(Zděděno od ObjectSecurity)
PurgeAuditRules(IdentityReference)

Odebere všechna pravidla auditu přidružená k zadanému IdentityReference.

(Zděděno od ObjectSecurity)
ReadLock()

Uzamkne tento objekt ObjectSecurity pro přístup pro čtení.

(Zděděno od ObjectSecurity)
ReadUnlock()

Odemkne tento objekt ObjectSecurity pro přístup pro čtení.

(Zděděno od ObjectSecurity)
RemoveAccessRule(AccessRule)

Odebere pravidla přístupu, která obsahují stejný identifikátor zabezpečení a masku přístupu jako zadané pravidlo přístupu, z volitelného seznamu řízení přístupu (DACL) přidruženého k tomuto objektu CommonObjectSecurity.

(Zděděno od CommonObjectSecurity)
RemoveAccessRule(FileSystemAccessRule)

Odebere z aktuálního souboru nebo adresáře všechna odpovídající oprávnění seznamu řízení přístupu (ACL).

RemoveAccessRuleAll(AccessRule)

Odebere všechna pravidla přístupu, která mají stejný identifikátor zabezpečení jako zadané pravidlo přístupu, z volitelného seznamu řízení přístupu (DACL) přidruženého k tomuto objektu CommonObjectSecurity.

(Zděděno od CommonObjectSecurity)
RemoveAccessRuleAll(FileSystemAccessRule)

Odebere všechna oprávnění seznamu řízení přístupu (ACL) pro zadaného uživatele z aktuálního souboru nebo adresáře.

RemoveAccessRuleSpecific(AccessRule)

Odebere všechna pravidla přístupu, která přesně odpovídají zadanému pravidlu přístupu, z volitelného seznamu řízení přístupu (DACL) přidruženého k tomuto objektu CommonObjectSecurity.

(Zděděno od CommonObjectSecurity)
RemoveAccessRuleSpecific(FileSystemAccessRule)

Odebere z aktuálního souboru nebo adresáře jedno odpovídající oprávnění seznamu řízení přístupu (ACL).

RemoveAuditRule(AuditRule)

Odebere pravidla auditu, která obsahují stejný identifikátor zabezpečení a masku přístupu jako zadané pravidlo auditu, ze seznamu řízení přístupu systému (SACL) přidruženého k tomuto objektu CommonObjectSecurity.

(Zděděno od CommonObjectSecurity)
RemoveAuditRule(FileSystemAuditRule)

Odebere všechna odpovídající pravidla auditu povolit nebo odepřít z aktuálního souboru nebo adresáře.

RemoveAuditRuleAll(AuditRule)

Odebere všechna pravidla auditu, která mají stejný identifikátor zabezpečení jako zadané pravidlo auditu, ze seznamu řízení přístupu systému (SACL) přidruženého k tomuto objektu CommonObjectSecurity.

(Zděděno od CommonObjectSecurity)
RemoveAuditRuleAll(FileSystemAuditRule)

Odebere všechna pravidla auditu pro zadaného uživatele z aktuálního souboru nebo adresáře.

RemoveAuditRuleSpecific(AuditRule)

Odebere všechna pravidla auditu, která přesně odpovídají zadanému pravidlu auditu, ze seznamu řízení přístupu systému (SACL) přidruženého k tomuto objektu CommonObjectSecurity.

(Zděděno od CommonObjectSecurity)
RemoveAuditRuleSpecific(FileSystemAuditRule)

Odebere z aktuálního souboru nebo adresáře jedno odpovídající pravidlo auditu povolit nebo odepřít.

ResetAccessRule(AccessRule)

Odebere všechna přístupová pravidla v volitelném seznamu řízení přístupu (DACL) přidruženém k tomuto objektu CommonObjectSecurity a pak přidá zadané pravidlo přístupu.

(Zděděno od CommonObjectSecurity)
ResetAccessRule(FileSystemAccessRule)

Přidá zadané oprávnění seznamu řízení přístupu (ACL) k aktuálnímu souboru nebo adresáři a odebere všechna odpovídající oprávnění seznamu ACL.

SetAccessRule(AccessRule)

Odebere všechna pravidla přístupu, která obsahují stejný identifikátor zabezpečení a kvalifikátor jako zadané pravidlo přístupu v volitelném seznamu řízení přístupu (DACL) přidruženém k tomuto objektu CommonObjectSecurity a pak přidá zadané pravidlo přístupu.

(Zděděno od CommonObjectSecurity)
SetAccessRule(FileSystemAccessRule)

Nastaví zadané oprávnění seznamu řízení přístupu (ACL) pro aktuální soubor nebo adresář.

SetAccessRuleProtection(Boolean, Boolean)

Nastaví nebo odebere ochranu pravidel přístupu přidružených k tomuto objektu ObjectSecurity. Pravidla chráněného přístupu nelze upravovat nadřazenými objekty prostřednictvím dědičnosti.

(Zděděno od ObjectSecurity)
SetAuditRule(AuditRule)

Odebere všechna pravidla auditu, která obsahují stejný identifikátor zabezpečení a kvalifikátor jako zadané pravidlo auditu v seznamu řízení přístupu systému (SACL) přidruženém k tomuto objektu CommonObjectSecurity a pak přidá zadané pravidlo auditu.

(Zděděno od CommonObjectSecurity)
SetAuditRule(FileSystemAuditRule)

Nastaví zadané pravidlo auditu pro aktuální soubor nebo adresář.

SetAuditRuleProtection(Boolean, Boolean)

Nastaví nebo odebere ochranu pravidel auditu přidružených k tomuto objektu ObjectSecurity. Chráněná pravidla auditu nelze upravovat nadřazenými objekty prostřednictvím dědičnosti.

(Zděděno od ObjectSecurity)
SetGroup(IdentityReference)

Nastaví primární skupinu popisovače zabezpečení přidruženého k tomuto objektu ObjectSecurity.

(Zděděno od ObjectSecurity)
SetOwner(IdentityReference)

Nastaví vlastníka popisovače zabezpečení přidruženého k tomuto objektu ObjectSecurity.

(Zděděno od ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Nastaví popisovač zabezpečení pro tento ObjectSecurity objekt ze zadané pole bajtů hodnot.

(Zděděno od ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Nastaví zadané části popisovače zabezpečení pro tento ObjectSecurity objekt ze zadané pole bajtů hodnot.

(Zděděno od ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Nastaví popisovač zabezpečení pro tento ObjectSecurity objekt ze zadaného řetězce SDDL (Security Descriptor Definition Language).

(Zděděno od ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Nastaví zadané části popisovače zabezpečení pro tento ObjectSecurity objekt ze zadaného řetězce SDDL (Security Descriptor Definition Language).

(Zděděno od ObjectSecurity)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
WriteLock()

Uzamkne tento objekt ObjectSecurity pro přístup k zápisu.

(Zděděno od ObjectSecurity)
WriteUnlock()

Odemkne tento objekt ObjectSecurity pro přístup k zápisu.

(Zděděno od ObjectSecurity)

Platí pro