FileSecurity Sınıf

Tanım

Bir dosyanın erişim denetimini ve denetim güvenliğini temsil eder. Bu sınıf devralınamaz.

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
Devralma
Öznitelikler

Örnekler

Aşağıdaki kod örneği, bir dosyaya erişim denetimi listesi (ACL) girdisi eklemek ve kaldırmak için sınıfını kullanır FileSecurity . Bu örneği çalıştırmak için geçerli bir kullanıcı veya grup hesabı sağlamanız gerekir.

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

Açıklamalar

sınıfı, FileSecurity bir sistem dosyasının erişim haklarını ve erişim denemelerinin nasıl denetlenip denetlenemini belirtir. Bu sınıf, erişim ve denetim haklarını bir dizi kural olarak temsil eder. Her erişim kuralı bir FileSystemAccessRule nesneyle temsil edilir. Her denetim kuralı bir FileSystemAuditRule nesneyle temsil edilir.

FileSecurity sınıfı, temel alınan Microsoft Windows dosya güvenlik sisteminin soyutlamasıdır. Bu sistemde, her dosyanın dosyaya erişimi denetleyen isteğe bağlı erişim denetim listesi (DACL) ve denetlenen erişim denetimi girişimlerini belirten bir sistem erişim denetim listesi (SACL) vardır. FileSystemAccessRule ve sınıfları, DACL'leri FileSystemAuditRule ve SACL'leri oluşturan erişim denetimi girişlerinin (ACL) özetleridir.

sınıfı, FileSecurity DACL'lerin ve SACL'lerin birçok ayrıntısını gizler; ACE sıralama veya null DACL'ler konusunda endişelenmeniz gerekmez.

Bir dosyanın DACL'sini FileSecurity ve SACL'sini temsil eden erişim kurallarını almak, eklemek veya değiştirmek için sınıfını kullanın.

Bir dosyadan erişim veya denetim kuralları eklemek veya almak için aşağıdaki .NET uygulamaya bağımlı yöntemleri kullanın:

.NET uygulaması Kuralları ekle Kuralları alma
.NET FileSystemAclExtensions.SetAccessControl(FileInfo, FileSecurity) FileSystemAclExtensions.GetAccessControl(FileInfo)
.NET Framework FileInfo.SetAccessControl(FileSecurity) FileInfo.GetAccessControl()

Oluşturucular

Name Description
FileSecurity()

FileSecurity sınıfının yeni bir örneğini başlatır.

FileSecurity(String, AccessControlSections)

Belirtilen sabit listesi değerlerini FileSecurity kullanarak belirtilen bir dosyadan sınıfının yeni bir örneğini AccessControlSections başlatır.

Özellikler

Name Description
AccessRightType

Sınıfın erişim haklarını temsil etmek için kullandığı numaralandırmayı FileSystemSecurity alır.

(Devralındığı yer: FileSystemSecurity)
AccessRulesModified

Bu ObjectSecurity nesneyle ilişkili erişim kurallarının değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
AccessRuleType

Sınıfın erişim kurallarını temsil etmek için kullandığı numaralandırmayı FileSystemSecurity alır.

(Devralındığı yer: FileSystemSecurity)
AreAccessRulesCanonical

Bu ObjectSecurity nesneyle ilişkili erişim kurallarının kurallı sırada olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AreAccessRulesProtected

Bu ObjectSecurity nesneyle ilişkili İsteğe Bağlı Erişim Denetim Listesi'nin (DACL) korunup korunmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AreAuditRulesCanonical

Bu ObjectSecurity nesneyle ilişkili denetim kurallarının kurallı sırada olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AreAuditRulesProtected

Bu ObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'nin (SACL) korunup korunmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AuditRulesModified

Bu ObjectSecurity nesneyle ilişkili denetim kurallarının değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
AuditRuleType

Sınıfının denetim kurallarını temsil etmek için kullandığı türü FileSystemSecurity alır.

(Devralındığı yer: FileSystemSecurity)
GroupModified

Güvenli hale getirilebilir nesneyle ilişkili grubun değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
IsContainer

Bu ObjectSecurity nesnenin bir kapsayıcı nesnesi olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
IsDS

Bu ObjectSecurity nesnenin bir dizin nesnesi olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
OwnerModified

Güvenli hale getirilebilir nesnenin sahibinin değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
SecurityDescriptor

Bu örnek için güvenlik tanımlayıcısını alır.

