FileSystemRights Enumeráció
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- 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 |
| 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 |
| 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.