Berechtigung auf einen Registrierungkey setzen

20/10/2007 - 10:16 von Judith Schmidt | Report spam
Hallo,

ich möchte die Rechte eines Registrierungschlüssel setzen auf welchen mir
das Recht fehlt ihn zu öffnen.
Ich bin aber Besitzer dieses Schlüssels und somit berechtigt die Rechte zu
setzen.
Unter HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System Provider
gibt es z.B. Untersschlüssel auf die ich keinen öffnenden Zugriff habe. Wenn
ich versuche die Berechtigung zu àndern scheitert das an OpenSubKey() mit
System.Security.SecurityException: Requested registry access is not allowed

//--Beispiel mit einem selbst angelegtem Schlüssel:
S-1-5-18\\software\\testkey
// -start-
SetPermissions(){
String^ user = Environment::UserDomainName + "\\testuser";
RegistryKey^ openedKey;
RegistrySecurity regSecurity = gcnew RegistrySecurity();
regSecurity->AddAccessRule(gcnew RegistryAccessRule(user,
RegistryRights::ReadKey,
InheritanceFlags::ContainerInherit | InheritanceFlags::ObjectInherit,
PropagationFlags::InheritOnly,
AccessControlType::Allow));
regSecurity->SetAccessRuleProtection(false,true);
openedKey Registry::Users->OpenSubKey("S-1-5-18\\software\\testkey",true);
openedKey->SetAccessControl(regSecurity);
return 0;
}
// -end-

Danke erstmal vorab
 

Lesen sie die antworten

#1 Thomas Scheidegger
21/10/2007 - 19:02 | Warnen spam
Hallo Judith


ich möchte die Rechte eines Registrierungschlüssel setzen auf welchen mir das


Recht fehlt ihn zu öffnen.
Ich bin aber Besitzer dieses Schlüssels und somit berechtigt die Rechte zu


setzen.
...scheitert das an OpenSubKey() mit System.Security.SecurityException




Vermutung:
Ein 'Owner' hat nicht explizit (Lese/Schreib) Vollzugriff, sondern bloss Zugriff auf
die Security.
http://support.microsoft.com/kb/130543

Siehe die spezielleren Varianten von OpenSubKey
http://blogs.msdn.com/bclteam/archi...09867.aspx

insbesondere lies dort vorab:
"If no rights are specified, default rights are requested based on the overload of
OpenSubKey used:
...
OpenSubKey(string, bool) will request _ReadKey_





Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen