FileSecurity Osztály

Definíció

Egy fájl hozzáférés-vezérlési és naplózási biztonságát jelöli. Ez az osztály nem örökölhető.

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
Öröklődés
Attribútumok

Példák

Az alábbi példakód az FileSecurity osztály használatával vesz fel és távolít el egy hozzáférés-vezérlési lista (ACL) bejegyzést egy fájlból. A példa futtatásához érvényes felhasználói vagy csoportfiókot kell megadnia.

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

Megjegyzések

Az FileSecurity osztály megadja a rendszerfájl hozzáférési jogosultságait és a hozzáférési kísérletek naplózásának módját. Ez az osztály a hozzáférési és naplózási jogosultságokat szabálykészletként jelöli. Minden hozzáférési szabályt egy FileSystemAccessRule objektum jelöl. Minden naplózási szabályt egy FileSystemAuditRule objektum jelöl.

A FileSecurity osztály a mögöttes Microsoft Windows fájlrendszer absztrakciója. Ebben a rendszerben minden fájl rendelkezik egy diszkréciós hozzáférés-vezérlési listával (DACL), amely szabályozza a fájlhoz való hozzáférést, valamint egy rendszerhozzáférés-vezérlési listát (SACL), amely meghatározza a naplózott hozzáférés-vezérlési kísérleteket. Az FileSystemAccessRule osztályok a FileSystemAuditRule hozzáférés-vezérlési bejegyzések (ACE-k) absztrakciói, amelyek DACL-eket és SAC-okat tartalmaznak.

Az FileSecurity osztály elrejti a DACL-ek és a SACL-ek számos részletét; nem kell aggódnia az ACE-rendezés vagy a null DACLs miatt.

FileSecurity Az osztály használatával lekérheti, hozzáadhatja vagy módosíthatja a fájl DACL-ét és SACL-ét képviselő hozzáférési szabályokat.

A következő .NET implementációfüggő metódusok használatával adja hozzá vagy kérje le a hozzáférési vagy naplózási szabályokat egy fájlból:

.NET-implementáció Szabályok hozzáadása Szabályok lekérése
.NET FileSystemAclExtensions.SetAccessControl(FileInfo, FileSecurity) FileSystemAclExtensions.GetAccessControl(FileInfo)
.NET-keretrendszer FileInfo.SetAccessControl(FileSecurity) FileInfo.GetAccessControl()

Konstruktorok

Name Description
FileSecurity()

Inicializálja a FileSecurity osztály új példányát.

FileSecurity(String, AccessControlSections)

Inicializálja az FileSecurity osztály új példányát egy megadott fájlból az AccessControlSections enumerálás megadott értékeinek használatával.

Tulajdonságok

Name Description
AccessRightType

Lekéri azt az enumerálást, amelyet az FileSystemSecurity osztály a hozzáférési jogosultságok megjelenítésére használ.

(Öröklődés forrása FileSystemSecurity)
AccessRulesModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy az objektumhoz ObjectSecurity társított hozzáférési szabályok módosultak-e.

(Öröklődés forrása ObjectSecurity)
AccessRuleType

Lekéri azt az enumerálást, amelyet az FileSystemSecurity osztály a hozzáférési szabályok megjelenítésére használ.

(Öröklődés forrása FileSystemSecurity)
AreAccessRulesCanonical

Logikai értéket kap, amely meghatározza, hogy az objektumhoz ObjectSecurity társított hozzáférési szabályok kánonikus sorrendben vannak-e.

(Öröklődés forrása ObjectSecurity)
AreAccessRulesProtected

Logikai értéket kap, amely meghatározza, hogy a ObjectSecurity objektumhoz társított diszkrecionális Access Control lista (DACL) védett-e.

(Öröklődés forrása ObjectSecurity)
AreAuditRulesCanonical

Logikai értéket kap, amely meghatározza, hogy az objektumhoz ObjectSecurity társított naplózási szabályok canonikus sorrendben vannak-e.

