rootでsuを実行すると、私のユーザー名を見るためのコマンドはありますか?

rootでsuを実行すると、私のユーザー名を見るためのコマンドはありますか?

Redhat ボックスに対する sudo 権限があります。シェルsudo su -からrootにする必要がある場合は、どのコマンドを実行して使用しているユーザー名を確認できますか?

答え1

シェルの親プロセスはでsu -、対応する親プロセスはですsudo su -。したがって、sudo su -親プロセスを実行しているユーザーを見つけるには、2つのステップで後ろに検索する必要がありますps

ps -o user= $(ps -o ppid= $(ps -o ppid= $PPID))

sudo su -ただし、sudoバージョンが使用するには古すぎない場合は、これを実行しないでくださいsudo -i。 Sudoは、環境変数をSUDO_USERsudoを実行しているユーザーの名前に設定します。環境を傷つけているsudo su - ため見えません。su -

$ sudo -i
# echo $SUDO_USER
gilles

答え2

コマンドを実行すると、whoami次の結果が返されます。

gladimdim tty2        2011-01-27 23:54 (:0)

太字の「gladimdim」は、元のシステムにログインしたユーザーです。

答え3

私は彼が意味するものが次のとおりだと思います。

$ who -am i

次のように同じように解析できます。

$ who -am

「-a」は現在ログインしているすべてのユーザーをリストし、「-m」はSTDINに関連付けられているユーザーをフィルタリングします(実際には1つでなければなりません)。つまり、誰が端末にログインしたのかを伝えます。これがあなたが探しているものです。

$ who -am

関連情報