создание установщика Mac OSX, чтобы установленное приложение не отключало брандмауэр

Прямо сейчас я раздаю файл .app людям в моей организации. Я перетаскиваю его в /Applications, аутентифицируясь как root, но каждый раз, когда пользователи запускают программу, они получают предупреждение брандмауэра. (Приложение проверяет наличие обновлений при запуске — для нас это очень важно). Поскольку пользователи не являются администраторами, они не могут пройти аутентификацию, чтобы сообщения исчезли. Будет ли приложение, установленное с помощью mpkg, вызывать брандмауэр таким образом, что конечным пользователям потребуется администратор для проверки обновлений? Есть ли сценарий после установки, который я могу включить для настройки брандмауэра для моего приложения? Конечная цель для меня состоит в том, чтобы администратор аутентифицировался для запуска установщика. После установки администратор выйдет из системы, обычные пользователи войдут в систему и запустят приложение без каких-либо предупреждений брандмауэра.

РЕДАКТИРОВАТЬ: я должен упомянуть, что минимальная версия в организации — 10.5, но было бы неплохо, если бы решение работало и на Tiger.


person Yuvi Masory    schedule 02.02.2010    source источник


Ответы (2)


Если вы подписываете код приложения, даже если оно просто использует самозаверяющий сертификат, пользователю будет предложено утвердить запуск приложения только один раз. Последующие обновления, при условии, что сертификат подписи тот же, не вызовут диалоговое окно.

Дополнительная информация находится в документах по подписыванию кода и в этом техническая заметка.

person Rob Keniger    schedule 02.02.2010

Я не уверен, но если ваши клиенты Mac настроены на использование параметров брандмауэра уровня приложения, пользователям потребуется пройти аутентификацию, чтобы разрешить приложение. В противном случае любое приложение может таким же образом обойти брандмауэр.

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

Одним из решений является изменение политик, чтобы машины OS X не блокировали исходящие соединения для каждого приложения.

person richardtallent    schedule 02.02.2010
comment
Спасибо за ответ. проверка обновлений не изменяет программу, она только информирует пользователя. Я понимаю, что для изменения разрешений необходима аутентификация, но сам установщик уже аутентифицирован. Если бы я мог каким-то образом изменить настройки брандмауэра на уровне приложения из сценария, сценарий с повышенными правами мог бы выполнить эту работу во время установки. - person Yuvi Masory; 02.02.2010
comment
Я в той же ситуации - во время установки .pkg у меня есть права root, поэтому я хотел бы добавить исключения брандмауэра. В моем случае есть несколько программных компонентов (локальный сервер, а также клиентское приложение, ориентированное на пользователя), и оба вызывают вопрос о брандмауэре. - person James Turner; 24.12.2010