unix一条命令修改last日志

unix自带了wtmp格式转换工具因此无需写程序条一命令即可修改last日志。

1
/usr/lib/acct/fwtmp < /var/adm/wtmpx | sed "s/192.168.8.88/localhost/g" | /usr/lib/acct/fwtmp -ic > /var/adm/wtmpx

  原理是先用fwtmp将wtmpx文件转换成ascii格式再用sed将登陆IP:192.168.8.88替换成localhost,(删除指定IP修改sed处)最后再用fwtmp转换成二进制格式覆盖回去。

同样也可以用于隐藏登陆用户

1
/usr/lib/acct/fwtmp < /var/adm/utmpx | sed “/admin/d” | /usr/lib/acct/fwtmp -ic > /var/adm/utmpx