(Devralındığı yer: ObjectSecurity)

Yöntemler

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

Belirtilen kullanıcı için, belirtilen erişim hakları, erişim denetimi ve bayraklarla yeni bir erişim denetimi kuralını temsil eden sınıfın yeni bir örneğini FileSystemAccessRule başlatır.

(Devralındığı yer: FileSystemSecurity)
AddAccessRule(AccessRule)

Belirtilen erişim kuralını bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim Listesi'ne (DACL) ekler.

(Devralındığı yer: CommonObjectSecurity)
AddAccessRule(FileSystemAccessRule)

Belirtilen erişim denetimi listesi (ACL) iznini geçerli dosyaya veya dizine ekler.

(Devralındığı yer: FileSystemSecurity)
AddAuditRule(AuditRule)

Belirtilen denetim kuralını bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'ne (SACL) ekler.

(Devralındığı yer: CommonObjectSecurity)
AddAuditRule(FileSystemAuditRule)

Belirtilen denetim kuralını geçerli dosyaya veya dizine ekler.

(Devralındığı yer: FileSystemSecurity)
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Belirtilen kullanıcı için belirtilen denetim kuralını temsil eden sınıfın yeni bir örneğini FileSystemAuditRule başlatır.

(Devralındığı yer: FileSystemSecurity)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetAccessRules(Boolean, Boolean, Type)

Belirtilen güvenlik tanımlayıcısıyla ilişkili erişim kuralları koleksiyonunu alır.

