Подтвердить что ты не робот

Как новая модель безопасности Lion повлияет на такие вещи, как Python?

Мне любопытно узнать, как новая модель безопасности в OS X Lion повлияет на будущее. В частности, я задаю вопрос о правах и песочнице.

Это не вопрос того, хорошие ли идеи. Скорее, это вопрос наилучшего предположения о том, что произойдет в будущем.

Мне интересны такие вещи, как Python. Моя компания делает небольшое приложение Python для чрезвычайных ситуаций без использования программного обеспечения на базе Интернета. Это включает чтение и запись в файловую систему.

Наше приложение не имеет прав, а именно потому, что это просто код Python, и мы не делаем никакой упаковки Cocoa. Когда требования к Mac App Store требуют, чтобы все приложения были изолированы и перечисляли их права вступать в силу, мне интересно, будет ли Apple распространять обновление операционной системы и сказать: "Вот как мы сейчас делаем безопасность, и если ваш приложение не соответствует нашей модели безопасности, оно не будет работать, потому что оно не защищено".

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

Мне также интересно, должно ли такое обновление появиться для Lion, если такое же обновление будет выпущено для Leopard или Snow Leopard. Моя мысль была бы не Leopard, поскольку это два поколения за текущей ОС. Snow Leopard зависит от того, как долго Apple хочет поддерживать более старую ОС.

Итак, теперь я открываю его разработчикам Apple, чтобы говорить об этом на эту тему и, возможно, генерировать мысли, где раньше их не было.

4b9b3361

Ответ 1

Если вы могли бы встроить Python вместе со своим script и упаковать его в .app, используя что-то вроде py2app, я бы предположил вы можете добавить/отредактировать Info.plist, чтобы удовлетворить требования Apple для подписания. Аналогично для прав, я бы предположил, что вы можете отредактировать файл .app entitlements.plist. Я думаю, что песочница sandboxd не является специфичной для языка, она просто разрешает/блокирует процесс доступа к устройствам и файлам (например, не предоставляя ограниченные дескрипторы файлов). Имейте в виду, что встроенный интерпретатор Python по умолчанию должен иметь доступ к некоторым правам для инициализации (потому что он не может быть создан с помощью песочницы).

Для устройств iOS (которые должны быть изолированы от песка для продажи в магазине) политика Apple (раздел 3.3.2) программы разработчиков программного обеспечения iOS:

Приложение не может загрузить или установить исполняемый код. Интерпретированный код может использоваться только в приложении, если все сценарии, код и интерпретаторы упакованы в приложение и не загружены.

Похоже, что вышеупомянутое решение, если это возможно, будет удовлетворять этому требованию (предполагая, что подобное приложение будет сделано для приложений OS X). Однако, если вы не заинтересованы в распространении своего приложения в App Store, я не думаю, что вам есть о чем беспокоиться. Я очень сомневаюсь, что в ближайшее время они потребуют подписи кода или прав на запуск приложений на вашем компьютере (вместо этого они просто изолируют тех, что продаются в App Store, что делает его "безопасным" местом для приема приложений).