gpt4 book ai didi

Linux RADIUS 日志

转载 作者:太空宇宙 更新时间:2023-11-04 12:23:44 30 4
gpt4 key购买 nike

我有一个名为 Radius 的程序可以验证用户登录。运行在CentOS服务器上

日志在/var/log/radius.log 中

它们如下

Mon Jul 24 22:17:08 2017 : Auth: Login incorrect: [faaiz.aleem] (from client PTCL-VPN port 28 cli 116.213.34.97) DeviceIP: 192.168.30.101
Mon Jul 24 23:32:41 2017 : Auth: Login OK: [muhammad.razzaq] (from client PTCL-VPN port 29 cli 45.116.233.62) DeviceIP: 192.168.30.101
Tue Jul 25 03:06:08 2017 : Auth: Login OK: [sadiq.akhter] (from client devices port 1 cli 192.168.141.1) DeviceIP: 1.8.3.11
Tue Jul 25 03:07:54 2017 : Auth: Login OK: [sadiq.akhter] (from client devices port 1 cli 10.88.33.2) DeviceIP: 1.6.16.1
Tue Jul 25 09:44:39 2017 : Auth: Login incorrect: [shariq.iqbal] (from client devices port 1 cli 10.10.10.173) DeviceIP: 1.6.10.11

现在我想为每个用户整理它们,例如 sadiq.akhter 与他们上次登录的对比。请建议一个好的 bash 脚本或 Linux 命令来执行此操作。我会感谢你的。

最佳答案

一个快速解决方案,只获取定义用户的行(并写入文件):

grep "USERNAME" /var/log/radius.log > log_for_user.log

你从 grep 得到的最后一行应该是最后的登录记录。

您可以使用 tac 以相反的顺序打印您的日志文件,并使用 "grep -m1 .." 只获得一个(最后一个)匹配项。

返回日志中带有 USERNAME 的最后一行:

tac /var/log/radius.log | grep -m1 "USERNAME"

所以在 shell 脚本中它可以像这样,将所有最近的条目返回给所有用户:

#!/bin/bash
for i in `cat USERLIST`
do
tac LOGFILE | grep -m1 $i
done

USERLIST 是一个列出所有用户名的文件,用换行符分隔,LOGFILE 是您的 radius 日志文件。

关于Linux RADIUS 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45295204/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com