Sdílet prostřednictvím


FileSecurity Třída

Definice

Představuje řízení přístupu a zabezpečení auditu pro soubor. Tuto třídu nelze zdědit.

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
Dědičnost
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 FileSecurity určuje přístupová práva pro systémový soubor a způsob auditování pokusů o přístup. Tato třída představuje přístupová a auditní práva jako sadu pravidel. Každé pravidlo přístupu je reprezentováno objektem FileSystemAccessRule. Každé pravidlo auditu je reprezentováno objektem FileSystemAuditRule.

Třída FileSecurity je abstrakcí základního systému zabezpečení souborů systému Microsoft Windows. V tomto systému má každý soubor volitelný seznam řízení přístupu (DACL), který řídí přístup k souboru, 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 FileSecurity skryje mnoho podrobností seznamů DACLs a SACLs; Nemusíte se starat o řazení ACE nebo hodnoty DAC s hodnotou null.

Pomocí třídy FileSecurity můžete načíst, přidat nebo změnit pravidla přístupu, která představují seznam DACL a SACL souboru.

K přidání nebo načtení pravidel přístupu nebo auditu 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()

Konstruktory

FileSecurity()

Inicializuje novou instanci FileSecurity třídy.

FileSecurity(String, AccessControlSections)

Inicializuje novou instanci FileSecurity třídy ze zadaného souboru pomocí zadaných hodnot AccessControlSections výčtu.

Vlastnosti

AccessRightType

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

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

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

(Zděděno od FileSystemSecurity)
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).

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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).

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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.

(Zděděno od FileSystemSecurity)
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ář.

(Zděděno od FileSystemSecurity)
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ář.

(Zděděno od FileSystemSecurity)
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