Не удалось сменить владельца на «Администратора» для раздела реестра из «Системы»

1

Ключи, которые меня интересуют,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles

Эти ключи предоставляют полный доступ к системному пользователю и только читают доступ к администратору. Я зарегистрирован в учетной записи администратора. Я использую 2012 R2.

Я могу изменить владельца через regedit

    right click -> Advanced -> Change onwer -> type "Administrator" -> OK -> Apply

Вот API в С#, который я попробовал. Оба отказались, поскольку доступ запрещен

    key = Registry.LocalMachine.OpenSubKey(test, RegistryKeyPermissionCheck.ReadSubTree, RegistryRights.TakeOwnership);

    RegistrySecurity rs = new RegistrySecurity();
    rs.SetOwner(new NTAccount("Administrator"));// Set the securitys owner to be Administrator

    key.SetAccessControl(rs);

Также были проверены API-интерфейсы win32:

    SetSecurityInfo(getRegistryKeyHandle(key), SE_OBJECT_TYPE.SE_REGISTRY_KEY, SECURITY_INFORMATION.OWNER_SECURITY_INFORMATION, ownerSid, groupSid, dacl, sacl);
  • 2
    Если у вас включено UAC, вам нужно явно запустить приложение от имени администратора. См. Этот вопрос и ответ о том, как заставить приложение работать с повышенными разрешениями: stackoverflow.com/questions/14800089/…
  • 0
    Вы должны включить SeTakeOwnershipPrivilege, чтобы назначить себе право собственности на объект. Обратите внимание, что это позволяет вам установить право собственности только на свою учетную запись или группу, к которой вы принадлежите. В качестве альтернативы, если вы включите SeBackupPrivilege и SeRestorePrivilege, вы можете назначить право собственности любому. (Вы также можете назначить себя владельцем объекта без привилегий, если у вас есть право доступа WRITE_OWNER к объекту.)
Показать ещё 1 комментарий
Теги:
registry

1 ответ

0
Лучший ответ

Благодаря @HarryJohnston. Ваш метод работает.

Я сначала включаю SeTakeOwnershipPrivilege, тогда я могу взять владельца с моим кодом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню