Немного про DEP и MDM
Update: Спасибо @agafon_aga за существенные замечания:
Описанная здесь ситуация актуальна при использовании Apple Device Enrollment Program (DEP). Смысл ее — привязка устройств на аккаунт компании для облегчения управления, инвентаризации и прочего.
Внутри системы DEP имеет самый высокий приоритет (после Apple, разумеется).
Mobile Device Management (MDM) системы, имеют приоритет ниже чем AppleID пользователя устройства. Удалить профиль именно MDM (а не DEP) пользователь может легко. Для этого достаточно быть админом в системе.
Итого, уровень приоритетов выстраивается (от высшего к низшему):
Apple — DEP — User AppleID — MDM Profile
Профили DEP (Device Enrollment Program) и MDM (англ. Mobile Device Management), как правило, устанавливается пользователям на устройства, которые выданы им крупными компаниями, а также некоторыми школами и университетами в пользование. Профиль позволяет автоматизировать настройку практически всех программных компонентов устройства. При этом он также позволяет полностью контролировать устройство дистанционно. Возможности контроля ограничены лишь фантазией администратора, который его настраивал.
Короче, в общем для компании - это хорошо, в частности для конкретного пользователя - не очень. Иногда совсем не хочется, чтобы кто-то мог в любой момент дистанционно выкинуть тебя из компьютера или просто его заблокировать.
Корпоративный профиль устанавливается на заводе во время заказа партии для того или иного крупного заказчика и не может быть удален окончательно программно. Как правило, после полного сброса во время активации устройства профиль загружается из интернета и снова пробует себя развернуть на устройстве. Назойливость этих попыток может быть разной, и наша сегодняшняя задача избавиться от этого.
Решение с обходом блокировки на Mac OS Catalina достаточно прямолинейное и без труда находится в интернете. С Big Sur все намного сложнее. В новой операционной системе реализован новый механизм защиты целостности системы. Поэтому весь алгоритм действий усложнился.
Установка чистой системы
Будем предполагать, что мы в состоянии сами установить чистую систему Mac OS Big Sur с флешки. В случае с MDM устройством главное правило - проводим чистую установку с отключенным интернетом, чтобы система не могла получить данные по имеющемуся MDM идентификатору.
После завершения установки к интернету подключаться можно. К сожалению, система тут же начнет предлагать загрузить и установить тот самый MDM профиль, который по ее мнению должен быть настроен в системе. Настойчивость таких предложений - примерно раз в 10 минут. Жить можно, но мы не согласны на полумеры.
Отключение MDM профиля
1. На устройстве должен быть снят пароль на включение и выключено шифрование диска:
Настройки -> Безопасность -> FileVault - выключить
2. Перезагружаемся в режиме восстановления:
Удерживаем (Command+R) во время загрузки до появления полосы загрузки.
3. В режите восстановления запускаем терминал:
"Утилиты" -> "Терминал"
4. Смотрим индентификатор тома:
mount
5. Если вы не трогали название разделов во время установки, то название по умолчания должно остаться "Macintosh HD". Здесь и далее будем использовать его.
Записываем на листик индентификатор тома "/Volumes/Macintosh HD"
Внимание! Не перепутать с диском "/Volumes/Macintosh HD - Data"
Идентификатор выглядит примерно так dev/disk4s5 - в вашем случае цифры могут быть другие.
Внимание! Индентификатор тома и название тома в последующих примерах команд подставляем свои!
6. Отключаем том и копируем файлы агентов в отдельную папку bak:
umount /Volumes/Macintosh\ HD
mkdir /Volumes/Macintosh\ HD
mount -t apfs -rw /dev/disk2s5 /Volumes/Macintosh\ HD
cd /Volumes/Macintosh\ HD/System/Library/LaunchAgents
mkdir bak
mv com.apple.ManagedClientAgent.* bak/
mv com.apple.mdmclient.* bak/
cd ../LaunchDaemons
mkdir bak
mv com.apple.ManagedClient.* bak/
mv com.apple.mdmclient.* bak/
7. Отключаем Signed System Volume (SSV):
csrutil authenticated-root disable
8. Сохраняем текущий статус диска в снепшот, чтобы система не ругалась на изменение системных файлов:
bless --folder /Volumes/Macintosh\ HD/System/Library/CoreServices --bootefi --create-snapshot
9. Закрываем терминал и перезагружаемся.
Готово. Агенты MDM профиля больше системой не видятся.
Обновления будут работать. Если сделать чистую переустановку - процедуру придется повторить сначала. Иногда фикс слетает после установки мажорных обновлений.
Работоспособность метода проверена на Mac OS Big Sur до версии 11.1.
Дисклеймер
Описанные ниже действия лишают компанию или организацию, которая выдала вам компьютер, возможности следить за вашим устройством и получать дистанционно доступ к данным на нем.
Если обязательства перед компанией или закон ограничивает вас от выполнения подобных действий - НЕ ИСПОЛЬЗУЙТЕ приведенные ниже инструкции.
Если ваши этические принципы или иные убеждения не позволяют вам избавиться от контроля компании или организации - НЕ ИСПОЛЬЗУЙТЕ приведенные ниже инструкции.
В описанном методе не применяется какой-либо внешний инструментарий и используются только штатные средства Mac OS.
При использовании данного метода ОТКЛЮЧАЕТСЯ ШИФРОВАНИЕ FileVault накопителя. Если такое действие неприемлемо – НЕ ИСПОЛЬЗУЙТЕ данный метод. Тестирование с последующей активацией шифрования не проводилось.
Автор с уважением относится к компаниям и администраторам, которые настраивают системы контроля DEP и MDM.
Также автор уважает свободный осознанный выбор конечных пользователей по снятию систем слежения и дистанционного доступа к данным, если это не нарушает их обязательств перед компанией и закон.
Все инструкции пользователь выполняет на свой страх и риск. Автор не несет никакой ответственности на нанесенный вред или ущерб, в результате выполняемых действий, равно как не призывает к их выполнению.
vladdnepr
На каталине я решил проблему аналогично. Нашёл xml файл где прописано как часто выводить уведомление и закомментировал нужную секцию. Я купил б/у ноут с mdm профилем.
vladdnepr
На всякий случай приведу пример что я отредактировал на Catalina чтобы избавиться от уведомлений каждые 3 часа
Как видно я закомментировал ключ StartInterval. В моем случае это решило проблему с уведомлениями.