前言

Linux系统中,用户登录信息和登录失败记录对于系统安全和故障排查至关重要。通过系统提供的命令,我们可以详细查看用户的登录历史、登录失败次数、登录时间等信息。本文将详细介绍常用的Linux命令,并结合示例进行说明。

1. 查看当前登录用户

  • who命令:
  • 功能:显示当前登录到系统的用户信息。
  • 语法:
who
  • 示例:
[root@localhost ~]# who
root     pts/0        2023-11-23 14:32 (192.168.1.100)
  • w命令:
  • 功能:显示当前登录用户以及系统负载等信息。
  • 语法:
w
  • users命令:
  • 功能:仅显示当前登录的用户名。
  • 语法:
users
  • whoami命令:
  • 功能:显示当前登录用户的用户名。
  • 语法:
whoami

2. 查看历史登录记录

  • last命令:
  • -n: 显示最近的n次登录
  • -x: 显示所有登录信息,包括失败的登录
  • -f /var/log/wtmp: 指定日志文件
  • 功能:显示最近登录的用户和时间。
  • 语法:
last [选项]
  • 常用选项:
  • 示例:
last -n 5
  • lastlog命令:
  • 功能:显示每个用户的最后一次登录信息。
  • 语法:
lastlog [用户名]

3. 查看登录失败记录

  • lastb命令:
  • 功能:显示登录失败的记录。
  • 语法:
lastb

4. 查看系统日志

  • /var/log/secure:
  • 记录了系统安全相关的事件,包括登录、认证失败等。
  • 使用 grep 命令可以筛选出特定的登录失败信息。
  • 示例:
grep "Failed password" /var/log/secure
  • /var/log/auth.log:
  • 记录了系统认证相关的事件。
  • 可以使用 grep 命令筛选出登录失败信息。
  • journalctl命令:
  • 系统日志工具,可以查看系统的所有日志。
  • 使用 journalctl -u sshd 可以查看sshd服务的日志。

5. 其他工具

  • fail2ban:
  • 一个用来禁止IP地址的入侵防护工具,可以根据登录失败次数自动封禁IP。

6. 运维案例

  • 查找最近登录的用户:
last -n 10
  • 查找用户lastuser的最后一次登录时间:
lastlog lastuser
  • 查看最近5次登录失败的记录:
lastb -n 5
  • 统计某个IP的登录失败次数:
grep "Failed password for" /var/log/secure | grep "192.168.1.100" | wc -l

总结

通过以上命令,我们可以详细了解Linux系统的登录情况,包括成功登录、失败登录、登录时间、IP地址等信息。这些信息对于系统安全、故障排查和审计都具有重要意义。