(Devralındığı yer: CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Belirtilen güvenlik tanımlayıcısıyla ilişkili denetim kuralları koleksiyonunu alır.

(Devralındığı yer: CommonObjectSecurity)
GetGroup(Type)

Belirtilen sahiple ilişkili birincil grubu alır.

(Devralındığı yer: ObjectSecurity)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetOwner(Type)

Belirtilen birincil grupla ilişkili sahibi alır.

(Devralındığı yer: ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Bu ObjectSecurity nesnenin güvenlik tanımlayıcı bilgilerini temsil eden bayt değerleri dizisi döndürür.

(Devralındığı yer: ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Bu ObjectSecurity nesneyle ilişkilendirilmiş güvenlik tanımlayıcısının belirtilen bölümlerinin Güvenlik Tanımlayıcısı Tanım Dili (SDDL) gösterimini döndürür.

(Devralındığı yer: ObjectSecurity)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Erişim Denetim Listesi'ne (DACL) uygular.

(Devralındığı yer: CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkili İsteğe Bağlı Erişim Denetim Listesi'ne (DACL) uygular.

(Devralındığı yer: ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'ne (SACL) uygular.

(Devralındığı yer: CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'ne (SACL) uygular.

(Devralındığı yer: ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: ObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucuya geçirilen parametrelerin değerlerinin includeSections ve kalıcı yöntemlerin aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
Persist(String, AccessControlSections)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Belirtilen IdentityReferenceile ilişkili tüm erişim kurallarını kaldırır.

(Devralındığı yer: ObjectSecurity)
PurgeAuditRules(IdentityReference)

Belirtilen IdentityReferenceile ilişkili tüm denetim kurallarını kaldırır.

(Devralındığı yer: ObjectSecurity)
ReadLock()

Bu ObjectSecurity nesneyi okuma erişimi için kilitler.

(Devralındığı yer: ObjectSecurity)
ReadUnlock()

Okuma erişimi için bu ObjectSecurity nesnenin kilidini açar.

(Devralındığı yer: ObjectSecurity)
RemoveAccessRule(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim Listesi'nden (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısını ve erişim maskesini içeren erişim kurallarını kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAccessRule(FileSystemAccessRule)

Geçerli dosya veya dizinden tüm eşleşen izin verme veya reddetme erişim denetimi listesi (ACL) izinlerini kaldırır.

(Devralındığı yer: FileSystemSecurity)
RemoveAccessRuleAll(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim Listesi'nden (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısı olan tüm erişim kurallarını kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAccessRuleAll(FileSystemAccessRule)

Belirtilen kullanıcının tüm erişim denetimi listesi (ACL) izinlerini geçerli dosyadan veya dizinden kaldırır.

(Devralındığı yer: FileSystemSecurity)
RemoveAccessRuleSpecific(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim Listesi'nden (DACL) belirtilen erişim kuralıyla tam olarak eşleşen tüm erişim kurallarını kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAccessRuleSpecific(FileSystemAccessRule)

Geçerli dosya veya dizinden tek bir eşleştirme izin ver veya erişim denetimi listesi (ACL) iznini reddeder.

(Devralındığı yer: FileSystemSecurity)
RemoveAuditRule(AuditRule)

Belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısını ve erişim maskesini içeren denetim kurallarını bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'nden (SACL) kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAuditRule(FileSystemAuditRule)

Geçerli dosya veya dizinden tüm eşleşen izin verme veya reddetme denetim kurallarını kaldırır.

(Devralındığı yer: FileSystemSecurity)
RemoveAuditRuleAll(AuditRule)

Belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısına sahip tüm denetim kurallarını bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'nden (SACL) kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAuditRuleAll(FileSystemAuditRule)

Belirtilen kullanıcının tüm denetim kurallarını geçerli dosyadan veya dizinden kaldırır.

(Devralındığı yer: FileSystemSecurity)
RemoveAuditRuleSpecific(AuditRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'nden (SACL) belirtilen denetim kuralıyla tam olarak eşleşen tüm denetim kurallarını kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAuditRuleSpecific(FileSystemAuditRule)

Geçerli dosya veya dizinden tek bir eşleştirme izin verme veya reddetme denetim kuralını kaldırır.

(Devralındığı yer: FileSystemSecurity)
ResetAccessRule(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Erişim Denetim Listesi'ndeki (DACL) tüm erişim kurallarını kaldırır ve ardından belirtilen erişim kuralını ekler.

(Devralındığı yer: CommonObjectSecurity)
ResetAccessRule(FileSystemAccessRule)

Belirtilen erişim denetimi listesi (ACL) iznini geçerli dosyaya veya dizine ekler ve eşleşen tüm ACL izinlerini kaldırır.

(Devralındığı yer: FileSystemSecurity)
SetAccessRule(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim Listesi'nde (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısını ve niteleyiciyi içeren tüm erişim kurallarını kaldırır ve ardından belirtilen erişim kuralını ekler.

(Devralındığı yer: CommonObjectSecurity)
SetAccessRule(FileSystemAccessRule)

Geçerli dosya veya dizin için belirtilen erişim denetimi listesi (ACL) iznini ayarlar.

(Devralındığı yer: FileSystemSecurity)
SetAccessRuleProtection(Boolean, Boolean)

Bu ObjectSecurity nesneyle ilişkili erişim kurallarının korumasını ayarlar veya kaldırır. Korumalı erişim kuralları üst nesneler tarafından devralma yoluyla değiştirilemez.

(Devralındığı yer: ObjectSecurity)
SetAuditRule(AuditRule)

Bu CommonObjectSecurity nesneyle ilişkili Sistem Erişim Denetim Listesi'nde (SACL) belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısını ve niteleyiciyi içeren tüm denetim kurallarını kaldırır ve ardından belirtilen denetim kuralını ekler.

(Devralındığı yer: CommonObjectSecurity)
SetAuditRule(FileSystemAuditRule)

Geçerli dosya veya dizin için belirtilen denetim kuralını ayarlar.

(Devralındığı yer: FileSystemSecurity)
SetAuditRuleProtection(Boolean, Boolean)

Bu ObjectSecurity nesneyle ilişkili denetim kurallarının korumasını ayarlar veya kaldırır. Korumalı denetim kuralları üst nesneler tarafından devralma yoluyla değiştirilemez.

(Devralındığı yer: ObjectSecurity)
SetGroup(IdentityReference)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısı için birincil grubu ayarlar.

(Devralındığı yer: ObjectSecurity)
SetOwner(IdentityReference)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının sahibini ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini belirtilen bayt değerleri dizisinden ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Belirtilen bayt değerleri dizisinden bu ObjectSecurity nesne için güvenlik tanımlayıcısını ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Belirtilen Güvenlik Tanımlayıcısı Tanım Dili (SDDL) dizesinden bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Belirtilen Güvenlik Tanımlayıcısı Tanım Dili (SDDL) dizesinden bu ObjectSecurity nesne için güvenlik tanımlayıcısını ayarlar.

(Devralındığı yer: ObjectSecurity)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
WriteLock()

Bu ObjectSecurity nesneyi yazma erişimi için kilitler.

(Devralındığı yer: ObjectSecurity)
WriteUnlock()

Yazma erişimi için bu ObjectSecurity nesnenin kilidini açar.

(Devralındığı yer: ObjectSecurity)

Şunlara uygulanır