售前咨询400-838-0503

如何查看Linux服务器的用户登录记录?

发布:2025-04-27 10:55

Linux服务器用户登录记录查看全攻略

作为Linux系统管理员,监控用户登录活动是保证服务器安全的重要环节。本文将详细介绍7种查看Linux用户登录记录的方法,帮助您全面掌握服务器访问情况。

1. 使用last命令查看登录历史

last命令是最常用的查看登录记录的工具,它会读取/var/log/wtmp文件并显示系统登录记录。

last
last -n 10  # 查看最近10条记录
last username  # 查看特定用户的登录记录

输出内容包括:用户名、登录终端、登录IP、登录时间、退出时间等信息。

2. 通过/var/log/secure文件查看认证日志

对于使用SSH登录的系统,/var/log/secure(RHEL/CentOS)或/var/log/auth.log(Debian/Ubuntu)记录了详细的认证信息:

sudo cat /var/log/secure | grep "Accepted password"
sudo cat /var/log/auth.log | grep "sshd"

这些日志包含登录时间、来源IP、使用的认证方式等关键信息。

3. 使用who命令查看当前登录用户

要查看当前有哪些用户登录到系统,可以使用who命令:

who
who -uH  # 显示更详细的信息

输出结果会显示登录用户名、终端设备、登录时间等信息。

4. 检查/var/log/wtmp和/var/log/btmp文件

这两个二进制文件分别存储了成功的登录记录和失败的登录尝试:

  • /var/log/wtmp - 成功的登录记录
  • /var/log/btmp - 失败的登录尝试

可以使用last命令读取wtmp,使用lastb命令读取btmp:

sudo lastb -n 5  # 查看最近5次失败的登录尝试

5. 使用ac命令统计用户连接时间

ac命令可以统计用户的连接时间,需要先安装acct包:

sudo apt-get install acct  # Debian/Ubuntu
sudo yum install acct     # RHEL/CentOS

ac -p  # 显示所有用户的连接时间统计

6. 配置更详细的日志记录

可以通过修改SSH配置来获取更详细的登录信息:

sudo nano /etc/ssh/sshd_config

添加或修改以下参数:

LogLevel VERBOSE
PrintLastLog yes

然后重启SSH服务使配置生效。

7. 使用第三方监控工具

对于需要长期监控的场景,可以考虑使用专业工具:

  • OSSEC - 开源的入侵检测系统
  • Fail2Ban - 防止暴力破解的工具
  • Splunk - 商业日志分析平台

总结

监控Linux服务器登录记录是系统安全的基础工作。通过本文介绍的7种方法,您可以全面掌握服务器的用户登录情况,及时发现异常访问行为。建议定期检查登录日志,并设置日志轮转以防止日志文件过大。

实用小贴士

  • 定期备份重要日志文件
  • 设置日志文件权限为600,防止未授权访问
  • 考虑将日志发送到远程日志服务器
  • 对于重要服务器,建议实施双因素认证

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单