1. ホーム
  2. linux

[解決済み] 複数のsudoやsuコマンドから元のユーザーを見つけるにはどうしたらいいですか?

2023-01-01 07:34:40

質問

sudo や su を使ってスクリプトを実行するとき、オリジナルのユーザを取得したいです。 これは、複数の sudo または su は互いの内部で実行され、具体的には sudo su - .

どのように解決するのですか?

結果です。

使用方法 who am i | awk '{print $1}' または logname 以外の方法は保証されませんので

selfでログインしています。

evan> echo $USER
evan
evan> echo $SUDO_USER

evan> echo $LOGNAME
evan
evan> whoami
evan
evan> who am i | awk '{print $1}'
evan
evan> logname
evan
evan>

通常のsudoです。

evan> sudo -s
root> echo $USER
root
root> echo $SUDO_USER
evan
root> echo $LOGNAME
root
root> whoami
root
root> who am i | awk '{print $1}'
evan
root> logname
evan
root>

sudo su - :

evan> sudo su -
[root ]# echo $USER
root
[root ]# echo $SUDO_USER

[root ]# echo $LOGNAME
root
[root ]# whoami
root
[root ]# who am i | awk '{print $1}'
evan
[root ]# logname
evan
[root ]#

sudo su -; su tom :

evan> sudo su -
[root ]# su tom
tom$ echo $USER
tom
tom$ echo $SUDO_USER

tom$ echo $LOGNAME
tom
tom$ whoami
tom
tom$ who am i | awk '{print $1}'
evan
tom$ logname
evan
tom$