如何在 sudo 脚本 (OSX) 中以登录用户身份执行?

Nik*_*kov 4 sudo shell-script not-root-user command exec

有没有办法像这样切换上下文?

在我的特定情况下,脚本是安装程序 postinstall 脚本,它仅需要对某些任务具有 sudo 权限,并且需要登录用户在脚本末尾执行 LaunchAgent。

如果此代理以 sudo 权限启动,则用户特定(放置在用户目录中)的日志和其他资源的路径会变得混乱。

Nik*_*kov 5

这对我有用:

USER_NAME=$(printf '%s' "${SUDO_USER:-$USER}")

sudo -u $USER_NAME <command-to-exec-in-nonroot-context>
Run Code Online (Sandbox Code Playgroud)