Udostępnij za pośrednictwem


FileSecurity Klasa

Definicja

Reprezentuje zabezpieczenia kontroli dostępu i inspekcji dla pliku. Tej klasy nie można dziedziczyć.

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
Dziedziczenie
Atrybuty

Przykłady

Poniższy przykład kodu używa klasy FileSecurity do dodania, a następnie usunięcia wpisu listy kontroli dostępu (ACL) z pliku. Aby uruchomić ten przykład, musisz podać prawidłowe konto użytkownika lub grupy.

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

Uwagi

Klasa FileSecurity określa prawa dostępu dla pliku systemowego oraz sposób inspekcji prób dostępu. Ta klasa reprezentuje prawa dostępu i inspekcji jako zestaw reguł. Każda reguła dostępu jest reprezentowana przez obiekt FileSystemAccessRule. Każda reguła inspekcji jest reprezentowana przez obiekt FileSystemAuditRule.

Klasa FileSecurity jest abstrakcją bazowego systemu zabezpieczeń plików systemu Microsoft Windows. W tym systemie każdy plik ma uznaniową listę kontroli dostępu (DACL), która kontroluje dostęp do pliku, oraz systemową listę kontroli dostępu (SACL), która określa próby kontroli dostępu, które są poddawane inspekcji. Klasy FileSystemAccessRule i FileSystemAuditRule to abstrakcje wpisów kontroli dostępu (ACL), które składają się na listy KONTROLI dostępu i SACL.

Klasa FileSecurity ukrywa wiele szczegółów list DACL i SACL; Nie musisz martwić się o kolejność ACE lub listy DACLs o wartości null.

Użyj klasy FileSecurity, aby pobrać, dodać lub zmienić reguły dostępu reprezentujące listę DACL i SACL pliku.

Użyj następujących metod zależnych od implementacji platformy .NET, aby dodać lub pobrać reguły dostępu lub inspekcji z pliku:

Implementacja platformy .NET Dodawanie reguł Pobieranie reguł
.SIEĆ FileSystemAclExtensions.SetAccessControl(FileInfo, FileSecurity) FileSystemAclExtensions.GetAccessControl(FileInfo)
.NET Framework FileInfo.SetAccessControl(FileSecurity) FileInfo.GetAccessControl()

Konstruktory

FileSecurity()

Inicjuje nowe wystąpienie klasy FileSecurity.

FileSecurity(String, AccessControlSections)

Inicjuje nowe wystąpienie klasy FileSecurity z określonego pliku przy użyciu określonych wartości wyliczenia AccessControlSections.

Właściwości

AccessRightType

Pobiera wyliczenie używane przez klasę FileSystemSecurity do reprezentowania praw dostępu.

(Odziedziczone po FileSystemSecurity)
AccessRulesModified

Pobiera lub ustawia wartość logiczną określającą, czy reguły dostępu skojarzone z tym obiektem ObjectSecurity zostały zmodyfikowane.

(Odziedziczone po ObjectSecurity)
AccessRuleType

Pobiera wyliczenie używane przez klasę FileSystemSecurity do reprezentowania reguł dostępu.

(Odziedziczone po FileSystemSecurity)
AreAccessRulesCanonical

Pobiera wartość logiczną określającą, czy reguły dostępu skojarzone z tym obiektem ObjectSecurity są w porządku kanonicznym.

(Odziedziczone po ObjectSecurity)
AreAccessRulesProtected

Pobiera wartość logiczną określającą, czy lista kontroli dostępu uznaniowego (DACL) skojarzona z tym obiektem ObjectSecurity jest chroniona.

(Odziedziczone po ObjectSecurity)
AreAuditRulesCanonical

Pobiera wartość logiczną określającą, czy reguły inspekcji skojarzone z tym obiektem ObjectSecurity są w porządku kanonicznym.

(Odziedziczone po ObjectSecurity)
AreAuditRulesProtected

Pobiera wartość logiczną określającą, czy lista kontroli dostępu systemu (SACL) skojarzona z tym obiektem ObjectSecurity jest chroniona.

(Odziedziczone po ObjectSecurity)
AuditRulesModified

