| |
|
|
LsaOpenPolicy öffnet das Handle des Policy Objektes auf dem lokalen System oder einem Hintergrundcomputer. Das Policy Objekt Handle ist quasi ?der goldene Schlüssel? zu den Sicherheitseinstellungen die über die LSA-API getätigt werden können. Diese Funktion gibt es nur unter NT-basierten Windowssystemen.
P:B1 Struktur oder 8 Byte Große Bereichsvariable, die Angaben über das Zielsystem enthält, dessen Policy Objekt Handle geöffnet werden soll. => Byte 0-1 = Die Lange des Strings in Bytes, auf den Byte 4-7 verweist. Byte 2-3 = Die Länge des Bereichs in Bytes, auf den Byte 4-7 verweist. Byte 4-7 = Beliebig, aber ausreichend große Bereichsvariable mit einem String im Unicode Format, der den Namen des Zielsystems enthält. P:B2 Struktur oder 28 Byte Große Bereichsvariable für die Angabe von Verbindungsattributen. Dieser Parameter wird zur Zeit nicht genutzt. Alle Bytes der Struktur oder der Bereichsvariablen müssen deshalb auf 0 gesetzt werden. P:L3 Flags, die den gewünschten Zugriff auf das Handle angeben. Flags können mit | addiert werden. Wenn das Zielsystem dem aufrufenden Prozess nicht alle Zugriffsrechte gewährt, schlägt die Funktion fehlt. Man sollte sich deshalb genau überlegen, welche Zugriffsrechte genau für die Aktion nötig sind, für die man das Handle benötigt. => #Generic Zugriffsrechte#: $80000000 = Lesezugriff (GENERIC_READ). $40000000 = Schreibzugriff (GENERIC_WRITE). $20000000 = Recht zum Ausführen (GENERIC_EXECUTE). $10000000 = Recht zum Ausführen, Schreibzugriff und Lesezugriff (GENERIC_ALL). #Standard Zugriffsrechte#: $01000000 = Um Zugriff auf die SACL zu erhalten (ACCESS_SYSTEM_SECURITY). $00020000 = Um Lesezugriff auf den Security Descriptor (ohne den SACL) zu erhalten (READ_CONTROL = STANDARD_RIGHTS_READ = STANDARD_RIGHTS_WRITE = STANDARD_RIGHTS_EXECUTE). $00010000 = Recht zum löschen (_DELETE). $00040000 = Schreibrecht auf den ACL (WRITE_DAC). $00080000 = Schreibrecht auf den Eigentümer (WRITE_OWNER). $00100000 = Erlaubt einem Prozess auf das Objekt zu warten (SYNCHRONIZE). Gibt es nicht für alle Objekttypen. $000F0000 = $00010000+$00020000+$00080000+$00040000 (STANDARD_RIGHTS_REQUIRED). $001F0000 = $00010000+$00020000+$00100000+$00080000+$00040000 (STANDARD_RIGHTS_ALL). #Spezifische Zugriffsrechte#: $0001 = (POLICY_VIEW_LOCAL_INFORMATION). $0002 = (POLICY_VIEW_AUDIT_INFORMATION) $0004 = (POLICY_GET_PRIVATE_INFORMATION). $0008 = (POLICY_TRUST_ADMIN). $0010 = (POLICY_CREATE_ACCOUNT). $0020 = (POLICY_CREATE_SECRET). $0040 = (POLICY_CREATE_PRIVILEGE). $0080 = (POLICY_SET_DEFAULT_QUOTA_LIMITS). $0100 = (POLICY_SET_AUDIT_REQUIREMENTS). $0200 = (POLICY_AUDIT_LOG_ADMIN). $0400 = (POLICY_SERVER_ADMIN). $0800 = (POLICY_LOOKUP_NAMES). $FFFF = Alle spezifischen Rechte (SPECIFIC_RIGHTS_ALL).
$02000000 = Alle erlaubten Zugriffsrechte für den anfragenden Prozess (MAXIMUM_ALLOWED). P:L4 Adresse einer LongInt Variablen oder P:B5 4 Byte große Bereichsvariable, die das Handle des Policy Objektes aufnimmt.
|
|
|
| |
|
|