如何查看Linux用户的登录IP last命令过滤技巧

要查看linux中某个用户从哪个ip登录过,可通过last命令结合过滤实现。具体步骤:1.使用last 用户名查看指定用户登录记录,第三列为ip;2.结合grep过滤特定ip,如last 用户名 | grep “ip”;3.用last | grep “ip”反向查哪些用户曾用该ip登录;4.通过last | awk ‘{print $1, $3}’提取用户名和ip字段;5.用last | awk ‘{print $3}’ | sort | uniq列出所有去重的登录ip。注意:本地登录显示为:0或localhost,跳板机登录需结合/var/log/secure分析,建议用sudo执行确保权限。

如何查看Linux用户的登录IP last命令过滤技巧

查看linux用户登录IP,尤其是想找出某个用户从哪个IP登录过,其实不算难。last 命令是常用的工具之一,但默认输出信息多、杂,直接看容易眼花。其实只要掌握几个过滤和组合技巧,就能快速定位目标IP。

如何查看Linux用户的登录IP last命令过滤技巧


last命令基础:看哪些用户登录过

last 命令默认会列出所有用户的登录记录,包括终端、IP、登录时间等信息。比如:

如何查看Linux用户的登录IP last命令过滤技巧

last | head -20

你会看到类似这样的输出:

user1   pts/0        192.168.1.100    Mon Jul  1 10:00 - 10:30  (00:30) user2   pts/1        10.0.0.5         Sun Jun 30 15:00 - 15:45  (00:45) reboot  system boot  5.4.0-122-generi Sun Jun 30 14:55

重点看第三列,就是登录的IP地址。如果你只想查某一个用户,可以直接加用户名作为参数:

如何查看Linux用户的登录IP last命令过滤技巧

last user1

这样就能只看 user1 的登录记录了。


结合grep过滤IP:缩小范围找特定登录来源

如果你想查找某个用户从特定IP登录的历史记录,可以结合 grep 使用:

last user1 | grep "192.168.1.100"

这条命令的意思是:在 user1 的登录记录里,筛选出包含 192.168.1.100 的行。

也可以反过来,先不管用户是谁,只想知道某个IP有没有登录过:

last | grep "10.0.0.5"

这种方式适合排查可疑登录行为,或者确认某个外部IP是否连接过服务器。


高级用法:配合awk提取关键字段

有时候你可能只需要IP和用户名,不需要其他信息。可以用 awk 提取关键字段:

last | awk '{print $1, $3}'

这样输出就只有用户名和IP两列,更直观。

如果还想进一步去重,看看有哪些不同的IP登录过:

last | awk '{print $3}' | sort | uniq

这段命令会列出所有出现过的登录IP,并去重显示。


小技巧提醒:注意IP伪装和本地登录

有些时候你可能会看到像 :0 或者 localhost 这样的登录记录,这些通常是本地图形界面登录,没有实际IP。

还有一些可能是通过跳板机或代理登录的,这时候显示的是中间服务器的IP,不是最终来源。这种情况下需要结合其他日志(如 /var/log/secure)来进一步分析。

另外,别忘了权限问题:普通用户运行 last 可能看不到全部记录,建议用 sudo 来确保完整数据。


基本上就这些操作了,不复杂但挺实用。熟练使用 last 搭配 grep 和 awk,基本能满足大多数登录IP查询的需求。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享