(Öröklődés forrása ObjectSecurity)
AreAuditRulesProtected

Logikai értéket kap, amely meghatározza, hogy a ObjectSecurity objektumhoz társított Rendszer Access Control lista (SACL) védett-e.

(Öröklődés forrása ObjectSecurity)
AuditRulesModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy az objektumhoz ObjectSecurity társított naplózási szabályok módosultak-e.

(Öröklődés forrása ObjectSecurity)
AuditRuleType

Lekéri az osztály által a FileSystemSecurity naplózási szabályok megjelenítésére használt típust.

(Öröklődés forrása FileSystemSecurity)
GroupModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy a biztonságos objektumhoz társított csoport módosult-e.

(Öröklődés forrása ObjectSecurity)
IsContainer

Logikai értéket kap, amely meghatározza, hogy ez ObjectSecurity az objektum tárolóobjektum-e.

(Öröklődés forrása ObjectSecurity)
IsDS

Logikai értéket kap, amely meghatározza, hogy ez ObjectSecurity az objektum címtárobjektum-e.

(Öröklődés forrása ObjectSecurity)
OwnerModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy a biztonságos objektum tulajdonosa módosult-e.

(Öröklődés forrása ObjectSecurity)
SecurityDescriptor

Lekéri a példányhoz tartozó biztonsági leírót.

(Öröklődés forrása ObjectSecurity)

Metódusok

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

Inicializálja az FileSystemAccessRule osztály új példányát, amely egy új hozzáférés-vezérlési szabályt jelöl a megadott felhasználó számára a megadott hozzáférési jogosultságokkal, hozzáférés-vezérléssel és jelzőkkel.

(Öröklődés forrása FileSystemSecurity)
AddAccessRule(AccessRule)

Hozzáadja a megadott hozzáférési szabályt a CommonObjectSecurity objektumhoz társított diszkréciós Access Control listához (DACL).

(Öröklődés forrása CommonObjectSecurity)
AddAccessRule(FileSystemAccessRule)

Hozzáadja a megadott hozzáférés-vezérlési listát (ACL) az aktuális fájlhoz vagy könyvtárhoz.

(Öröklődés forrása FileSystemSecurity)
AddAuditRule(AuditRule)

Hozzáadja a megadott naplózási szabályt a CommonObjectSecurity objektumhoz társított System Access Control List (SACL) listához.

(Öröklődés forrása CommonObjectSecurity)
AddAuditRule(FileSystemAuditRule)

Hozzáadja a megadott naplózási szabályt az aktuális fájlhoz vagy könyvtárhoz.

(Öröklődés forrása FileSystemSecurity)
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Inicializálja az osztály új példányát, FileSystemAuditRule amely a megadott felhasználó megadott naplózási szabályát képviseli.

(Öröklődés forrása FileSystemSecurity)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetAccessRules(Boolean, Boolean, Type)

Lekéri a megadott biztonsági azonosítóhoz társított hozzáférési szabályok gyűjteményét.

