Архив за день: Декабрь 9, 2010

>Давайте делегируем полномочия или “Где мои атрибуты?!”

>

Так как я в последнее время занимаюсь различными задачами по делегированию полномочий, то приходится припоминать кое-какие хорошо забытые “базовые” вещи. На самом деле мне пришлось дважды воткнуться в проблему исчезнувших атрибутов, чтобы заняться ей всерьёз и обнаружить повторно, что понятие “filtered attributes” может относиться не только к RODC =)
Итак, ситуация обычно выглядит следующим образом: Вы пытаетесь делегировать полномочия на атрибут объекта в AD с помощью мастера делегирования и обнаруживаете, что это невозможно, поскольку он (атрибут) в мастере не виден. Не виден он так же и во вкладке Безопасность свойств объекта. Например, если я попытаюсь делегировать полномочия на изменение атрибута employeeID для контактов, мастер покажет мне следующее окно:
image
Как видно, здесь нет такого атрибута, как employeeID. Где он? Ну, это достаточно просто: многие атрибуты фильтруются из представления мастера (и не только). Это сделано, чтобы облегчить нам работу, так как существует множество свойств объектов, которые обычно просто не нужны (т.е. нет нужды их редактировать, конечно). “Но… Мне нужно делегировать полномочия на эти свойства!”,- скажете мне Вы. Отлично, никаких проблем: давайте вернем наши атрибуты на подобающее им место. Чтобы осуществить это, нам нужно внести некоторые измениния в файл dssec.dat, расположенный в папке %systemroot%system32 (резервная копия не должна пригодиться, но должна быть сделана Winking smile). Файл имеет вполне очевидную структуру: одна секция на каждый тип объекта, начинающаяся с [<attributename>] и заканчивающаяся с началом следующей секции. Например, секция для контактов будет выглядеть как-то так:
image
Из скриншота видно, что секция состоит из названий отфильтрованных атрибутов, знака “=” и числа. В красном прямоугольнике мы видим тот самый атрибут, который мы не можем видеть в мастере. Почему? Ну очевидно же, что из-за этой мерзкой цифры 7. Что бы нам такого туда поместить вместо нее? Вариантов немного:
  • Чтобы отобразить оба варианта read & write, поставим туда 0
  • Чтобы отобразить вариант write, используйте 1
  • 2 даст доступ к опции read
  • ну и оставьте там 7, чтобы убрать свойство из мастера целиком.
так что давайте поставим строку “employeeID=0”:
image
перезапустим нашу консоль ADUC и снова запустим мастер делегирования:

image
Voilà!
Дополнительное чтиво:
http://support.microsoft.com/kb/296490
http://technet.microsoft.com/en-us/library/cc756087(WS.10).aspx

Реклама