Наконец-то дошли руки, и я исправил ситуацию с избыточными правами. Всё, что нужно было изначально -- чтобы субадмины могли сбросить (поменять) пароль и разрешить/запретить пользовательский account. Роль HelpDesk RBS назначала при этом на соответствующие OU чрезмерные права, с огромным перебором, судите сами:
- Код: Выделить всё
Property Name Assigned Rights Inherit
Locked By Intruder Supervisor
Login Intruder Attempts Supervisor
Password Management Supervisor
SAS:Login Configuration Write
SAS:Login Configuration Key Write
[All Attributes Rights] Compare Read Write
[Entry Rights] Browse Create
Что сделал:
1. Создал группу, имя произвольное (я назвал её Account_manager).
2. Дал этой группе права (Read Write) на нужные атрибуты, в нужных OU, не забывая включить при этом наследование (Inherit). Сделано было вот таким простеньким скриптом, хотя это можно было сделать и в любом GUI:
- Код: Выделить всё
@Echo off
for /f %n in (ou_list.txt) do (
setacl %n "Login Disabled" .Account_manager.csd-o.binp rwi
setacl %n "Password Management" .Account_manager.csd-o.binp rwi
)
Setacl - утилита от тов. Baird-а. В файле ou_list.txt список OU в виде .OU.OU.O. Список сгенерён другой утилиткой от JRBsoftware, но в данном случае это совершенно непринципиально.
3. Небольшой фокус с RBS -- если в 'Edit member association' просто убрать у пользователя все назначения на все Scope для роли HelpDesk в iManager-е, то пользователь при входе в iManager обнаружит, что у него вообще нет назначенной ему роли HelpDesk (логично). Но один из админов уже привык работать именно через iManager и переучиваться не хотел. Я изобрёл такой workaround - назначил-таки для группы Account_manager роль HelpDesk для какого-то произвольного OU и - ключевой момент! - убрал у роли птичку в колонке 'Assign Rights'. Т.е., роль назначена, но у самой роли права отобраны (по сути не назначены).
В результате ничего не подозревающий субадмин при входе в iManager видит назначенную ему роль HelpDesk, но реальные права у него имеются только на нужные атрибуты, вместо того перебора, которую даёт назначение через роль.
Сейчас изучаю вопрос, как можно из готовой роли выбросить ненужные пункты (типа создания объекта) и добавить недостающий пункт 'Enable/disable login'. Никто с этим не игрался, как это делается? Я, конечно, найду рецепт, но просто времени не хватает.