Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
DirectorySecurity-Klasse
Stellt die Zugriffssteuerung und die Überwachungssicherheit für ein Verzeichnis dar. Diese Klasse kann nicht vererbt werden.
System.Security.AccessControl.ObjectSecurity
System.Security.AccessControl.CommonObjectSecurity
System.Security.AccessControl.NativeObjectSecurity
System.Security.AccessControl.FileSystemSecurity
System.Security.AccessControl.DirectorySecurity
Assembly: mscorlib (in mscorlib.dll)
Der DirectorySecurity-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
DirectorySecurity() | Initialisiert eine neue Instanz der DirectorySecurity-Klasse. |
|
DirectorySecurity(String, AccessControlSections) | Initialisiert mithilfe der angegebenen Werte der AccessControlSections-Enumeration eine neue Instanz der DirectorySecurity-Klasse aus einem angegebenen Verzeichnis. |
| Name | Beschreibung | |
|---|---|---|
|
AccessRightType | Ruft die Enumeration ab, mit deren Hilfe die FileSystemSecurity-Klasse Zugriffsrechte darstellt. (Von FileSystemSecurity geerbt.) |
|
AccessRulesModified | Ruft einen booleschen Wert ab, der angibt, ob die diesem ObjectSecurity-Objekt zugeordneten Zugriffsregeln geändert wurden, oder legt diesen Wert fest. (Von ObjectSecurity geerbt.) |
|
AccessRuleType | Ruft die Enumeration ab, mit deren Hilfe die FileSystemSecurity-Klasse Zugriffsregeln darstellt. (Von FileSystemSecurity geerbt.) |
|
AreAccessRulesCanonical | Ruft einen booleschen Wert ab, der angibt, ob die diesem ObjectSecurity-Objekt zugeordneten Zugriffsregeln in kanonischer Reihenfolge vorliegen. (Von ObjectSecurity geerbt.) |
|
AreAccessRulesProtected | Ruft einen booleschen Wert ab, der angibt, ob die freigegebene Zugriffssteuerungsliste (DACL – Discretionary Access Control List), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist. (Von ObjectSecurity geerbt.) |
|
AreAuditRulesCanonical | Ruft einen booleschen Wert ab, der angibt, ob die diesem ObjectSecurity-Objekt zugeordneten Überwachungsregeln in kanonischer Reihenfolge vorliegen. (Von ObjectSecurity geerbt.) |
|
AreAuditRulesProtected | Ruft einen booleschen Wert ab, der angibt, ob die Systemzugriffssteuerungsliste (SACL – System Access Control List), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist. (Von ObjectSecurity geerbt.) |
|
AuditRulesModified | Ruft einen booleschen Wert ab, der angibt, ob die diesem ObjectSecurity-Objekt zugeordneten Überwachungsregeln geändert wurden, oder legt diesen Wert fest. (Von ObjectSecurity geerbt.) |
|
AuditRuleType | Ruft den Typ ab, mit dessen Hilfe die FileSystemSecurity-Klasse Überwachungsregeln darstellt. (Von FileSystemSecurity geerbt.) |
|
GroupModified | Ruft einen booleschen Wert ab, der angibt, ob die dem sicherungsfähigen Objekt zugeordnete Gruppe geändert wurde, oder legt diesen fest. (Von ObjectSecurity geerbt.) |
|
IsContainer | Ruft einen booleschen Wert ab, der angibt, ob dieses ObjectSecurity-Objekt ein Containerobjekt ist. (Von ObjectSecurity geerbt.) |
|
IsDS | Ruft einen booleschen Wert ab, der angibt, ob dieses ObjectSecurity-Objekt ein Verzeichnisobjekt ist. (Von ObjectSecurity geerbt.) |
|
OwnerModified | Ruft einen booleschen Wert ab, der angibt, ob der Besitzer des sicherungsfähigen Objekts geändert wurde, oder legt diesen Wert fest. (Von ObjectSecurity geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
AccessRuleFactory | Initialisiert eine neue Instanz der FileSystemAccessRule-Klasse, die eine neue Zugriffssteuerungsregel für den angegebenen Benutzer mit den angegebenen Zugriffsrechten und Flags sowie der angegebenen Zugriffssteuerung darstellt. (Von FileSystemSecurity geerbt.) |
|
AddAccessRule(AccessRule) | Fügt der DACL (Discretionary Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist, die angegebene Zugriffsregel hinzu. (Von CommonObjectSecurity geerbt.) |
|
AddAccessRule(FileSystemAccessRule) | Fügt der aktuellen Datei bzw. dem aktuellen Verzeichnis die angegebene ACL-Berechtigung hinzu. (Von FileSystemSecurity geerbt.) |
|
AddAuditRule(AuditRule) | Fügt der SACL (System Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist, die angegebene Überwachungsregel hinzu. (Von CommonObjectSecurity geerbt.) |
|
AddAuditRule(FileSystemAuditRule) | Fügt der aktuellen Datei bzw. dem aktuellen Verzeichnis die angegebene Überwachungsregel hinzu. (Von FileSystemSecurity geerbt.) |
|
AuditRuleFactory | Initialisiert eine neue Instanz der FileSystemAuditRule-Klasse, die die angegebene Überwachungsregel für den angegebenen Benutzer darstellt. (Von FileSystemSecurity geerbt.) |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
GetAccessRules | Ruft eine Auflistung der Zugriffsregeln ab, die der angegebenen Sicherheits-ID zugeordnet sind. (Von CommonObjectSecurity geerbt.) |
|
GetAuditRules | Ruft eine Auflistung der Überwachungsregeln ab, die der angegebenen Sicherheits-ID zugeordnet sind. (Von CommonObjectSecurity geerbt.) |
|
GetGroup | Ruft die primäre Gruppe ab, die dem angegebenen Besitzer zugeordnet ist. (Von ObjectSecurity geerbt.) |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetOwner | Ruft den Benutzer ab, der der angegebenen primären Gruppe zugeordnet ist. (Von ObjectSecurity geerbt.) |
|
GetSecurityDescriptorBinaryForm | Gibt ein Array von Bytewerten zurück, das die Sicherheitsbeschreibungsinformationen für dieses ObjectSecurity-Objekt darstellt. (Von ObjectSecurity geerbt.) |
|
GetSecurityDescriptorSddlForm | Gibt die SDDL-Darstellung (Security Descriptor Definition Language) der angegebenen Abschnitte der von diesem ObjectSecurity-Objekt dargestellten Sicherheitsbeschreibung zurück. (Von ObjectSecurity geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
ModifyAccess | Wendet die angegebene Änderung auf die DACL an, die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
ModifyAccessRule | Wendet die angegebene Änderung auf die freigegebene Zugriffssteuerungsliste (DACL – Discretionary Access Control List) an, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.) |
|
ModifyAudit | Wendet die angegebene Änderung auf die SACL (System Access Control List) an, die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
ModifyAuditRule | Wendet die angegebene Änderung auf die Systemzugriffssteuerungsliste (SACL – System Access Control List) an, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.) |
|
Persist(SafeHandle, AccessControlSections) | Führt eine dauerhafte Speicherung der angegebenen Abschnitte der Sicherheitsbeschreibung aus, die diesem NativeObjectSecurity-Objekt zugeordnet sind. Es wird empfohlen, dass die Werte der includeSections-Parameter, die an den Konstruktor übergeben werden, und die Persist-Methoden identisch sind. Weitere Informationen finden Sie in den Hinweisen. (Von NativeObjectSecurity geerbt.) |
|
Persist(String, AccessControlSections) | Führt eine dauerhafte Speicherung der angegebenen Abschnitte der Sicherheitsbeschreibung aus, die diesem NativeObjectSecurity-Objekt zugeordnet sind. Es wird empfohlen, dass die Werte der includeSections-Parameter, die an den Konstruktor übergeben werden, und die Persist-Methoden identisch sind. Weitere Informationen finden Sie in den Hinweisen. (Von NativeObjectSecurity geerbt.) |
|
Persist(Boolean, String, AccessControlSections) | Führt eine dauerhafte Speicherung der angegebenen Abschnitte der Sicherheitsbeschreibung aus, die diesem ObjectSecurity-Objekt zugeordnet sind. Es wird empfohlen, dass die Werte der includeSections-Parameter, die an den Konstruktor übergeben werden, und die Persist-Methoden identisch sind. Weitere Informationen finden Sie in den Hinweisen. (Von ObjectSecurity geerbt.) |
|
Persist(SafeHandle, AccessControlSections, Object) | Führt eine dauerhafte Speicherung der angegebenen Abschnitte der Sicherheitsbeschreibung aus, die diesem NativeObjectSecurity-Objekt zugeordnet sind. Es wird empfohlen, dass die Werte der includeSections-Parameter, die an den Konstruktor übergeben werden, und die Persist-Methoden identisch sind. Weitere Informationen finden Sie in den Hinweisen. (Von NativeObjectSecurity geerbt.) |
|
Persist(String, AccessControlSections, Object) | Führt eine dauerhafte Speicherung der angegebenen Abschnitte der Sicherheitsbeschreibung aus, die diesem NativeObjectSecurity-Objekt zugeordnet sind. Es wird empfohlen, dass die Werte der includeSections-Parameter, die an den Konstruktor übergeben werden, und die Persist-Methoden identisch sind. Weitere Informationen finden Sie in den Hinweisen. (Von NativeObjectSecurity geerbt.) |
|
PurgeAccessRules | Entfernt alle der angegebenen IdentityReference zugeordneten Zugriffsregeln. (Von ObjectSecurity geerbt.) |
|
PurgeAuditRules | Entfernt alle der angegebenen IdentityReference zugeordneten Überwachungsregeln. (Von ObjectSecurity geerbt.) |
|
ReadLock | Sperrt dieses ObjectSecurity-Objekt für Lesezugriff. (Von ObjectSecurity geerbt.) |
|
ReadUnlock | Entsperrt dieses ObjectSecurity-Objekt für Lesezugriff. (Von ObjectSecurity geerbt.) |
|
RemoveAccessRule(AccessRule) | Entfernt Zugriffsregeln, die dieselbe Sicherheits-ID und dieselbe Zugriffsmaske wie die angegebene Zugriffsregel enthalten, aus der DACL (Discretionary Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
RemoveAccessRule(FileSystemAccessRule) | Entfernt alle entsprechenden Allow- oder Deny-ACL-Berechtigungen aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.) |
|
RemoveAccessRuleAll(AccessRule) | Entfernt alle Zugriffsregeln, die dieselbe Sicherheits-ID wie die angegebene Zugriffsregel enthalten, aus der DACL (Discretionary Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
RemoveAccessRuleAll(FileSystemAccessRule) | Entfernt alle ACL-Berechtigungen für den angegebenen Benutzer aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.) |
|
RemoveAccessRuleSpecific(AccessRule) | Entfernt alle Zugriffsregeln, die der angegebenen Zugriffsregel genau entsprechen, aus der DACL (Discretionary Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
RemoveAccessRuleSpecific(FileSystemAccessRule) | Entfernt eine einzelne entsprechende Allow- oder Deny-ACL-Berechtigung aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.) |
|
RemoveAuditRule(AuditRule) | Entfernt Überwachungsregeln, die dieselbe Sicherheits-ID und dieselbe Zugriffsmaske wie die angegebene Überwachungsregel enthalten, aus der SACL (System Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
RemoveAuditRule(FileSystemAuditRule) | Entfernt alle entsprechenden Allow- oder Deny-Überwachungsregeln aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.) |
|
RemoveAuditRuleAll(AuditRule) | Entfernt alle Überwachungsregeln, die dieselbe Sicherheits-ID wie die angegebene Überwachungsregel enthalten, aus der SACL (System Access Control List), die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
RemoveAuditRuleAll(FileSystemAuditRule) | Entfernt alle Überwachungsregeln für den angegebenen Benutzer aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.) |
|
RemoveAuditRuleSpecific(AuditRule) | Entfernt alle Überwachungsregeln, die der angegebenen Überwachungsregel genau entsprechen, aus der SACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist. (Von CommonObjectSecurity geerbt.) |
|
RemoveAuditRuleSpecific(FileSystemAuditRule) | Entfernt eine einzelne entsprechende Allow- oder Deny-Überwachungsregel aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.) |
|
ResetAccessRule(AccessRule) | Entfernt alle Zugriffsregeln in der DACL, die diesem CommonObjectSecurity-Objekt zugeordnet ist, und fügt anschließend die angegebene Zugriffsregel hinzu. (Von CommonObjectSecurity geerbt.) |
|
ResetAccessRule(FileSystemAccessRule) | Fügt der aktuellen Datei bzw. dem aktuellen Verzeichnis die angegebene ACL-Berechtigung hinzu und entfernt alle entsprechenden ACL-Berechtigungen. (Von FileSystemSecurity geerbt.) |
|
SetAccessRule(AccessRule) | Entfernt alle Zugriffsregeln, die dieselbe Sicherheits-ID und denselben Qualifizierer wie die angegebene Zugriffsregel in der DACL (Discretionary Access Control List) enthalten, die diesem CommonObjectSecurity-Objekt zugeordnet ist, und fügt anschließend die angegebene Zugriffsregel hinzu. (Von CommonObjectSecurity geerbt.) |
|
SetAccessRule(FileSystemAccessRule) | Legt die angegebene ACL-Berechtigung für die aktuelle Datei bzw. das aktuelle Verzeichnis fest. (Von FileSystemSecurity geerbt.) |
|
SetAccessRuleProtection | Legt den Schutz der Zugriffsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen. Geschützte Zugriffsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden. (Von ObjectSecurity geerbt.) |
|
SetAuditRule(AuditRule) | Entfernt alle Überwachungsregeln, die dieselbe Sicherheits-ID und denselben Qualifizierer wie die angegebene Überwachungsregel in der SACL (System Access Control List) enthalten, die diesem CommonObjectSecurity-Objekt zugeordnet ist, und fügt anschließend die angegebene Überwachungsregel hinzu. (Von CommonObjectSecurity geerbt.) |
|
SetAuditRule(FileSystemAuditRule) | Legt die angegebene Überwachungsregel für die aktuelle Datei bzw. das aktuelle Verzeichnis fest. (Von FileSystemSecurity geerbt.) |
|
SetAuditRuleProtection | Legt den Schutz der Überwachungsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen. Geschützte Überwachungsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden. (Von ObjectSecurity geerbt.) |
|
SetGroup | Legt die primäre Gruppe für die Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.) |
|
SetOwner | Legt den Besitzer der Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.) |
|
SetSecurityDescriptorBinaryForm(Byte[]) | Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch das angegebene Array von Bytewerten fest. (Von ObjectSecurity geerbt.) |
|
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) | Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch das angegebene Array von Bytewerten fest. (Von ObjectSecurity geerbt.) |
|
SetSecurityDescriptorSddlForm(String) | Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch die angegebene SDDL-Zeichenfolge (Security Descriptor Definition Language) fest. (Von ObjectSecurity geerbt.) |
|
SetSecurityDescriptorSddlForm(String, AccessControlSections) | Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch die angegebene SDDL-Zeichenfolge (Security Descriptor Definition Language) fest. (Von ObjectSecurity geerbt.) |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
|
WriteLock | Sperrt dieses ObjectSecurity-Objekt für den Schreibzugriff. (Von ObjectSecurity geerbt.) |
|
WriteUnlock | Entsperrt dieses ObjectSecurity-Objekt für Schreibzugriff. (Von ObjectSecurity geerbt.) |
Die DirectorySecurity-Klasse gibt die Zugriffsrechte für ein Systemverzeichnis an und gibt an, wie Zugriffsversuche überwacht werden. Die Klasse stellt Zugriffs- und Überwachungsrechte als Regeln dar. Jede Zugriffsregel wird durch ein FileSystemAccessRule-Objekt dargestellt, und jede Überwachungsregel wird durch ein FileSystemAuditRule-Objekt dargestellt.
Die DirectorySecurity-Klasse ist eine Abstraktion des zugrunde liegenden Dateisicherheitssystems von Windows. In diesem System verfügt jedes Verzeichnis über eine freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL), mit der der Zugriff auf das Verzeichnis gesteuert wird, sowie über eine Systemzugriffssteuerungsliste (System Access Control List, SACL), mit der die überwachten Zugriffssteuerungsversuche angegeben werden. Die FileSystemAccessRule-Klasse und die FileSystemAuditRule-Klasse stellen Abstraktionen von Access Control Attempts (ACE – Zugriffssteuerungseintrag) dar, zu denen DACLs und SACLs gehören.
Die DirectorySecurity-Klasse blendet viele Details von DACLs und SACLs aus. Es sind keine Überlegungen zur ACE-Reihenfolge oder zu NULL-DACLS erforderlich.
Verwenden Sie die FileSecurity-Klasse, um die Zugriffsregeln abzurufen, hinzuzufügen bzw. zu ändern, die die DACL und SACL einer Datei darstellen.
In den folgenden Tabellen sind die Methoden, die Sie verwenden können, um auf Verzeichnissicherheit zuzugreifen und sie zu verwalten, aufgeführt.
|
Aufgabe |
Methoden |
|---|---|
|
Hinzufügen von Regeln |
|
|
Entfernen von Regeln |
|
|
Abrufen der Zugriffssteuerung für ein Verzeichnis |
|
|
Beibehalten der Zugriffssteuerung in einem Verzeichnis |
Im folgenden Codebeispiel wird die DirectorySecurity-Klasse verwendet, um einer Datei einen ACL-Eintrag hinzuzufügen und diesen dann wieder aus der Datei zu entfernen. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.
using System; using System.IO; using System.Security.AccessControl; namespace FileSystemExample { class DirectoryExample { public static void Main() { try { string DirectoryName = "TestDirectory"; Console.WriteLine("Adding access control entry for " + DirectoryName); // Add the access control entry to the directory. AddDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow); Console.WriteLine("Removing access control entry from " + DirectoryName); // Remove the access control entry from the directory. RemoveDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow); Console.WriteLine("Done."); } catch (Exception e) { Console.WriteLine(e); } Console.ReadLine(); } // Adds an ACL entry on the specified directory for the specified account. public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType) { // Create a new DirectoryInfo object. DirectoryInfo dInfo = new DirectoryInfo(FileName); // Get a DirectorySecurity object that represents the // current security settings. DirectorySecurity dSecurity = dInfo.GetAccessControl(); // Add the FileSystemAccessRule to the security settings. dSecurity.AddAccessRule(new FileSystemAccessRule(Account, Rights, ControlType)); // Set the new access settings. dInfo.SetAccessControl(dSecurity); } // Removes an ACL entry on the specified directory for the specified account. public static void RemoveDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType) { // Create a new DirectoryInfo object. DirectoryInfo dInfo = new DirectoryInfo(FileName); // Get a DirectorySecurity object that represents the // current security settings. DirectorySecurity dSecurity = dInfo.GetAccessControl(); // Add the FileSystemAccessRule to the security settings. dSecurity.RemoveAccessRule(new FileSystemAccessRule(Account, Rights, ControlType)); // Set the new access settings. dInfo.SetAccessControl(dSecurity); } } }
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.