我正在寻找/ usr/local/bin中的bash脚本,它执行以下操作。bash脚本last_sudo在auth.log中显示最后的sudo条目
如果当前用户是普通用户,则该脚本将显示auth.log中该用户的最后一个sudo条目。如果当前用户是根用户,则需要一个参数,这是用户在auth.log中显示最后一个sudo条目的用户名。对脚本使用进行必要的检查。以普通用户身份运行此脚本(即使是“测试”或未来用户)也不应要求在sudo之前使用此脚本。
样品执行:
$ /usr/local/bin/last_sudo (or, # /usr/local/bin/last_sudo john)
Dec 20 16:05:16 john-linux sudo: john : TTY=pts/0 ; PWD=/home/john/Desktop ; USER=root ; COMMAND=/sbin/reboot now
#!/bin/bash
i=$(whoami)
log=/var/log/auth.log
if [$i=!root]
egrep $i $log
我已删除了15%...误抄... 是的,我知道..最后,但我想从/var/log/auth.log只 –
到grep为什么不''如果[“$ EUID”-ne'0'];然后grep“$ USER”“/var/log/auth.log”; fi | tail -n 1'(假设你的'auth.log'是一个纯文本文件,而不是'wtmp'格式 - 否则你将需要'last'作为建议) –
是的..谢谢大卫和chooroba ..... ....如果当前用户是根,它需要一个参数,我该怎么做?或者,#/ usr/local/bin/last_sudo约翰 –