"su -"で誰がログインしたかを確認するスクリプト

"su -"で誰がログインしたかを確認するスクリプト

rootアカウントを使用して現在のすべてのユーザーを一覧表示する方法を見つける必要がありますsu - 。たとえば、次のようになります。

bob@test:~$ su -
ルート@テスト:~#
alice@test:~$ su -
ルート@テスト:~#

現在のルートアカウントを使用している一般ユーザーが一覧表示されます。

どんなアイデアがありますか?

答え1

数時間後、私はそれをしました:)

将来のユーザーのための出力:

who | sort -k2 > /tmp/whoresult ; pgrep -x su | xargs -i ps hu -p{} | awk '{printf $7 " ";for (i=11; i<=NF; i++) printf $i " "; printf "\n"}' | sort -k1 | join -1 2 -2 1 /tmp/whoresult - | awk '{print $2  "("$8")"}' | sed -e "s|()|(root)|g" | sort | uniq

答え2

grep "Successful su for root" /var/log/auth.log|sed -e 's/.*by //'|sort -u

関連情報