(Öröklődés forrása CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Lekéri a megadott biztonsági azonosítóhoz társított naplózási szabályok gyűjteményét.

(Öröklődés forrása CommonObjectSecurity)
GetGroup(Type)

Lekéri a megadott tulajdonoshoz társított elsődleges csoportot.

(Öröklődés forrása ObjectSecurity)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetOwner(Type)

Lekéri a megadott elsődleges csoporthoz társított tulajdonost.

(Öröklődés forrása ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Bájtértékeket tartalmazó tömböt ad vissza, amely az objektum biztonsági leíró adatait ObjectSecurity jelöli.

(Öröklődés forrása ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Az objektumhoz ObjectSecurity társított biztonsági leíró megadott szakaszainak biztonsági leíró definíciós nyelvét (SDDL) adja vissza.

(Öröklődés forrása ObjectSecurity)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Alkalmazza a megadott módosítást a CommonObjectSecurity objektumhoz társított diszkrecionális Access Control listára (DACL).

(Öröklődés forrása CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Alkalmazza a megadott módosítást a ObjectSecurity objektumhoz társított diszkrecionális Access Control listára (DACL).

(Öröklődés forrása ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Alkalmazza a megadott módosítást a CommonObjectSecurity objektumhoz társított System Access Control listára (SACL).

(Öröklődés forrása CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Alkalmazza a megadott módosítást a ObjectSecurity objektumhoz társított System Access Control listára (SACL).

(Öröklődés forrása ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Menti az objektumhoz ObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása ObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk,hogy őrizze meg, hogy a includeSections konstruktornak átadott paraméterek és a megőrző metódusok értékei azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
Persist(String, AccessControlSections)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Eltávolítja a megadotthoz IdentityReferencetársított összes hozzáférési szabályt.

(Öröklődés forrása ObjectSecurity)
PurgeAuditRules(IdentityReference)

Eltávolítja a megadotthoz IdentityReferencetársított összes naplózási szabályt.

(Öröklődés forrása ObjectSecurity)
ReadLock()

Zárolja ezt az ObjectSecurity objektumot olvasási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)
ReadUnlock()

Az objektum zárolásának feloldása ObjectSecurity olvasási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)
RemoveAccessRule(AccessRule)

Eltávolítja azokat a hozzáférési szabályokat, amelyek ugyanazt a biztonsági azonosítót és hozzáférési maszkot tartalmazzák, mint a megadott hozzáférési szabály a CommonObjectSecurity objektumhoz társított Diszkréciós Access Control Listából (DACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAccessRule(FileSystemAccessRule)

Eltávolítja az összes egyező hozzáférés-vezérlési lista (ACL) engedélyét az aktuális fájlból vagy könyvtárból.

(Öröklődés forrása FileSystemSecurity)
RemoveAccessRuleAll(AccessRule)

Eltávolít minden olyan hozzáférési szabályt, amely ugyanazzal a biztonsági azonosítóval rendelkezik, mint a megadott hozzáférési szabály a CommonObjectSecurity objektumhoz társított Diszkréciós Access Control listából (DACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAccessRuleAll(FileSystemAccessRule)

Eltávolítja a megadott felhasználó összes hozzáférés-vezérlési listáját (ACL) az aktuális fájlból vagy könyvtárból.

(Öröklődés forrása FileSystemSecurity)
RemoveAccessRuleSpecific(AccessRule)

Eltávolít minden olyan hozzáférési szabályt, amely pontosan megfelel a megadott hozzáférési szabálynak a CommonObjectSecurity objektumhoz társított Diszkrecionális Access Control listából (DACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAccessRuleSpecific(FileSystemAccessRule)

Egyetlen egyező hozzáférés-vezérlési lista (ACL) engedély eltávolítása az aktuális fájlból vagy könyvtárból.

(Öröklődés forrása FileSystemSecurity)
RemoveAuditRule(AuditRule)

Eltávolítja azokat a naplózási szabályokat, amelyek ugyanazt a biztonsági azonosítót és hozzáférési maszkot tartalmazzák, mint a megadott naplózási szabály a CommonObjectSecurity objektumhoz társított System Access Control Listából (SACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAuditRule(FileSystemAuditRule)

Eltávolítja az összes egyező engedélyezési vagy letiltási naplózási szabályt az aktuális fájlból vagy könyvtárból.

(Öröklődés forrása FileSystemSecurity)
RemoveAuditRuleAll(AuditRule)

Eltávolít minden olyan naplózási szabályt, amely ugyanazzal a biztonsági azonosítóval rendelkezik, mint a megadott naplózási szabály a CommonObjectSecurity objektumhoz társított System Access Control Listából (SACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAuditRuleAll(FileSystemAuditRule)

Eltávolítja a megadott felhasználó összes naplózási szabályát az aktuális fájlból vagy könyvtárból.

(Öröklődés forrása FileSystemSecurity)
RemoveAuditRuleSpecific(AuditRule)

Eltávolítja az összes olyan naplózási szabályt, amely pontosan megfelel a megadott naplózási szabálynak a CommonObjectSecurity objektumhoz társított System Access Control Listából (SACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAuditRuleSpecific(FileSystemAuditRule)

Egyetlen egyező engedélyezési vagy letiltási naplózási szabály eltávolítása az aktuális fájlból vagy könyvtárból.

(Öröklődés forrása FileSystemSecurity)
ResetAccessRule(AccessRule)

Eltávolítja a CommonObjectSecurity objektumhoz társított Diszkrecionális Access Control listában (DACL) szereplő összes hozzáférési szabályt, majd hozzáadja a megadott hozzáférési szabályt.

(Öröklődés forrása CommonObjectSecurity)
ResetAccessRule(FileSystemAccessRule)

Hozzáadja a megadott hozzáférés-vezérlési listát (ACL) az aktuális fájlhoz vagy könyvtárhoz, és eltávolítja az összes megfelelő ACL-engedélyt.

(Öröklődés forrása FileSystemSecurity)
SetAccessRule(AccessRule)

Eltávolít minden olyan hozzáférési szabályt, amely ugyanazt a biztonsági azonosítót és minősítőt tartalmazza, mint a CommonObjectSecurity objektumhoz társított Diszkréciós Access Control listában (DACL), majd hozzáadja a megadott hozzáférési szabályt.

(Öröklődés forrása CommonObjectSecurity)
SetAccessRule(FileSystemAccessRule)

Beállítja a megadott hozzáférés-vezérlési listát (ACL) az aktuális fájlhoz vagy könyvtárhoz.

(Öröklődés forrása FileSystemSecurity)
SetAccessRuleProtection(Boolean, Boolean)

Beállítja vagy eltávolítja az objektumhoz ObjectSecurity társított hozzáférési szabályok védelmét. A védett hozzáférési szabályokat a szülőobjektumok nem módosíthatják örökléssel.

(Öröklődés forrása ObjectSecurity)
SetAuditRule(AuditRule)

Eltávolít minden olyan naplózási szabályt, amely ugyanazt a biztonsági azonosítót és minősítőt tartalmazza, mint a CommonObjectSecurity objektumhoz társított System Access Control List (SACL) megadott naplózási szabálya, majd hozzáadja a megadott naplózási szabályt.

(Öröklődés forrása CommonObjectSecurity)
SetAuditRule(FileSystemAuditRule)

Beállítja az aktuális fájl vagy könyvtár megadott naplózási szabályát.

(Öröklődés forrása FileSystemSecurity)
SetAuditRuleProtection(Boolean, Boolean)

Beállítja vagy eltávolítja az objektumhoz ObjectSecurity társított naplózási szabályok védelmét. A védett naplózási szabályokat a szülőobjektumok nem módosíthatják örökléssel.

(Öröklődés forrása ObjectSecurity)
SetGroup(IdentityReference)

Beállítja az objektumhoz társított ObjectSecurity biztonsági leíró elsődleges csoportját.

(Öröklődés forrása ObjectSecurity)
SetOwner(IdentityReference)

Beállítja az objektumhoz társított biztonsági leíró tulajdonosát ObjectSecurity .

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Az objektum biztonsági leírójának ObjectSecurity megadott szakaszait a megadott bájtértékekből állítja be.

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Az objektum biztonsági leíróját ObjectSecurity a megadott bájtértékekből állítja be.

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Az objektum biztonsági leírójának ObjectSecurity megadott szakaszait a megadott Biztonsági leíró definíciós nyelv (SDDL) sztringből állítja be.

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Az objektum biztonsági leíróját ObjectSecurity a megadott Biztonsági leíró definíciós nyelv (SDDL) sztringből állítja be.

(Öröklődés forrása ObjectSecurity)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
WriteLock()

Zárolja ezt az ObjectSecurity objektumot írási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)
WriteUnlock()

Az objektum zárolásának feloldása ObjectSecurity írási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)

A következőre érvényes: