是什么
在 macOS 系统中,Helper Tool 是一种运行在用户空间但可被授予提升权限的小型程序,通常由主应用程序通过 Service Management Framework(如 SMJobBless 或 SMAppService)安装和调用。它以二进制文件形式存在,存储在 /Library/PrivilegedHelperTools 目录下,并由 macOS 的 launchd 系统进行管理和启动。
核心作用:
- 权限分离:将需要高权限的操作从主应用程序中剥离,提升系统安全性。
- 执行特权任务:处理普通用户态进程无法完成的工作,如修改系统配置文件、安装驱动或访问受限资源。
- 后台运行:以守护进程(daemon)或代理(agent)形式运行,持续响应主应用程序请求或提供后台服务。
了解更多:关于 launchd 的详细内容,可参考 eleven26 的文章:macOS launchd 不完全指南。
用途
常见的应用场景:
- 系统设置修改:
- 更改网络配置、安装内核扩展(KEXT)、或修改系统级偏好设置。
- 杀毒软件扫描系统文件或阻止某些操作。
- 驱动程序或服务管理:
- 安装或卸载驱动程序。
- 管理后台服务,如VPN或文件同步工具。
- 自动化任务:
- 执行周期性任务或相应系统事件,如监控文件变化或处理特定硬件事件。
原理
未完待续。。。