繁体   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