FileSecurity Třída

Definice

Představuje řízení přístupu a zabezpečení auditu pro soubor. Tato třída se nemůže dědit.

public ref class FileSecurity sealed : System::Security::AccessControl::FileSystemSecurity
public sealed class FileSecurity : System.Security.AccessControl.FileSystemSecurity
type FileSecurity = class
    inherit FileSystemSecurity
Public NotInheritable Class FileSecurity
Inherits FileSystemSecurity
Dědičnost

Příklady

Následující příklad kódu používá FileSecurity třídu 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í Microsoft Windows souborů. 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. FileSystemAuditRule Třídy FileSystemAccessRule jsou abstrakce položek řízení přístupu (ACL), které tvoří seznamy DAC a SEZNAMY SAC.

Třída FileSecurity skryje mnoho podrobností o sadě DACLs a SACLs; nemusíte se starat o řazení ACE nebo hodnoty DACLs s hodnotou null.

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

Pomocí následujících .NET metod závislých na implementaci přidejte nebo načtěte pravidla přístupu nebo auditu ze souboru:

implementace .NET Přidání pravidel Načtení pravidel
platforma .NET FileSystemAclExtensions.SetAccessControl(FileInfo, FileSecurity) FileSystemAclExtensions.GetAccessControl(FileInfo)
.NET Framework FileInfo.SetAccessControl(FileSecurity) FileInfo.GetAccessControl()

Konstruktory

Name Description
FileSecurity()

Inicializuje novou instanci FileSecurity třídy.

FileSecurity(String, AccessControlSections)

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

Vlastnosti

Name Description
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 pravidla přístupu přidružená k tomuto ObjectSecurity objektu byla změněna.

(Zděděno od ObjectSecurity)
AccessRuleType

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

(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 je seznam řízení přístupu systému (SACL) přidružený k tomuto ObjectSecurity objektu 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)

Metody

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

Inicializuje novou instanci FileSystemAccessRule třídy, 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 FileSystemAuditRule třídy představující zadané pravidlo auditu pro zadaného uživatele.

(Zděděno od FileSystemSecurity)
Equals(Object)

Určí, zda se zadaný objekt rovná 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 objekt.

(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 systému (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 systému (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ého k tomuto ObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty includeSections parametrů předané konstruktoru a trvalé metody byly identické.

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

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

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

Uloží zadané části popisovače zabezpečení přidruženého k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme.zachovat, aby hodnoty includeSections parametrů 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ého k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty includeSections parametrů 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ého k tomuto NativeObjectSecurity objektu do trvalého úložiště. Doporučujeme, aby hodnoty includeSections parametrů 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 ObjectSecurity objekt pro přístup pro čtení.

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

Odemkne tento ObjectSecurity objekt 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 CommonObjectSecurity objektu.

(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 CommonObjectSecurity objektu.

(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 CommonObjectSecurity objektu.

(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 CommonObjectSecurity objektu.

(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 CommonObjectSecurity objektu.

(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 CommonObjectSecurity objektu.

(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 CommonObjectSecurity objektu 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 CommonObjectSecurity objektu, 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 ObjectSecurity objektu. 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 CommonObjectSecurity objektu, 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 ObjectSecurity objektu. 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 pro popisovač zabezpečení přidružený k tomuto ObjectSecurity objektu.

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

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

(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)
SetSecurityDescriptorBinaryForm(Byte[])

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

(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)
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)
ToString()

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

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

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

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

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

(Zděděno od ObjectSecurity)

Platí pro