У меня есть пара демонов launchd, один из которых является истинным демоном (запускается от имени root), а другой - агент графического интерфейса, который работает на основе сеанса GUI (тип сеанса Aqua).
Мне нужно запретить пользователям, не являющимся администраторами, отключать агент уровня пользователя с помощью launchctl или, по крайней мере, выяснить, как перезагрузить агент из демона корневого уровня.
Лучшая статья, которую я нашел до сих пор, это эта , но она не предлагает каких-либо четких решений.
Казалось бы, самый простой способ - периодически извлекать текущего пользователя консоли из корневого демона, а затем запускать launchctl load ...
от имени этого пользователя, но я не совсем, если это возможно / как бы я поступил так (если Я просто запускаю load из демона, не выдавая себя за пользователя, он будет загружен под пользователем root, что бесполезно).
Есть идеи?