"su -"를 통해 누가 로그인했는지 확인하는 스크립트

"su -"를 통해 누가 로그인했는지 확인하는 스크립트

루트 계정을 사용하여 모든 현재 사용자를 나열하는 방법을 찾아야 합니다 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

관련 정보