簡體   English   中英

如何保護每個用戶GUI啟動的代理程序免受非管理員用戶的禁用?

[英]How do I secure a per user GUI launchd agent against a non admin user disabling it?

我有一對launchd守護程序,其中一個是真正的守護程序(以root身份運行),其中一個是GUI代理,它按GUI會話(會話類型Aqua)運行。

我需要防止非管理員級別的用戶使用launchctl禁用用戶級別的代理,或者至少要弄清楚如何從根級別的守護程序重新加載代理。

到目前為止,我發現的最好的文章是這篇文章,但實際上並沒有提供任何明確的解決方案。

最簡單的方法似乎是在root守護進程中定期獲取當前控制台用戶,然后以該用戶身份運行launchctl load ... ,但是如果可行,我並不完全同意(如果我這樣做的話)只需從后台駐留程序運行加載而無需冒充用戶,它將在root用戶下加載,這沒有好處)。

有任何想法嗎?

您可以在SIGTERM處理程序中檢查授權,請參閱http://developer.apple.com/mac/library/technotes/tn2002/tn2095.html以獲得示例自定義授權檢查

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM