文档首页> 常见问题> 如何查看Linux服务器的登录用户?

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

发布时间:2025-03-31 19:51       

Linux服务器用户管理指南:如何查看当前登录用户

作为Linux系统管理员,实时掌握服务器登录用户情况是日常运维工作中至关重要的一环。本文将详细介绍多种查看Linux服务器登录用户的方法,帮助您全面了解系统访问状况,保障服务器安全。

一、为什么要监控登录用户?

在开始具体操作之前,我们先了解监控登录用户的重要性:

  • 安全审计:及时发现可疑登录行为
  • 资源管理:了解系统资源使用情况
  • 问题排查:当系统出现异常时快速定位责任人
  • 合规要求:满足企业安全审计规范

二、查看登录用户的5种常用方法

1. who命令 - 最简单直观的用户查看工具

who

执行结果示例:

root     pts/0        2023-05-15 09:30 (192.168.1.100)
user1    pts/1        2023-05-15 10:15 (192.168.1.101)

输出说明:

  • 第一列:用户名
  • 第二列:登录终端类型
  • 第三列:登录时间
  • 第四列:登录IP地址

2. w命令 - 详细显示用户活动信息

w

这个命令不仅显示登录用户,还包含:

  • 系统运行时间
  • 当前时间
  • 用户数
  • 每个用户的进程信息
  • CPU负载情况

3. users命令 - 快速查看用户名列表

users

这个命令只显示当前登录的用户名列表,适合快速查看:

root user1 user1

注意:重复的用户名表示该用户有多个登录会话。

4. last命令 - 查看历史登录记录

last

这个命令显示系统的登录历史记录,包括:

  • 所有用户的登录/登出记录
  • 系统重启记录
  • 登录持续时间

如需查看特定用户的记录,可以:

last username

5. finger命令 - 获取用户详细信息

finger username

这个命令可以提供更详细的用户信息,包括:

  • 用户真实姓名
  • 登录shell
  • 家目录
  • 邮件状态
  • 计划文件内容

三、高级技巧

1. 实时监控登录用户

使用watch命令可以实时监控用户登录情况:

watch -n 5 who

这将以5秒间隔刷新who命令的输出。

2. 查看SSH登录用户

查看当前SSH会话:

ss | grep ssh

或者查看SSH登录日志:

cat /var/log/auth.log | grep sshd

3. 自定义显示格式

使用awk处理who命令输出:

who | awk '{print $1,$5}'

这将只显示用户名和登录IP地址。

四、安全建议

  • 定期检查/var/log/secure和/var/log/auth.log日志文件
  • 设置登录提醒,当有root用户登录时发送告警
  • 限制root用户直接登录,改用普通用户+sudo
  • 配置SSH密钥认证,禁用密码登录
  • 使用fail2ban等工具防止暴力破解

五、总结

掌握Linux服务器登录用户查看方法是系统管理员的基本技能。本文介绍的who、w、users、last和finger命令各有侧重,适用于不同场景。建议结合使用这些工具,并设置自动化监控,才能全面保障服务器安全。

在实际运维工作中,建议将用户监控与日志分析、入侵检测系统结合使用,构建多层次的安全防护体系。同时,定期审计用户权限,删除不必要的账户,也是保障系统安全的重要措施。