公司安全检查,规定所有登录必须采用管控平台登录,而工作中都是使用跳板机登录服务器,为了应付检查,修改了登录文件/var/log/wtmp,由于该文件为二进制文件,普通编辑器无法编辑,而网络上提供的几个小工具wipe、logtamper等要不找不到下载的地方,要不编译后无法使用,废话少说,直接上代码,实现替换登录IP地址为192.168.205.*随机一个。
#!/bin/bash
tempfile=/var/log/test #定义临时文件
wtmpfile=/var/log/wtmp #定义目标日志文件
#函数实现某个范围的随机数
function rand(){
min=$1
max=$(($2-$min+1))
num=$(($RANDOM+1000000000)) #增加一个10位的数再求余
echo $(($num%$max+$min))
}
rnd=$(rand 4 13)
utmpdump $wtmpfile > $tempfile #将文件生成到临时文件
cat $tempfile
nu=`cat $tempfile | wc -l`
for ((i=1;i<=$nu;i++))
do
echo $i
sed -ri ''$i's/[0-9]{1,3}(\.[0-9]{1,3}){3}/192.168.205.'$(rand 4 13)'/g' $tempfile #替换IP地址
done
cat $tempfile
utmpdump -r $tempfile > $wtmpfile #写到目标文件中