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

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

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

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

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

2 ответа

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

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

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',

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

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

Допустим, у нас есть группа пользователей (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. (На самом деле, есть только две причины использовать реплику вместо параметра "Подключено". Одна из них предназначена для производительности в удаленном узле с большим временем ожидания. Другая - для избыточности - мастер может отключиться, а пользователи могут войти в систему.)

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

Другие вопросы по тегам