0

私はlaunchdデーモンのペアを持っています。そのうちの1つは真のデーモン(rootとして実行)であり、もう1つはGUIセッションごとに実行されるGUIエージェント(セッションタイプAqua)です。

管理者レベル以外のユーザーがlaunchctlを使用してユーザーレベルのエージェントを無効にできないようにするか、少なくともルートレベルのデーモンからエージェントをリロードする方法を理解する必要があります。

私がこれまでに見つけた最高の記事はこれです、それは実際には明確な解決策を提供していません。

最も簡単な方法は、ルートデーモンで現在のコンソールユーザーを定期的にフェッチしてからlaunchctl load ...そのユーザーとして実行することですが、それが可能であるかどうか/これをどのように実行するか(ユーザーを装わずにデーモンを使用すると、rootユーザーの下にロードされますが、これは役に立ちません)。

何か案は?

4

1 に答える 1

0

SIGTERM ハンドラーで承認を確認できます。サンプルのカスタム承認チェックについては、 http: //developer.apple.com/mac/library/technotes/tn2002/tn2095.html を参照してください。

于 2009-12-06T22:29:08.993 に答える