![检查谁通过“su -”登录的脚本](https://linux22.com/image/137552/%E6%A3%80%E6%9F%A5%E8%B0%81%E9%80%9A%E8%BF%87%E2%80%9Csu%20-%E2%80%9D%E7%99%BB%E5%BD%95%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我需要找到一种方法来列出使用 root 帐户的所有当前用户,su -
例如:
鲍勃@测试:~$ su - 根@测试:~#
alice@test:~$ su - 根@测试:~#
现在列出使用 root 帐户的普通用户(此时)。
你有什么想法吗?
答案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