Linux云服务器查看当前登录用户的5种高效方法
在Linux云服务器管理中,实时监控登录用户是系统管理员的基础技能。本文将详细介绍5种专业方法,帮助您全面掌握服务器登录状态。
一、who命令 - 最基础的登录查询工具
作为Linux系统最古老的命令之一,who命令可以显示当前所有登录用户的基本信息:
$ who
root pts/0 2023-08-15 09:30 (192.168.1.100)
user1 pts/1 2023-08-15 10:15 (203.156.34.78)
输出包含:用户名、终端类型、登录时间及源IP地址。添加-H参数可显示标题栏:
$ who -H
NAME LINE TIME COMMENT
root pts/0 Aug 15 09:30 (192.168.1.100)
二、w命令 - 集成的用户活动监控
w命令提供了更丰富的用户活动信息:
$ w
10:25:30 up 15 days, 3:45, 2 users, load average: 0.15, 0.10, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.100 09:30 5.00s 0.10s 0.00s w
user1 pts/1 203.156.34.78 10:15 2:30 0.05s 0.03s vim
关键信息包括:系统运行时间、负载、每个用户的终端、来源IP、空闲时间、进程CPU占用及当前命令。
三、users命令 - 极简用户列表
当只需要查看当前登录的用户名时:
$ users
root user1 user1
注意:重复用户名表示同一用户有多个会话。
四、last命令 - 历史登录审计
查看近期登录记录(默认显示/var/log/wtmp内容):
$ last -n 5
root pts/0 192.168.1.100 Mon Aug 15 09:30 still logged in
user1 pts/1 203.156.34.78 Mon Aug 15 10:15 still logged in
reboot system boot 4.15.0-112-gener Mon Aug 15 05:45 still running
特别提示:添加-R参数可隐藏主机名/IP,增强安全性。
五、专业监控方案
1. 实时监控脚本
#!/bin/bash
while true; do
clear
echo "===== 实时用户监控 ====="
date
w
sleep 5
done
2. 企业级审计方案
- 配置sudo日志:/var/log/sudo.log
- 启用pam_tty_audit模块记录TTY输入
- 部署OSSEC等入侵检测系统
安全建议
- 定期检查异常登录(如非工作时间)
- 禁用root直接登录
- 配置SSH密钥认证
- 设置登录告警(如通过Zabbix)
掌握这些方法后,您将能够:快速识别可疑登录、合理分配系统资源、满足合规审计要求。建议将常用命令加入.bashrc别名,如:alias users='w -h | cut -d" " -f1 | sort | uniq'
