Назад | Перейти на главную страницу

Управление одной и той же настройкой MCX на нескольких мастерах Open Directory

В школьном отделении, в котором я работаю, у нас есть мастер Open Directory в каждой из дюжины школ. Есть настройки, которыми я хотел бы управлять в нескольких каталогах для нескольких рабочих или групп компьютеров.

Безумный способ сделать это - открыть каждый каталог по очереди (с помощью Workgroup Manager), выбрать все группы, которыми я хочу управлять, настроить все параметры и повторить для каждого сервера, надеясь, что я все сделаю правильно, и получить идентичные результаты.

Есть ли способ лучше?

Я подумал, что есть какой-то способ скопировать и вставить настройки из менеджера рабочей группы. Я знаю, что для экспорта и импорта настроек можно использовать какую-то команду. Похоже, что для этого должен быть инструмент. (Конечно, Workgroup Manager работал бы лучше, если бы мы использовали один мастер и несколько реплик, но мы не собираемся пробовать это снова в ближайшее время.)

Что ж, я начну отвечать на свой вопрос.

Чтобы получить список узлов с управляемыми настройками на удаленном мастере Open Directory Master, вы можете сделать что-то вроде этого:

dscl -u DIRADMINUSER -p -url HOST \
     list /LDAPv3/127.0.0.1/TYPE MCXSettings \
     | cut -d " " -f 1

Замените слова заглавными буквами правильными значениями. HOST - это IP или DNS-имя или ваш Open Directory Master. Параметр -url экспортирует значения в кодировке URL-адресов, что довольно удобно означает, что все они остаются в одной строке, и мы можем применить команду вырезания. Обратите внимание: если вы хотите указать пароль в командной строке вместо безопасного запроса, замените -p с участием -P 'PASSWORD'.

Для ТИПА вы, скорее всего, захотите использовать:

  • Группы (для рабочей группы / группы пользователей)
  • КомпьютерГруппы
  • Компьютеры
  • Пользователи

Допустим, у нас есть группа пользователей (TYPE = Group) под названием Grade5 (ITEMNAME = Grade5). Чтобы скопировать данные удаленно, мы могли бы заменить эту команду на:

dscl -u DIRADMINUSER -p HOST \
    mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
    -format plist \
    -o EXPORTFILE.plist

Теперь вы не можете (легко) импортировать файл удаленно из-за Radar 4122565. Итак, скопируйте EXPORTFILE.plist в Open Directory Master, где вы хотите дублировать настройки, и в этом поле импортируйте его следующим образом:

dscl -u DIRADMINUSER -p \
    /LDAPv3/127.0.0.1 mcximport /TYPE/NEWITEMNAME \
    EXPORTFILE.plist

Обратите внимание, что можно управлять несколькими «доменами приложений» (например, файлами настроек). Чтобы узнать, какие из них, используйте:

dscl -u DIRADMINUSER -p HOST \
    mcxread /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
    -format text \
    | grep "App domain" | uniq | cut -d " " -f3-

Затем вы можете экспортировать только один домен приложения или даже домен приложения и определенный ключ.

dscl -u DIRADMINUSER -p HOST \
    mcxexport /LDAPv3/127.0.0.1/TYPE/ITEMNAME \
    -format plist \
    -o EXPORTFILE.plist APP_DOMAIN KEYNAME

Я мог бы использовать "com.apple.dock" для APP_DOMAIN и опустить KEYNAME, если мне нужны все настройки для док-станции, и я мог бы использовать APP_DOMAIN com.apple.mcxprinting с KEYNAME для PrintFooter, если бы я хотел только печать настройка нижнего колонтитула для печати.

После экспорта настройки вы можете импортировать ее как обычно. (Я еще не тестировал, перезаписывает он что-то или нет.)

Наконец, обратите внимание, что можно использовать mcxread и mcxset вместо mcxexport и mcximport.

Вы можете экспортировать и импортировать ТОЛЬКО рабочие группы (в зависимости от ваших целей) через строку меню -> Сервер -> Экспорт (или Импорт). Я определенно с уважением склоняюсь перед сценарием оболочки в вашем последующем сообщении, но он может быть более высоким, чем вам удобно.

Кроме того, у вас может быть удаленный сервер просто «Подключиться к» Open Directory Master вместо того, чтобы делать их репликами. Вы получаете большинство из тех же преимуществ. Я лично управляю серверами Connected и Replica в течение многих лет. Я даже проделал оба этих варианта через сильно загруженные соединения T-1. (На самом деле, есть только две причины использовать реплику вместо настройки «Подключено». Одна связана с производительностью на удаленном сайте с большими задержками. Другая - для избыточности - главный компьютер может отключиться, а пользователи по-прежнему могут входить в систему. )

Может быть, это даст вам идеальное решение? Какие проблемы у вас были с репликами? Может, я смогу помочь, если тебе интересно.