FileSystemRights Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert die beim Erstellen von Zugriffs- und Überwachungsregeln zu verwendenden Zugriffsrechte.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
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
- Vererbung
- Attribute
Felder
AppendData | 4 | Gibt die Berechtigung an, Daten an das Ende einer Datei anzufügen. |
ChangePermissions | 262144 | Gibt die Berechtigung an, die einer Datei zugeordneten Sicherheits- und Überwachungsregeln zu ändern. |
CreateDirectories | 4 | Gibt das Recht zum Erstellen eines Ordners an. Für dieses Recht ist der |
CreateFiles | 2 | Gibt die Berechtigung an, eine Datei zu erstellen. Dieses Recht erfordert den |
Delete | 65536 | Gibt die Berechtigung an, einen Ordner oder eine Datei zu löschen. |
DeleteSubdirectoriesAndFiles | 64 | Gibt die Berechtigung an, einen Ordner und sämtliche in diesem Ordner enthaltenen Dateien zu löschen. |
ExecuteFile | 32 | Gibt die Berechtigung an, eine Anwendungsdatei auszuführen. |
FullControl | 2032127 | Gibt die Berechtigung für einen Vollzugriff auf eine Datei oder einen Ordner an sowie die Berechtigung, die Zugriffs- und Überwachungsregeln zu ändern. Dieser Wert stellt die Berechtigung dar, jede mögliche Aktion für diese Datei durchzuführen. Er ist eine Kombination aller Werte dieser Enumeration. |
ListDirectory | 1 | Gibt die Berechtigung an, den Inhalt eines Verzeichnisses zu lesen. |
Modify | 197055 | Gibt die Berechtigung an, den Inhalt eines Ordners zu lesen, zu schreiben und aufzulisten, Dateien und Ordner zu löschen und Anwendungsdateien auszuführen. Diese Berechtigung schließt die Berechtigungen ReadAndExecute, Write und Delete ein. |
Read | 131209 | Gibt die Berechtigung an, Ordner oder Dateien schreibgeschützt zu öffnen und zu kopieren. Diese Berechtigung schließt die Berechtigungen ReadData, ReadExtendedAttributes, ReadAttributes und ReadPermissions ein. |
ReadAndExecute | 131241 | Gibt die Berechtigung an, Ordner oder Dateien schreibgeschützt zu öffnen und zu kopieren und Anwendungsdateien auszuführen. Diese Berechtigung schließt die Read-Berechtigung und die ExecuteFile-Berechtigung ein. |
ReadAttributes | 128 | Gibt die Berechtigung an, Dateisystemattribute einer Datei oder eines Ordners zu öffnen und zu kopieren. Dieser Wert gibt z. B. die Berechtigung an, das Erstellungsdatum oder das Änderungsdatum einer Datei zu lesen. Dies schließt nicht die Berechtigung ein, Daten, erweiterte Dateisystemattribute oder Zugriffs- und Überwachungsregeln zu lesen. |
ReadData | 1 | Gibt die Berechtigung an, eine Datei oder einen Ordner zu öffnen und zu kopieren. Dies schließt nicht die Berechtigung ein, Dateisystemattribute, erweiterte Dateisystemattribute oder Zugriffs- und Überwachungsregeln zu lesen. |
ReadExtendedAttributes | 8 | Gibt die Berechtigung an, erweiterte Dateisystemattribute einer Datei oder eines Ordners zu öffnen und zu kopieren. Dieser Wert gibt zum Beispiel die Berechtigung an, den Autor oder Inhaltsinformationen anzuzeigen. Dies schließt nicht die Berechtigung ein, Daten, Dateisystemattribute oder Zugriffs- und Überwachungsregeln zu lesen. |
ReadPermissions | 131072 | Gibt die Berechtigung an, Zugriffs- und Überwachungsregeln für eine Datei oder einen Ordner zu öffnen und zu kopieren. Dies schließt nicht die Berechtigung ein, Daten, Dateisystemattribute oder erweiterte Dateisystemattribute zu lesen. |
Synchronize | 1048576 | Gibt an, ob die Anwendung warten kann, bis ein Dateihandle mit dem Abschluss eines E/A-Vorgangs synchronisiert ist. Dieser Wert wird automatisch festgelegt, wenn der Zugriff zulässig ist, und automatisch ausgeschlossen, wenn der Zugriff verweigert wird. |
TakeOwnership | 524288 | Gibt die Berechtigung an, den Besitzer eines Ordners oder einer Datei zu ändern. Beachten Sie, dass Besitzer einer Ressource über einen Vollzugriff auf diese Ressource verfügen. |
Traverse | 32 | Gibt die Berechtigung an, den Inhalt eines Ordners aufzulisten und in diesem Ordner enthaltene Anwendungen auszuführen. |
Write | 278 | Gibt die Berechtigung an, Ordner und Dateien zu erstellen, Dateien Daten hinzuzufügen und Daten aus Dateien zu entfernen. Diese Berechtigung schließt die Berechtigungen WriteData, AppendData, WriteExtendedAttributes und WriteAttributes ein. |
WriteAttributes | 256 | Gibt die Berechtigung an, Dateisystemattribute einer Datei oder eines Ordners zu öffnen und zu schreiben. Dies schließt nicht die Berechtigung ein, Daten, erweiterte Attribute oder Zugriffs- und Überwachungsregeln zu schreiben. |
WriteData | 2 | Gibt die Berechtigung an, eine Datei oder einen Ordner zu öffnen und in die Datei bzw. den Ordner zu schreiben. Dies schließt nicht die Berechtigung ein, Dateisystemattribute, erweiterte Dateisystemattribute oder Zugriffs- und Überwachungsregeln zu öffnen und zu schreiben. |
WriteExtendedAttributes | 16 | Gibt die Berechtigung an, erweiterte Dateisystemattribute einer Datei oder eines Ordners zu öffnen und zu schreiben. Dies schließt nicht die Berechtigung ein, Daten, Attribute oder Zugriffs- und Überwachungsregeln zu schreiben. |
Beispiele
Im folgenden Beispiel wird die FileSystemRights
-Enumeration verwendet, um eine Zugriffsregel anzugeben und dann die Zugriffsregel aus einer Datei zu entfernen. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.
using namespace System;
using namespace System::IO;
using namespace System::Security::AccessControl;
// Adds an ACL entry on the specified file for the specified account.
void AddFileSecurity(String^ fileName, String^ account,
FileSystemRights rights, AccessControlType controlType)
{
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity^ fSecurity = File::GetAccessControl(fileName);
// Add the FileSystemAccessRule to the security settings.
fSecurity->AddAccessRule(gcnew FileSystemAccessRule
(account,rights, controlType));
// Set the new access settings.
File::SetAccessControl(fileName, fSecurity);
}
// Removes an ACL entry on the specified file for the specified account.
void RemoveFileSecurity(String^ fileName, String^ account,
FileSystemRights rights, AccessControlType controlType)
{
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity^ fSecurity = File::GetAccessControl(fileName);
// Remove the FileSystemAccessRule from the security settings.
fSecurity->RemoveAccessRule(gcnew FileSystemAccessRule
(account,rights, controlType));
// Set the new access settings.
File::SetAccessControl(fileName, fSecurity);
}
int main()
{
try
{
String^ fileName = "test.xml";
Console::WriteLine("Adding access control entry for " + fileName);
// Add the access control entry to the file.
AddFileSecurity(fileName, "MYDOMAIN\\MyAccount",
FileSystemRights::ReadData, AccessControlType::Allow);
Console::WriteLine("Removing access control entry from " + fileName);
// Remove the access control entry from the file.
RemoveFileSecurity(fileName, "MYDOMAIN\\MyAccount",
FileSystemRights::ReadData, AccessControlType::Allow);
Console::WriteLine("Done.");
}
catch (Exception^ ex)
{
Console::WriteLine(ex->Message);
}
}
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)
{
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(fileName);
// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule(account,
rights, controlType));
// Set the new access settings.
File.SetAccessControl(fileName, 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)
{
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(fileName);
// Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
rights, controlType));
// 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.
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)
' Get a FileSecurity object that represents the
' current security settings.
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
' Add the FileSystemAccessRule to the security settings.
Dim accessRule As FileSystemAccessRule = _
New FileSystemAccessRule(account, rights, controlType)
fSecurity.AddAccessRule(accessRule)
' Set the new access settings.
File.SetAccessControl(fileName, 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)
' Get a FileSecurity object that represents the
' current security settings.
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
' Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
rights, controlType))
' Set the new access settings.
File.SetAccessControl(fileName, fSecurity)
End Sub
End Module
Hinweise
Die FileSystemRights Enumeration gibt an, welche Dateisystemaktionen für ein bestimmtes Benutzerkonto zulässig sind und welche Dateisystemaktionen für ein bestimmtes Benutzerkonto überwacht werden.
Verwenden Sie die FileSystemRights Enumeration beim Erstellen einer Zugriffsregel mit der FileSystemAccessRule -Klasse oder beim Erstellen einer Überwachungsregel mit der FileSystemAuditRule -Klasse.
Diese Enumeration enthält mehrere granulare Systemrechtewerte und mehrere Werte, die eine Kombination dieser granularen Werte sind. Es ist einfacher, die Kombinationswerte wie FullControl
, Read
und Write
zu verwenden, anstatt jeden Komponentenwert separat anzugeben.
Die CreateDirectories
Rechte und CreateFiles
erfordern das Synchronize
Recht. Wenn Sie den Synchronize
Wert beim Erstellen einer Datei oder eines Verzeichnisses nicht explizit festlegen, wird er automatisch für Sie festgelegt.
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für