Nyelv

FileSystemRights Enumeráció

Definíció

Meghatározza a hozzáférési és naplózási szabályok létrehozásakor használandó hozzáférési jogosultságokat.

Ez a felsorolás támogatja a tagértékek bitenkénti kombinációját.

public enum class FileSystemRights
[System.Flags]
public enum FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
[<System.Flags>]
type FileSystemRights = 
[<System.Flags>]
[<System.Security.SecurityCritical>]
type FileSystemRights = 
Public Enum FileSystemRights
Öröklődés
FileSystemRights
Attribútumok

Mezők

Name Érték Description
ListDirectory 1

Megadja a könyvtár tartalmának olvasási jogát.

ReadData 1

Megadja a fájl vagy mappa megnyitásának és másolásának jogát. Ez nem foglalja magában a fájlrendszer-attribútumok, a kiterjesztett fájlrendszer-attribútumok, valamint a hozzáférési és naplózási szabályok olvasásának jogát.

CreateFiles 2

Megadja a fájl létrehozásának jogát. Ehhez a joghoz szükség van az értékre Synchronize .

WriteData 2

Megadja a fájlba vagy mappába való megnyitás és írás jogát. Ez nem foglalja magában a fájlrendszer-attribútumok, a kiterjesztett fájlrendszer-attribútumok, valamint a hozzáférési és naplózási szabályok megnyitásának és írásának jogát.

AppendData 4

Megadja az adatok fájlvégre fűzésének jogát.

CreateDirectories 4

Megadja a mappa létrehozásának jogát. Ehhez a jogosultsághoz szükség van az értékre Synchronize .

ReadExtendedAttributes 8

Megadja a kiterjesztett fájlrendszer-attribútumok megnyitásának és másolásának jogát egy mappából vagy fájlból. Ez az érték például megadja a szerzői és tartalominformációk megtekintésének jogát. Ez nem foglalja magában az adatok olvasásának, a fájlrendszer attribútumainak vagy a hozzáférési és naplózási szabályoknak a jogát.

WriteExtendedAttributes 16

Megadja a kiterjesztett fájlrendszer-attribútumok megnyitásának és írásának jogát egy mappába vagy fájlba. Ez nem foglalja magában az adatok, attribútumok vagy hozzáférési és naplózási szabályok írásának lehetőségét.

ExecuteFile 32

Megadja az alkalmazásfájl futtatásának jogát.

Traverse 32

Megadja a mappa tartalmának listázásának és a mappában található alkalmazások futtatásának jogát.

DeleteSubdirectoriesAndFiles 64

Megadja a mappa és a mappában található fájlok törlésének jogát.

ReadAttributes 128

Megadja a fájlrendszer-attribútumok megnyitásának és másolásának jogát egy mappából vagy fájlból. Ez az érték például megadja a fájl létrehozásának vagy módosításának megtekintésének jogát. Ez nem foglalja magában az adatok olvasásának, a kiterjesztett fájlrendszer-attribútumoknak, valamint a hozzáférési és naplózási szabályoknak a jogát.

WriteAttributes 256

Megadja a fájlrendszer-attribútumok mappa- vagy fájlba való megnyitásának és írásának jogát. Ez nem foglalja magában az adatok írásának lehetőségét, a kiterjesztett attribútumokat, valamint a hozzáférési és naplózási szabályokat.

Write 278

Megadja a mappák és fájlok létrehozásának, valamint az adatok fájlokból való hozzáadásának vagy eltávolításának jogát. Ebbe a jogba beletartozik a jobb, WriteData a AppendData jobb, WriteExtendedAttributes a jobb és a WriteAttributes jobb.

Delete 65536

Megadja a mappa vagy fájl törlésének jogát.

ReadPermissions 131072

Megadja a hozzáférési és naplózási szabályok megnyitásának és másolásának jogát egy mappából vagy fájlból. Ez nem foglalja magában az adatok, a fájlrendszer attribútumai és a kiterjesztett fájlrendszer-attribútumok olvasásának jogát.

Read 131209

Megadja a mappák vagy fájlok írásvédettként való megnyitásának és másolásának jogát. Ebbe a jogba beletartozik a jobb, ReadData a ReadExtendedAttributes jobb, ReadAttributes a jobb és a ReadPermissions jobb.

ReadAndExecute 131241

Megadja a mappák vagy fájlok írásvédettként való megnyitásának és másolásának, valamint az alkalmazásfájlok futtatásának jogát. Ez a jog magában foglalja a Read jobb és a ExecuteFile jobb oldalt is.

Modify 197055

Megadja a mappa tartalmának olvasására, írására, listázására, mappák és fájlok törlésére és alkalmazásfájlok futtatására vonatkozó jogot. Ebbe a jogba beletartozik a ReadAndExecute jobb, a Write jobb és a Delete jobb.

ChangePermissions 262144

Megadja a fájlhoz vagy mappához társított biztonsági és naplózási szabályok módosításának jogát.

TakeOwnership 524288

Megadja a mappa vagy fájl tulajdonosának módosításának jogát. Vegye figyelembe, hogy egy erőforrás tulajdonosai teljes hozzáféréssel rendelkeznek az erőforráshoz.

Synchronize 1048576

Megadja, hogy az alkalmazás megvárja-e, amíg egy fájlleíró szinkronizálva lesz egy I/O-művelet végrehajtásával. Ez az érték automatikusan be van állítva, amikor engedélyezi a hozzáférést, és automatikusan kizárja a hozzáférést.

FullControl 2032127

Megadja a mappa vagy fájl teljes körű vezérlésének, valamint a hozzáférés-vezérlési és naplózási szabályok módosításának jogát. Ez az érték azt a jogot jelöli, hogy bármit is tegyen egy fájllal, és az enumerálás összes jogának kombinációja.

Példák

Az alábbi példa az FileSystemRights enumerálás használatával határoz meg egy hozzáférési szabályt, majd eltávolítja a hozzáférési szabályt 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 FileSystemRights enumerálás meghatározza, hogy mely fájlrendszerműveletek engedélyezettek egy adott felhasználói fiókhoz, és hogy mely fájlrendszerműveleteket naplózták egy adott felhasználói fiókhoz.

A számbavételt akkor FileSystemRights használja, ha hozzáférési szabályt hoz létre az FileSystemAccessRule osztálysal, vagy amikor auditszabályt hoz létre az FileSystemAuditRule osztálysal.

Ez az enumerálás több részletes rendszerjogértéket és több olyan értéket tartalmaz, amelyek a részletes értékek kombinációját képezik. Egyszerűbb az olyan kombinációs értékek használata, mint FullControla , Readés Writeaz egyes összetevők értékeinek külön megadása helyett.

A CreateDirectories jogok és CreateFiles a jogok megkövetelik a Synchronize jogot. Ha nem állítja be explicit módon az Synchronize értéket egy fájl vagy könyvtár létrehozásakor, az automatikusan be lesz állítva.

A következőre érvényes: