如何阻止macOS非管理员用户执行launchctl unload命令?
如何阻止macOS非管理员用户执行launchctl unload命令?
我完全理解你遇到的困境——你在Mac上用Cold Turkey这款口碑不错的自控软件,它本身功能很强,但架不住非管理员用户能打开终端,执行这条命令来绕过限制:launchctl unload ~/Library/LaunchAgents/launchkeep.cold-turkey.plist
你甚至尝试过把对应的.plist文件移到LaunchDaemons文件夹并做权限调整,但没能解决问题,还专门咨询了Cold Turkey的开发者Felix,想找到不用管理员权限就能阻止非管理员用户执行这条命令的办法。
这里直接给你明确的结论:
Felix回应称,受macOS的系统设计逻辑限制,再加上Safari扩展运行所需的特定权限要求,根本没办法阻止非管理员用户执行这个命令。
简单解释下为什么你移文件的操作没用:LaunchDaemons目录下的任务是系统级的,默认以root身份运行,但Cold Turkey的Safari扩展需要和当前用户的进程交互,移到系统目录后权限不匹配,自然无法正常工作,这也是开发者说无法实现的核心原因之一。
备注:内容来源于stack exchange,提问作者user1908249




