none
Установить права на реестр через консоль. RRS feed

Все ответы

  • несколько комментариев:
    1) вы НЕ ДОЛЖНЫ без доказанной причины использовать запреты. Это очень и очень порочная практика. Уже миллионы администраторов набили шишек на этих граблях, но с упорством продолжают их набивать.
    2) если у вас есть домен - лучше применить штатные функции GPO для смены разрешений на определённые ветки реестра:
    http://technet.microsoft.com/en-us/library/cc756952.aspx

    но если вы это всё прочитали и сочли, что у вас ну очень особенная ситуация (1 на миллион), то из консольных утилит, которые это могут провернуть:
    1) subinacl - взять в Windows Server Resource Kit или тут: http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en
    2) RegIni - http://support.microsoft.com/kb/237607 - антиквариат редкостный, самый свежий найдёте только в Windows 2000 Server Resouce Kit.
    [тут могла быть ваша реклама] http://www.sysadmins.lv
    10 марта 2009 г. 21:21
  • К сожалению, использование политики не подходит под решение задачи.
    Что же косается subinacl, он она при попытке выставить и разрешение и запрет переписывает  предыдущие правило.
    К примеру: уже есть веточка с правами в которой system имеет полные права.
    Если выполнить subinacl /subkeyreg "HKEY_LOCAL_MACHINE\......" /deny=system=S
    то будет переписаны все права для system и останется только один запрет на задание значения и все,
    если выполнить  subinacl /subkeyreg "HKEY_LOCAL_MACHINE\......" /deny=system=S /grant=system=R  
    то будет только разрешение на чтение при этом запрета не какого не будет.

    10 марта 2009 г. 23:52
  • тогда расскажите, для каких целей вам нужно выставлять разрешение и запрет одновременно?


    [тут могла быть ваша реклама] http://www.sysadmins.lv
    11 марта 2009 г. 6:48
  •  Есть веточка. HKEY_LOCAL_MACHINE\...\ветка, у которой по умолчанию для system установлены полные права.
    Необходимо установить права для system для подветочек HKEY_LOCAL_MACHINE\...\ветка\подветка*,
    в которые system не могу "задавать значения" в ней, при этом все остальные права были для system доступны, в том числе и создание подветок.

    Ну и дальше нужно для некоторых веточек будет снова назначить все права для system.
    11 марта 2009 г. 8:40
  •  тогда вам нужно скомбинировать права. Т.е. примерно так:
    hklm\...\ветка - Allow FullControl - This key only
    hklm\...\ветка - Allow (почекать всё, кроме SetValue) - Subkeys Only.

    В таком случае у вас System будет иметь все права на hklm\...\ветка и только. На все подключи будет иметь все права, кроме SetValue. И это спокойно делается через GPO, если есть домен.
    [тут могла быть ваша реклама] http://www.sysadmins.lv
    11 марта 2009 г. 8:46
  •  :) Вадим, вы пользовались subinacl? Покажите пример при котором "hklm\...\ветка - Allow (почекать всё, кроме SetValue) - Subkeys Only." выполнится как вы указали.
    При попытке назначить несколько прав одновременно вы получите ошибку и предложение:
    Possible values are
            F : Full Control
            R : Read
     or any following values
            A : ReAd Control
            Q : Query Value
            S : Set Value
            C : Create SubKey
            E : Enumerate Subkeys
            Y : NotifY
            L : Create Link
            D : Delete
            W : Write DAC
            O : Write Owner
    11 марта 2009 г. 10:43
  • да, пользовался один раз, когда что-то надо было настроить в DACL принтера. Реестром не занимался. Но вы можете попробовать последовательно применить несколько разрешений, которые в сумме дадут искомое. Но это очень топорный метод. Поэтому самое простое, что я вижу - PowerShell. Там Get/Set-Acl и с пяток строчек кода. Если Powershell нету, то VBS и мучительно курить Win32_SecurityDescriptor.
    [тут могла быть ваша реклама] http://www.sysadmins.lv
    11 марта 2009 г. 16:30