Pobiera lub ustawia wartość logiczną określającą, czy reguły inspekcji skojarzone z tym obiektem ObjectSecurity zostały zmodyfikowane.

(Odziedziczone po ObjectSecurity)
AuditRuleType

Pobiera typ używany przez klasę FileSystemSecurity do reprezentowania reguł inspekcji.

(Odziedziczone po FileSystemSecurity)
GroupModified

Pobiera lub ustawia wartość logiczną określającą, czy grupa skojarzona z zabezpieczanym obiektem została zmodyfikowana.

(Odziedziczone po ObjectSecurity)
IsContainer

Pobiera wartość logiczną określającą, czy ten obiekt ObjectSecurity jest obiektem kontenera.

(Odziedziczone po ObjectSecurity)
IsDS

Pobiera wartość logiczną określającą, czy ten obiekt ObjectSecurity jest obiektem katalogu.

(Odziedziczone po ObjectSecurity)
OwnerModified

Pobiera lub ustawia wartość logiczną określającą, czy właściciel zabezpieczanego obiektu został zmodyfikowany.

(Odziedziczone po ObjectSecurity)
SecurityDescriptor

Pobiera deskryptor zabezpieczeń dla tego wystąpienia.

(Odziedziczone po ObjectSecurity)

Metody

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

Inicjuje nowe wystąpienie klasy FileSystemAccessRule, która reprezentuje nową regułę kontroli dostępu dla określonego użytkownika z określonymi prawami dostępu, kontrolą dostępu i flagami.

(Odziedziczone po FileSystemSecurity)
AddAccessRule(AccessRule)

Dodaje określoną regułę dostępu do listy kontroli dostępu uznaniowej skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
AddAccessRule(FileSystemAccessRule)

Dodaje określone uprawnienie listy kontroli dostępu (ACL) do bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
AddAuditRule(AuditRule)

