[英]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.