Taskgated нет подписи для PID

Я пытаюсь установить самодельный LaunchDaemon в OS X 10.10, однако, я сталкиваюсь с некоторыми странными ошибками и не могу найти решение .. надеюсь, кто-то знает ответ, я гуглю свою задницу для этого ..

в основном у меня есть простая программа (написанная на C ++), установленная в / Library / Application Support / myfolder / myprogram. Я установил разрешение следующим образом:

chown root /Application Support/myfolder/myprogram
chmod 644 /Application Support/myfolder/myprogram

Я получил .plist для папки LaunchDaemons, установленной правильно (я уверен в этом).

Теперь, когда я загружаю свой компьютер, я нахожу это в своих журналах (цикл):

taskgated: no signature for pid=xxx (cannot make code: UNIX[no such process])
com.apple.xpc.launchd: (my.launchdaemons.plist) Service exited duo to signal: Killed: 9
com.apple.xpc.launchd: (my.launchdaemons.plist) Service ran only for 0 seconds. Pushing respawn out by 10 seconds.

Ладно, похоже, что демон, управляемый заданиями, думает, что моя программа «небезопасна», и поэтому блокирует ее выполнение. Предполагаю, что это основано на проверке подписи, я не подписывал свою программу … и я не хочу это делать.

Поэтому я попытался отключить эту проверку, изменив taskgated.plist, добавив аргумент -p при запуске taskgated, но это не сработало, но все равно получала ту же ошибку.

Затем я попытался отключить проверку подписи во всей системе (я знаю, что это большой риск для безопасности, но это было только для целей тестирования) с помощью:

sudo spctl --master-disable

Но угадайте, что: Все еще получая ту же ошибку (даже после перезагрузки).
Простое уничтожение Taskgated также не помогает (вы не можете запустить какую-либо программу, кроме тех, которые были открыты до убийства Taskgated).

Итак, есть ли какой-нибудь способ обойти эту надоедливую проверку подписи или какой-то другой способ фактически запустить мою программу?

На Mac я скомпилировал программу (это не тот компьютер, на котором я пытаюсь ее установить), она просто работает нормально. Я имею в виду, я могу запустить мою программу из терминала, как:

bash$> ./myprogram
<output>
bash$>

но на компьютере я хочу установить его, я получаю это:

bash$> ./myprogram
Killed: 9
bash$>

Просто перенес программу с помощью USB Stick с одного компьютера на другой … Не могу понять, в чем дело …: /

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]