Как новая модель безопасности Lion повлияет на такие вещи, как Python? - PullRequest
11 голосов
/ 14 сентября 2011

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

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

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

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

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

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

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

1 Ответ

6 голосов
/ 05 ноября 2011

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

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

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

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

...