获取当前使用 sudo 的用户

获取当前使用 sudo 的用户

因此,假设我有一个应该以 root 身份运行的 shell 脚本,但我想使用 runuser 作为运行 sudo 的用户来执行命令。我可以runuser -u tux echo penguin。但是,如果我想获取sudo以 root 身份在 root shell 中运行的用户的用户名,以避免将用户名硬编码到脚本中运行,该怎么办?我怎样才能做到这一点?

答案1

使用SUDO_USER变量:

$ env | grep SUDO
$ sudo env | grep SUDO
SUDO_COMMAND=/sbin/env
SUDO_USER=terdon
SUDO_UID=1000
SUDO_GID=1000

因此,您可以检查$SUDO_USER变量是否已设置:

if [ -n "$SUDO_USER" ]
then
   # run commands related to the original invoking user
fi

相关内容