Udostępnij za pośrednictwem


FileSystemAuditRule Klasa

Definicja

Reprezentuje abstrakcję wpisu kontroli dostępu (ACE), który definiuje regułę inspekcji dla pliku lub katalogu. Klasa ta nie może być dziedziczona.

public ref class FileSystemAuditRule sealed : System::Security::AccessControl::AuditRule
public sealed class FileSystemAuditRule : System.Security.AccessControl.AuditRule
[System.Security.SecurityCritical]
public sealed class FileSystemAuditRule : System.Security.AccessControl.AuditRule
type FileSystemAuditRule = class
    inherit AuditRule
[<System.Security.SecurityCritical>]
type FileSystemAuditRule = class
    inherit AuditRule
Public NotInheritable Class FileSystemAuditRule
Inherits AuditRule
Dziedziczenie
FileSystemAuditRule
Atrybuty

Przykłady

W poniższym przykładzie kodu użyto FileSystemAuditRule klasy , aby dodać, a następnie usunąć regułę inspekcji 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.
                AddFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);

                Console.WriteLine("Removing access control entry from " + FileName);

                // Remove the access control entry from the file.
                RemoveFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);

                Console.WriteLine("Done.");
            }
            catch (IOException e)
            {
                Console.WriteLine("Unable to open the file: " + e.Message);
            }
            catch (PrivilegeNotHeldException e)
            {
                Console.WriteLine("The current account does not have the correct privileges: " + e.Message);
            }

            Console.ReadLine();
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(FileName);

            // Add the FileSystemAuditRule to the security settings.
            fSecurity.AddAuditRule(new FileSystemAuditRule(Account,
                                                            Rights,
                                                            AuditRule));

            // Set the new access settings.
            File.SetAccessControl(FileName, fSecurity);
        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(FileName);

            // Add the FileSystemAuditRule to the security settings.
            fSecurity.RemoveAuditRule(new FileSystemAuditRule(Account,
                                                            Rights,
                                                            AuditRule));

            // 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.
            AddFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)

            Console.WriteLine("Removing access control entry from " + FileName)

            ' Remove the access control entry from the file.
            RemoveFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)

            Console.WriteLine("Done.")
        Catch e As IOException
            Console.WriteLine("Unable to open the file: " & e.Message)
        Catch e As PrivilegeNotHeldException
            Console.WriteLine("The current account does not have the correct privileges: " & e.Message)
        End Try

        Console.ReadLine()

    End Sub


    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)


        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)

        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.AddAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))

        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)

    End Sub


    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)

        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)

        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.RemoveAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))

        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)

    End Sub
End Module

Uwagi

Klasa FileSystemAuditRule reprezentuje abstrakcję podstawowego wpisu kontroli dostępu (ACE), który określa konto użytkownika, typ dostępu do zapewnienia (odczyt, zapis itd.) i czy przeprowadzić inspekcję. Ta klasa może również określać, jak reguły inspekcji są dziedziczone z obiektów i propagowane do obiektów.

Aby zezwolić na inspekcję plików i katalogów w systemie Windows NT lub nowszym, należy włączyć zasady inspekcji zabezpieczeń dostępu na komputerze. Domyślnie te zasady są ustawione na wartość Brak inspekcji.

Aby włączyć zasady Inspekcja zabezpieczeń dostępu, wykonaj następujące kroki:

  1. Otwórz przystawkę Ustawienia zabezpieczeń lokalnych programu Microsoft Management Console (MMC) znajdującą się w folderze Narzędzia administracyjne.

  2. Rozwiń folder Zasady lokalne i kliknij lewym przyciskiem myszy folder Zasady inspekcji.

  3. Kliknij dwukrotnie wpis Inspekcja dostępu do obiektu w okienku po prawej stronie przystawki MMC lub kliknij prawym przyciskiem myszy i wybierz polecenie Właściwości, aby wyświetlić właściwości dostępu do obiektu inspekcji okno dialogowe.

  4. Zaznacz pola wyboru Powodzenie lub Niepowodzenie , aby rejestrować sukcesy lub niepowodzenia.

Należy pamiętać, że reguła inspekcji dla konta użytkownika wymaga odpowiedniej reguły dostępu dla tego samego konta użytkownika.

Użyj klasy , FileSystemAuditRule aby utworzyć nową regułę inspekcji. Tę regułę można utrwalać przy użyciu FileSecurity klasy lub DirectorySecurity .

Konstruktory

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

Inicjuje nowe wystąpienie FileSystemAuditRule klasy przy użyciu odwołania do konta użytkownika, wartość określającą typ operacji skojarzonej z regułą inspekcji oraz wartość określającą czas przeprowadzania inspekcji.

FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

Inicjuje nowe wystąpienie FileSystemAuditRule klasy przy użyciu nazwy odwołania do konta użytkownika, wartości określającej typ operacji skojarzonej z regułą inspekcji, wartość określającą sposób dziedziczenia praw, wartość określającą sposób propagacji praw oraz wartość określającą, kiedy należy przeprowadzić inspekcję.

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

Inicjuje nowe wystąpienie FileSystemAuditRule klasy przy użyciu nazwy konta użytkownika, wartość określającą typ operacji skojarzonej z regułą inspekcji oraz wartość określającą, kiedy należy przeprowadzić inspekcję.

FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

Inicjuje nowe wystąpienie FileSystemAuditRule klasy przy użyciu nazwy konta użytkownika, wartości określającej typ operacji skojarzonej z regułą inspekcji, wartość określającą sposób dziedziczenia praw, wartość określającą sposób propagacji praw oraz wartość określającą czas przeprowadzania inspekcji.

Właściwości

AccessMask

Pobiera maskę dostępu dla tej reguły.

(Odziedziczone po AuthorizationRule)
AuditFlags

Pobiera flagi inspekcji dla tej reguły inspekcji.

(Odziedziczone po AuditRule)
FileSystemRights

FileSystemRights Pobiera flagi skojarzone z bieżącym FileSystemAuditRule obiektem.

IdentityReference

Pobiera regułę IdentityReference , do której ma zastosowanie ta reguła.

(Odziedziczone po AuthorizationRule)
InheritanceFlags

Pobiera wartość flag, które określają, jak ta reguła jest dziedziczona przez obiekty podrzędne.

(Odziedziczone po AuthorizationRule)
IsInherited

Pobiera wartość wskazującą, czy ta reguła jest jawnie ustawiona, czy dziedziczona z nadrzędnego obiektu kontenera.

(Odziedziczone po AuthorizationRule)
PropagationFlags

Pobiera wartość flag propagacji, które określają, jak dziedziczenie tej reguły jest propagowane do obiektów podrzędnych. Ta właściwość jest znacząca tylko wtedy, gdy wartość InheritanceFlags wyliczenia nie Nonejest .

(Odziedziczone po AuthorizationRule)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

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

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

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

(Odziedziczone po Object)
ToString()

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

(Odziedziczone po Object)

Dotyczy