sudo [duplicate] を使用して現在のユーザーを取得します。

sudo [duplicate] を使用して現在のユーザーを取得します。

したがって、rootとして実行する必要があるシェルスクリプトがありますが、sudoを実行するユーザーとしてrunuserを使用してコマンドを実行したいとします。私はできますrunuser -u tux echo penguin。ただし、sudo実行中のスクリプトにユーザー名をハードコードする必要がないように、ルートシェルから root として実行しているユーザーのユーザー名を取得するにはどうすればよいですか。どうすればいいですか?

ベストアンサー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

おすすめ記事