Helper Tool 小记

159 阅读1分钟

是什么

在 macOS 系统中,Helper Tool 是一种运行在用户空间但可被授予提升权限的小型程序,通常由主应用程序通过 Service Management Framework(如 SMJobBlessSMAppService)安装和调用。它以二进制文件形式存在,存储在 /Library/PrivilegedHelperTools 目录下,并由 macOS 的 launchd 系统进行管理和启动。

核心作用:

  • 权限分离:将需要高权限的操作从主应用程序中剥离,提升系统安全性。
  • 执行特权任务:处理普通用户态进程无法完成的工作,如修改系统配置文件、安装驱动或访问受限资源。
  • 后台运行:以守护进程(daemon)或代理(agent)形式运行,持续响应主应用程序请求或提供后台服务。

了解更多:关于 launchd 的详细内容,可参考 eleven26 的文章:macOS launchd 不完全指南

用途

常见的应用场景:

  • 系统设置修改:
    • 更改网络配置、安装内核扩展(KEXT)、或修改系统级偏好设置。
    • 杀毒软件扫描系统文件或阻止某些操作。
  • 驱动程序或服务管理:
    • 安装或卸载驱动程序。
    • 管理后台服务,如VPN或文件同步工具。
  • 自动化任务:
    • 执行周期性任务或相应系统事件,如监控文件变化或处理特定硬件事件。

原理

未完待续。。。