Хотя управление большинством наших учетных записей осуществляется через менеджера рабочей группы, мы часто настраиваем локальные учетные записи, которые будут использоваться для государственных экзаменов в конце учебного года в учебном заведении K-12, где я работаю.
Было бы неплохо заблокировать компьютеры, чтобы студенты могли использовать свой текстовый процессор только во время экзамена и не имели доступа к Интернету. Я создал тестовую учетную запись локального пользователя и изменил некоторые настройки в родительском контроле. Затем я смог их экспортировать:
dscl . -mcxexport /Users/testuser -o parental_controls.plist
И повторно импортируйте их для хорошего эффекта:
dscl . -mcximport /Users/testuser parental_controls.plist
Наблюдая за файловой системой при этом, я заметил, что приложения, которые я внес в белый список, были подписаны в фоновом режиме родительским контролем, и это было запомнено в настройках. Мой экспортированный список выглядит следующим образом (изменен для удобства чтения):
<key>appID</key>
<data>+t4MAAAAACgAAAABAAAACAAAABQOiCi6O1EFrBaCbNrFU4pEjwH8zg==</data>
<key>bundleID</key>
<string>com.microsoft.Word</string>
<key>displayName</key>
<string>Word</string>
<key>path</key>
<string>/Applications/Microsoft Office 2008/Microsoft Word.app</string>
Я нашел хорошее руководство по код-подписи. К сожалению, в нем говорится, что вам понадобится собственный сертификат для подписи приложений. [И поскольку это уже становилось больше работы, чем я предполагал, и я могу просто перейти к 60 компьютерам вручную и сделать это, написав цепочку ключей для создания нового сертификата кодовой подписи, чтобы затем я мог подписать некоторые конкретные приложения, чтобы затем включить родительский контроль кажется местом, где таятся безумие.]
Я проверил, что произойдет, если я удалю ключ и управляемый пользователь не сможет запустить приложение.
Есть ли разумный способ
Я не уверен, что это то, что вы ищете, но вы можете ограничить использование приложения с помощью Workgroup Manager на уровне компьютерной группы.
Очевидно, вам понадобится OS X Server с OpenDirectory. Затем вы можете определить группу компьютеров в диспетчере рабочих групп, добавить компьютеры Mac, которые вы хотите использовать для экзамена, и в диалоговом окне настроек для этой группы ограничить количество приложений. Я предполагаю, что вам понадобится одна и та же версия рассматриваемых приложений на каждом компьютере.
Но я должен признать, что я никогда не тестировал это, просто сделал короткое подтверждение концепции много лет назад, когда я играл с Tiger Server перед его развертыванием.
Я действительно хотел упомянуть, что когда вы настраиваете белые / черные списки приложений в Workgroup Manager, это позволит вам определять область действия по пути, а не только по подписанному ключу приложения. Это может быть даже возможно сделать это для локального пользователя или группы, а затем импортировать / экспортировать значения.