Contens
reset tree
|
RegACL Details
RegACL.exe erlaubt das Setzen von Zugriffsrechten in der
Windows Registry auf Kommandozeilenebene (Batchbetrieb).
Getestet ist das Programm derzeit für Windows XP.
Parameter von RegACL
RegACL.exe wird derzeit mit folgenden Parametern aufgerufen:
- Zum Setzen von Zugriffsrechten:
RegACL.exe "rkey" /grant list
Das Format der Liste (list) ist hier group=rights
(z.B: RegACL "HKLM\SOFTWARE\Windows\Help" /grant S=f A=f P=rw)
- Zum Wegnehmen von Zugriffsrechten:
RegACL.exe "rkey" /remove list
Das Format der Liste (list) ist hier groups
(z.B: RegACL "HKLM\SOFTWARE\Windows\Help" /remove S A P)
- Zum Auslesen der Zugriffsrechte:
RegACL.exe "rkey" /export /l:logfile
(z.B: RegACL "HKLM\SOFTWARE\Windows\Help" /export /l:c:\tmp\RegACL.log)
- Punkt 1 und 2 können auch über eine Steuerdatei ausgeführt werden,
falls mehrere Schlüssel bearbeitet werden sollen:
RegACL.exe /f:configfile /l:logfile
(z.B: RegACL /f:c:\tmp\RegACLList.txt /l:c:\tmp\RegACL.log)
Das Format der Steuerdatei ist:
; --- Steuerdatei für RegACL.exe
"HKLM\Software\TEST" /grant S=f A=f P=f U=f E=f
"HKLM\Software\TEST" /remove E
"rkey" muß immer von Anführungszeichen eingeschlossen sein.
Die vergebenen Zugriffsrechte sind additiv und werden automatisch
auf untergeordnete Schlüssel der Registry vererbt.
rkey | Gibt den zu bearbeitenden Schlüssel (incl. Hive) in der Registry an | Gültige Werte für den Hive sind: HKCR, HKLM, HKCU, HKU |
groups | Gibt Benutzergruppen an, für die die Zugriffsrechte geändert werden | S=System, A=Administratoren, P=Hauptbenutzer, U=Benutzer, E=Jeder |
rights | Gibt die Art der Zugriffsrechte an (generische) | f=GENERIC_ALL, w=GENERIC_WRITE, r=GENERIC_READ |
Alle Aktionen des Programms können über den Schalter /l:logfile aufgezeichnet werden
Beispiele für die Verwendung von RegACL
Folgende Beispiele veranschaulichen die Verwendung von RegACL.exe:
RegACL.exe "HKLM\SOFTWARE\Windows\Help" /grant S=f A=f P=w U=r
Hinzufügen von Vollzugriff für System und Administratoren, Schreibzugriff
für Hauptbenutzer und Lesezugriff für Benutzer
RegACL.exe "HKLM\SOFTWARE\Windows\Help" /remove S A P U
So wird Beispiel 1 rückgängig gemacht
RegACL.exe "HKLM\SOFTWARE\Windows\Help" /export /l:c:\tmp\RegACL.log
Die frei vergebbaren Zugriffsrechte werden ausgelesen und in c:\tmp\RegACL.log
gespeichert
Technische Details zu RegACL
Das Betriebssystem unterscheided zwischen SACL
(System Access Control List) und DACL (Discretionary Access Control List).
Die DACL sind ACL die nach eigenem Ermessen zusätzlich zu den
SACL vergeben werden können. RegACL.exe setzt nur
DACL und läßt die SACL unverändert.
Ein ACL enthält ein oder mehrere ACE's (Access Control Entries).
RegACL.exe arbeitet mit der Vergabe von EXPLICIT_ACCESS
Strukturen. Eine EXPLICIT_ACCESS Struktur enthält folgende Einträge:
grfAccessPermissions Zugriffsrechte wie GENERIC_ALL, GENERIC_READ, GENERIC_WRITE ...
grfAccessMode Zugriffsmode wie GRANT_ACCESS, REVOKE_ACCESS, SET_ACCESS, DENY_ACCESS ...
grfInheritance Art der Vererbung wie CONTAINER_INHERIT_ACE, INHERIT_ONLY_ACE, NO_PROPAGATE_INHERIT_ACE ...
Trustee.Form Art des Trustee (SID oder Name) TRUSTEE_IS_NAME, TRUSTEE_IS_SID
Trustee.Type Typ des Trustee TRUSTEE_IS_UNKNOWN, TRUSTEE_IS_USER, TRUSTEE_IS_GROUP
Trustee.pstrName SID oder Name des Trustee je nach Trustee.Form
Das Programm hat derzeit folgende Parameter fix eingestellt:
grfInheritance = CONTAINER_INHERIT_ACE
Trustee.Form = TRUSTEE_IS_SID
Trustee.Type = TRUSTEE_IS_GROUP
Tabelle der Zugriffsrechte im Detail:
| Zugriffsrecht(e) | r | w | rw | f |
| Vollzugriff | | | | x |
| Wert abfragen | x | | x | x |
| Wert festlegen | | x | x | x |
| Unterschlüssel erstellen | | x | x | x |
| Unterschlüssel auflisten | x | | x | x |
| Benachrichtigen | x | | x | x |
| Verknüpfungerstellen | | | | x |
Löschen (DELETE) | | | | x |
DAC schreiben (WRITE_DAC) | | | | x |
| Besitz festlegen | | | | x |
Lesekontrolle (READ_CONTROL) | x | x | x | x |
Das Programm unterstützt derzeit folgende Gruppen:
S=System
A=Administratoren
P=Hauptbenutzer
U=Benutzer
E=Jeder
|