有关如何从命令行以root身份加载具有当前用户权限的plist的想法吗?
我目前正在管理30台远程OSX机器。我决定使用远程桌面对每台计算机上的/ Library / LaunchAgent plist文件进行更新。由于每台机器都需要一个独特的更新,我不愿意在每台机器上以当前登录用户的身份执行此操作。我正在远程桌面上以root用户身份进行更新。我的愿望是使用launchctl
停止plist,更新plist,然后重启plist。
我的过程就是这样:
launchtl bsexec PID launchctl unload /Library/LaunchAgents/plist
以root身份卸载/ Library / LaunchAgent plist。 bsexec PID
参数允许root用户卸载由非root launchd
进程管理的plist。这很有效。launchctl
重新启动/ Library / LaunchAgent plist。这是我的流程崩溃的地方。我无法使用launchctl bsexec PID load /Library/LaunchAgents/plist
启动我的plist - 我收到一个无效的参数错误。 有关如何以root身份使用当前用户权限重新启动服务的任何想法吗?
答案 0 :(得分:0)
尝试在第二次启动之前添加'sudo'
sudo launchctl bsexec PID sudo launchctl load /Library/LaunchAgents/Your.plist
答案 1 :(得分:0)
如果这仍然相关(对我而言),我希望这个答案有所帮助:
$sudo launchctl bsexec PID /usr/bin/sudo -u USER /bin/launchctl load /Library/LaunchAgents/com.example.agent.plist
这种方式对我有用,可以在正确的引导程序中加载代理而不会出错。
KBAI