FileSystemRights Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar de åtkomsträttigheter som ska användas när du skapar åtkomst- och granskningsregler.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
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
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| ListDirectory | 1 | Anger rätten att läsa innehållet i en katalog. |
| ReadData | 1 | Anger rätten att öppna och kopiera en fil eller mapp. Detta omfattar inte rätten att läsa filsystemattribut, utökade filsystemattribut eller åtkomst- och granskningsregler. |
| CreateFiles | 2 | Anger rätten att skapa en fil. Den här rättigheten kräver värdet |
| WriteData | 2 | Anger rätten att öppna och skriva till en fil eller mapp. Detta omfattar inte rätten att öppna och skriva filsystemattribut, utökade filsystemattribut eller åtkomst- och granskningsregler. |
| AppendData | 4 | Anger rätten att lägga till data i slutet av en fil. |
| CreateDirectories | 4 | Anger rätten att skapa en mapp Den här rättigheten kräver värdet |
| ReadExtendedAttributes | 8 | Anger rätten att öppna och kopiera utökade filsystemattribut från en mapp eller fil. Det här värdet anger till exempel rätten att visa information om författare och innehåll. Detta omfattar inte rätten att läsa data, filsystemattribut eller åtkomst- och granskningsregler. |
| WriteExtendedAttributes | 16 | Anger rätten att öppna och skriva utökade filsystemattribut till en mapp eller fil. Detta omfattar inte möjligheten att skriva data, attribut eller åtkomst- och granskningsregler. |
| ExecuteFile | 32 | Anger rätten att köra en programfil. |
| Traverse | 32 | Anger rätten att visa en lista över innehållet i en mapp och att köra program som finns i mappen. |
| DeleteSubdirectoriesAndFiles | 64 | Anger rätten att ta bort en mapp och alla filer som finns i mappen. |
| ReadAttributes | 128 | Anger rätten att öppna och kopiera filsystemattribut från en mapp eller fil. Det här värdet anger till exempel rätten att visa filens skapande- eller ändringsdatum. Detta omfattar inte rätten att läsa data, utökade filsystemattribut eller åtkomst- och granskningsregler. |
| WriteAttributes | 256 | Anger rätten att öppna och skriva filsystemattribut till en mapp eller fil. Detta omfattar inte möjligheten att skriva data, utökade attribut eller åtkomst- och granskningsregler. |
| Write | 278 | Anger rätten att skapa mappar och filer och att lägga till eller ta bort data från filer. Den här rättigheten WriteData omfattar rätten, AppendData höger, WriteExtendedAttributes höger och WriteAttributes höger. |
| Delete | 65536 | Anger rätten att ta bort en mapp eller fil. |
| ReadPermissions | 131072 | Anger rätten att öppna och kopiera åtkomst- och granskningsregler från en mapp eller fil. Detta omfattar inte rätten att läsa data, filsystemattribut och utökade filsystemattribut. |
| Read | 131209 | Anger rätten att öppna och kopiera mappar eller filer som skrivskyddade. Den här rättigheten ReadData omfattar rätten, ReadExtendedAttributes höger, ReadAttributes höger och ReadPermissions höger. |
| ReadAndExecute | 131241 | Anger rätten att öppna och kopiera mappar eller filer som skrivskyddade och att köra programfiler. Den här rättigheten Read omfattar rätten och högern ExecuteFile . |
| Modify | 197055 | Anger rätten att läsa, skriva, lista mappinnehåll, ta bort mappar och filer och köra programfiler. Den här rättigheten ReadAndExecute omfattar rätten, högern Write och högern Delete . |
| ChangePermissions | 262144 | Anger rätten att ändra säkerhets- och granskningsregler som är associerade med en fil eller mapp. |
| TakeOwnership | 524288 | Anger rätten att ändra ägare till en mapp eller fil. Observera att ägare av en resurs har fullständig åtkomst till den resursen. |
| Synchronize | 1048576 | Anger om programmet kan vänta tills en filreferens synkroniseras med slutförandet av en I/O-åtgärd. Det här värdet anges automatiskt när åtkomst tillåts och utesluts automatiskt när åtkomst nekas. |
| FullControl | 2032127 | Anger rätten att utöva fullständig kontroll över en mapp eller fil och att ändra åtkomstkontroll- och granskningsregler. Det här värdet representerar rätten att göra vad som helst med en fil och är kombinationen av alla rättigheter i den här uppräkningen. |
Exempel
I följande exempel används FileSystemRights uppräkningen för att ange en åtkomstregel och tar sedan bort åtkomstregeln från en fil. Du måste ange ett giltigt användar- eller gruppkonto för att kunna köra det här exemplet.
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
Kommentarer
Uppräkningen FileSystemRights anger vilka filsystemåtgärder som tillåts för ett visst användarkonto och vilka filsystemåtgärder som granskas för ett visst användarkonto.
FileSystemRights Använd uppräkningen när du skapar en åtkomstregel med FileSystemAccessRule klassen eller när du skapar en granskningsregel med FileSystemAuditRule klassen.
Den här uppräkningen innehåller flera detaljerade systemrättigheter och flera värden som är en kombination av dessa detaljerade värden. Det är enklare att använda kombinationsvärden som FullControl, Readoch Write, i stället för att ange varje komponentvärde separat.
Rättigheterna CreateDirectories och CreateFiles kräver rätten Synchronize . Om du inte uttryckligen Synchronize anger värdet när du skapar en fil eller katalog anges det automatiskt åt dig.