FileSystemSecurity Třída

Definice

Představuje zabezpečení řízení přístupu a 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řídu k přidání a následnému odebrání položky seznamu řízení přístupu (ACL) ze souboru. Abyste mohli tento příklad spustit, musíte zadat platný uživatelský nebo skupinový účet.

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

Poznámky

Třída FileSystemSecurity je základní třídou tříd FileSecurity a DirectorySecurity . Tyto třídy představují všechna přístupová práva k systémovému souboru nebo adresáři a definují způsob auditování pokusů o přístup.

Třída FileSystemSecurity představuje přístupová a auditovací práva jako sadu 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 Microsoft systému zabezpečení souborů 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 (ACE), které tvoří seznamy DACL a SACL.

Třída FileSystemSecurity skrývá mnoho podrobností o dacl a SACL; nemusíte se starat o řazení ACE nebo null DACLS.

Pokud chcete zachovat nové nebo změněné informace seznamu řízení přístupu (ACL) do souboru, použijte metodu SetAccessControl nebo SetAccessControl . Pokud chcete zachovat nové nebo změněné informace seznamu ACL do adresáře, použijte metodu SetAccessControl nebo SetAccessControl .

Pokud chcete načíst informace seznamu ACL ze souboru, použijte metodu GetAccessControl nebo GetAccessControl . Pokud chcete načíst informace seznamu ACL z adresáře, použijte metodu GetAccessControl nebo 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 změněna 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 volitelné Access Control seznam (DACL) přidružené k tomuto ObjectSecurity objektu je chráněn.

(Zděděno od ObjectSecurity)
AreAuditRulesCanonical

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

(Zděděno od ObjectSecurity)
AreAuditRulesProtected

Získá logickou hodnotu, která určuje, zda systém Access Control seznam (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 změněna 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 byla změněna skupina přidružená k zabezpečitelnému objektu.

(Zděděno od ObjectSecurity)
IsContainer

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

(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 byl změněn vlastník zabezpečitelného objektu.

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

AddAccessRule(AccessRule)

Přidá zadané pravidlo přístupu do volitelného seznamu Access Control (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 Access Control 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 FileSystemAuditRule třídy představující zadané pravidlo auditu pro zadaného uživatele.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Získá kolekci pravidel přístupu 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í hashovací funkce.

(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é k tomuto ObjectSecurity objektu.

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

Získá aktuální Type instanci.

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

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

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

Použije zadanou úpravu volitelného seznamu Access Control (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 Access Control (DACL) přidruženého k tomuto ObjectSecurity objektu.

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

Použije zadanou změnu seznamu Access Control systému (SACL) přidruženého k tomuto CommonObjectSecurity objektu.

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

Použije zadanou změnu seznamu Access Control 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 metody persist byly identické.

(Zděděno od ObjectSecurity)
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.persist, aby hodnoty includeSections parametrů předané konstruktoru a metody persist byly stejné.

(Zděděno od NativeObjectSecurity)
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 metody persist 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 metody persist 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 metody persist byly identické.

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

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

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

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

(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 Access Control (DACL) přidruženého k tomuto CommonObjectSecurity objektu.

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

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

RemoveAccessRuleAll(AccessRule)

Odebere všechna pravidla přístupu, která mají stejný identifikátor zabezpečení jako zadané pravidlo přístupu z volitelného seznamu Access Control (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.

RemoveAccessRuleSpecific(AccessRule)

Odebere všechna pravidla přístupu, která přesně odpovídají zadanému pravidlu přístupu, z volitelného seznamu Access Control (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í povolit nebo odepřít seznam ří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 Access Control systému (SACL) přidruženého k tomuto CommonObjectSecurity objektu.

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

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

RemoveAuditRuleAll(AuditRule)

Odebere všechna pravidla auditu, která mají stejný identifikátor zabezpečení jako zadané pravidlo auditu ze seznamu Access Control 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.

RemoveAuditRuleSpecific(AuditRule)

Odebere všechna pravidla auditu, která přesně odpovídají zadanému pravidlu auditu, ze seznamu Access Control 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.

ResetAccessRule(AccessRule)

Odebere všechna pravidla přístupu v seznamu volitelných Access Control (DACL) přidružených 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.

SetAccessRule(AccessRule)

Odebere všechna pravidla přístupu, která obsahují stejný identifikátor zabezpečení a kvalifikátor jako zadané pravidlo přístupu v seznamu volitelných Access Control (DACL) přidružených 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ář.

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 nemohou být upravena 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 Access Control systému (SACL) přidružené 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ář.

SetAuditRuleProtection(Boolean, Boolean)

Nastaví nebo odebere ochranu pravidel auditu přidružených k tomuto ObjectSecurity objektu. Chráněná pravidla auditu nemohou být upravena 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[])

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

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

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

(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 jazyka 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