Поддержка Консалтинг Обучение Jamf Pro Блог

Что такое MDS

Антон Конобеев 01.06.2022

В среде Мак-админов бытуют следующие утверждения:

Фреймворк Mobile Device Management от Apple – это модно и гибко.

Раскатка системных образов (Imaging is dead) – в далеком прошлом.

Мода модой, но рабочий процесс (workflow), похожий на развертывание системных образов, все еще может быть востребован. 

Например, если в ваших руках оказалось большое количество Маков, которые требуется настроить в относительно сжатые сроки: как минимум выполнить настройку и установить ПО. Также вы знаете, что ваша локальная сеть не резиновая и вам попросту может не хватить пропускной способности для одновременной настройки большого количества устройств.

Или вы не можете воспользоваться услугами ведущих мировых вендоров MDM.

Сайт http://isimagingdead.com дает лаконичный ответ на вопрос о раскатывании образов. Он же смущает своим знаком сноски (звездочка, астериск), который ведет на статью, в которой не только объясняются причины того, как же так вышло, но и упоминаются три инструмента: MDS, installr, bootstrappr

А ведь эти самые инструменты могут реализовать imaging-like рабочий процесс.

Я расскажу вам об одном из них: MDS.

Он показался мне наиболее дружелюбным к пользователю, плюс он предлагает опциональные заигрывания с Arduino.

Суть проста: мы конфигурируем workflow, внутрь которого укладываем все нужные настройки, скрипты и пакеты, а MDS упаковывает всё это на флешку (или образ). Помимо этого она помещает на неё скрипт, который автоматически развернет все упакованное без лишнего человеческого участия.

Всё остальное по желанию. Из него можно:

  • локально запустить MicroMDM, предварительно снабдив его всеми нужными сертификатами
  • запустить Munki или MunkiReport и Apache для них
  • запустить микросервер для приёма логов с машин во время инсталляции workflow
  • подготовить Arduino, чтобы она эмулировала клавиатуру: нажимала cmd+r при запуске для входа в рекавери, затем запускала терминал и вводила команду запуска скрипта workflow
  • и даже скачать дистрибутив macOS и создать с ним загрузочную флешку, если вам очень лень открывать терминал и печатать путь до createinstallmedia

Что позволяет настроить workflow? 

  • Подключение к сети
  • Стирание системного диска
  • Установку macOS
  • Установку пакетов, запуск скриптов
  • Установку профилей (для 10.15 и старше)
  • Создание пользователей (админов/стандартных/скрытых) и настройка автологина
  • Пропуск Setup Assistant
  • Включение SSH
  • Ограничение запуска на определенных моделях маков (например, только на iMac, блокируя Mac mini, MacBook и Mac Pro)
  • Перезагрузку по завершению работы

И всё это установится само. Единственное, где можно прерваться, и то по желанию,  — задание имени компьютера и переменных, к которым затем можно будет обращаться в запускаемых workflow скриптах.

Теперь подробнее про работу с Arduino. Если у нас есть Arduino Pro Micro или ее аналог, который умеет эмулировать HID-устройство из коробки, то мы можем зайти в раздел Automations, и одним кликом записать на неё прошивку, а вторым открыть окно с настройками (скриншот ниже) и быстро накликать всё, что нужно для той простой операции, для которой она предназначена:

А делает она вот что: при подаче питания начинает нажимать CMD+R, чтобы войти в рекавери, открывает терминал и запускает workflow. С некоторыми опциями, вроде ввода пароля прошивки или подключения к Wi-Fi для активации.

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

Вот, наверное, и всё, что я могу рассказать. В итоге у нас есть:

  • красивые GUI
  • достаточно настроек
  • много удобных дополнений
  • ощущение хацкерства при эмулировании HID с помощью ардуины
  • обложившись флешками, можно за день энроллить ооочень много машин
  • ????
  • PROFIT

Если вдруг вы макадмин и прошли мимо этого инструмента — очень рекомендую попробовать самому. Совместно с Munki и MicroMDM он образует отличный комплект для выживания в текущих обстоятельствах.