Dodaje określoną regułę inspekcji do listy kontroli dostępu systemu (SACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
AddAuditRule(FileSystemAuditRule)

Dodaje określoną regułę inspekcji do bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Inicjuje nowe wystąpienie klasy FileSystemAuditRule reprezentującej określoną regułę inspekcji dla określonego użytkownika.

(Odziedziczone po FileSystemSecurity)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetAccessRules(Boolean, Boolean, Type)

Pobiera kolekcję reguł dostępu skojarzonych z określonym identyfikatorem zabezpieczeń.

(Odziedziczone po CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Pobiera kolekcję reguł inspekcji skojarzonych z określonym identyfikatorem zabezpieczeń.

(Odziedziczone po CommonObjectSecurity)
GetGroup(Type)

Pobiera grupę podstawową skojarzona z określonym właścicielem.

(Odziedziczone po ObjectSecurity)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetOwner(Type)

Pobiera właściciela skojarzonego z określoną grupą podstawową.

(Odziedziczone po ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Zwraca tablicę wartości bajtów, która reprezentuje informacje deskryptora zabezpieczeń dla tego obiektu ObjectSecurity.

(Odziedziczone po ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Zwraca reprezentację języka SDDL (Security Descriptor Definition Language) określonego fragmentu deskryptora zabezpieczeń skojarzonego z tym obiektem ObjectSecurity.

(Odziedziczone po ObjectSecurity)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Stosuje określoną modyfikację do uznaniowej listy kontroli dostępu (DACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Stosuje określoną modyfikację do uznaniowej listy kontroli dostępu (DACL) skojarzonej z tym obiektem ObjectSecurity.

(Odziedziczone po ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Stosuje określoną modyfikację do listy kontroli dostępu systemu (SACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Stosuje określoną modyfikację do listy kontroli dostępu systemu (SACL) skojarzonej z tym obiektem ObjectSecurity.

(Odziedziczone po ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Zapisuje określone sekcje deskryptora zabezpieczeń skojarzonego z tym obiektem ObjectSecurity do magazynu trwałego. Zalecamy, aby wartości parametrów includeSections przekazanych do konstruktora i metody utrwalania są identyczne.

(Odziedziczone po ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Zapisuje określone sekcje deskryptora zabezpieczeń skojarzonego z tym obiektem NativeObjectSecurity do magazynu trwałego. Zalecamy.utrwalanie wartości parametrów includeSections przekazywanych do konstruktora i utrwalania metod są identyczne.

(Odziedziczone po NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Zapisuje określone sekcje deskryptora zabezpieczeń skojarzonego z tym obiektem NativeObjectSecurity do magazynu trwałego. Zalecamy, aby wartości parametrów includeSections przekazanych do konstruktora i metody utrwalania są identyczne.

(Odziedziczone po NativeObjectSecurity)
Persist(String, AccessControlSections)

Zapisuje określone sekcje deskryptora zabezpieczeń skojarzonego z tym obiektem NativeObjectSecurity do magazynu trwałego. Zalecamy, aby wartości parametrów includeSections przekazanych do konstruktora i metody utrwalania są identyczne.

(Odziedziczone po NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Zapisuje określone sekcje deskryptora zabezpieczeń skojarzonego z tym obiektem NativeObjectSecurity do magazynu trwałego. Zalecamy, aby wartości parametrów includeSections przekazanych do konstruktora i metody utrwalania są identyczne.

(Odziedziczone po NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Usuwa wszystkie reguły dostępu skojarzone z określonym IdentityReference.

(Odziedziczone po ObjectSecurity)
PurgeAuditRules(IdentityReference)

Usuwa wszystkie reguły inspekcji skojarzone z określonym IdentityReference.

(Odziedziczone po ObjectSecurity)
ReadLock()

Blokuje ten obiekt ObjectSecurity w celu uzyskania dostępu do odczytu.

(Odziedziczone po ObjectSecurity)
ReadUnlock()

Umożliwia odblokowanie tego obiektu ObjectSecurity w celu uzyskania dostępu do odczytu.

(Odziedziczone po ObjectSecurity)
RemoveAccessRule(AccessRule)

Usuwa reguły dostępu zawierające ten sam identyfikator zabezpieczeń i maskę dostępu co określona reguła dostępu z listy kontroli dostępu dyskrecjonalnych skojarzonych z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
RemoveAccessRule(FileSystemAccessRule)

Usuwa wszystkie pasujące uprawnienia listy kontroli dostępu (ACL) lub zezwalają na nie z bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
RemoveAccessRuleAll(AccessRule)

Usuwa wszystkie reguły dostępu, które mają ten sam identyfikator zabezpieczeń co określona reguła dostępu z listy kontroli dostępu dyskrecjonalnych (DACL) skojarzonych z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
RemoveAccessRuleAll(FileSystemAccessRule)

Usuwa wszystkie uprawnienia listy kontroli dostępu (ACL) dla określonego użytkownika z bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
RemoveAccessRuleSpecific(AccessRule)

Usuwa wszystkie reguły dostępu, które dokładnie pasują do określonej reguły dostępu z listy kontroli dostępu dyskrecjonalnych (DACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
RemoveAccessRuleSpecific(FileSystemAccessRule)

Usuwa pojedyncze zgodne uprawnienie listy kontroli dostępu (ACL) lub zezwala na nie z bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
RemoveAuditRule(AuditRule)

Usuwa reguły inspekcji zawierające ten sam identyfikator zabezpieczeń i maskę dostępu co określona reguła inspekcji z listy kontroli dostępu systemu (SACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
RemoveAuditRule(FileSystemAuditRule)

Usuwa wszystkie zgodne reguły inspekcji zezwalania lub odmowy z bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
RemoveAuditRuleAll(AuditRule)

Usuwa wszystkie reguły inspekcji, które mają ten sam identyfikator zabezpieczeń co określona reguła inspekcji z listy kontroli dostępu systemu (SACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
RemoveAuditRuleAll(FileSystemAuditRule)

Usuwa wszystkie reguły inspekcji określonego użytkownika z bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
RemoveAuditRuleSpecific(AuditRule)

Usuwa wszystkie reguły inspekcji, które dokładnie pasują do określonej reguły inspekcji z listy kontroli dostępu systemu (SACL) skojarzonej z tym obiektem CommonObjectSecurity.

(Odziedziczone po CommonObjectSecurity)
RemoveAuditRuleSpecific(FileSystemAuditRule)

Usuwa pojedynczą zgodną regułę inspekcji zezwalania lub odmowy z bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
ResetAccessRule(AccessRule)

Usuwa wszystkie reguły dostępu na liście kontroli dostępu dyskrecjonalnych skojarzonych z tym obiektem CommonObjectSecurity, a następnie dodaje określoną regułę dostępu.

(Odziedziczone po CommonObjectSecurity)
ResetAccessRule(FileSystemAccessRule)

Dodaje określone uprawnienie listy kontroli dostępu (ACL) do bieżącego pliku lub katalogu i usuwa wszystkie pasujące uprawnienia listy ACL.

(Odziedziczone po FileSystemSecurity)
SetAccessRule(AccessRule)

Usuwa wszystkie reguły dostępu zawierające ten sam identyfikator zabezpieczeń i kwalifikator co określona reguła dostępu w liście kontroli dostępu dyskrecjonalnych skojarzonych z tym obiektem CommonObjectSecurity, a następnie dodaje określoną regułę dostępu.

(Odziedziczone po CommonObjectSecurity)
SetAccessRule(FileSystemAccessRule)

Ustawia określone uprawnienie listy kontroli dostępu (ACL) dla bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
SetAccessRuleProtection(Boolean, Boolean)

Ustawia lub usuwa ochronę reguł dostępu skojarzonych z tym obiektem ObjectSecurity. Chronione reguły dostępu nie mogą być modyfikowane przez obiekty nadrzędne za pomocą dziedziczenia.

(Odziedziczone po ObjectSecurity)
SetAuditRule(AuditRule)

Usuwa wszystkie reguły inspekcji zawierające ten sam identyfikator zabezpieczeń i kwalifikator co określona reguła inspekcji na liście kontroli dostępu systemu (SACL) skojarzone z tym obiektem CommonObjectSecurity, a następnie dodaje określoną regułę inspekcji.

(Odziedziczone po CommonObjectSecurity)
SetAuditRule(FileSystemAuditRule)

Ustawia określoną regułę inspekcji dla bieżącego pliku lub katalogu.

(Odziedziczone po FileSystemSecurity)
SetAuditRuleProtection(Boolean, Boolean)

Ustawia lub usuwa ochronę reguł inspekcji skojarzonych z tym obiektem ObjectSecurity. Chronione reguły inspekcji nie mogą być modyfikowane przez obiekty nadrzędne za pomocą dziedziczenia.

(Odziedziczone po ObjectSecurity)
SetGroup(IdentityReference)

Ustawia grupę podstawową deskryptora zabezpieczeń skojarzonego z tym obiektem ObjectSecurity.

(Odziedziczone po ObjectSecurity)
SetOwner(IdentityReference)

Ustawia właściciela deskryptora zabezpieczeń skojarzonego z tym obiektem ObjectSecurity.

(Odziedziczone po ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Ustawia deskryptor zabezpieczeń dla tego obiektu ObjectSecurity z określonej tablicy wartości bajtów.

(Odziedziczone po ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Ustawia określone sekcje deskryptora zabezpieczeń dla tego obiektu ObjectSecurity z określonej tablicy wartości bajtowych.

(Odziedziczone po ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Ustawia deskryptor zabezpieczeń dla tego obiektu ObjectSecurity z określonego ciągu Security Descriptor Definition Language (SDDL).

(Odziedziczone po ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Ustawia określone sekcje deskryptora zabezpieczeń dla tego obiektu ObjectSecurity z określonego ciągu Security Descriptor Definition Language (SDDL).

(Odziedziczone po ObjectSecurity)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
WriteLock()

Blokuje ten obiekt ObjectSecurity w celu uzyskania dostępu do zapisu.

(Odziedziczone po ObjectSecurity)
WriteUnlock()

Odblokowuje ten obiekt ObjectSecurity na potrzeby dostępu do zapisu.

(Odziedziczone po ObjectSecurity)

Dotyczy