当前位置: 首页 > news >正文

Linux用户信息查看命令users/who/w详解与实战

1. Linux用户信息查看命令全景解析

作为Linux系统管理员,掌握当前登录用户信息是日常运维的基础技能。系统提供了users、w、who这三个看似简单却功能各异的命令,它们分别从不同维度展示用户登录状态。很多人会混淆这三个命令的使用场景,今天我们就来彻底拆解它们的区别与实战应用技巧。

我管理过上百台Linux服务器,发现90%的运维问题都始于对系统状态的不了解。这三个命令就像系统的"体温计",能快速诊断用户会话异常、资源占用冲突等问题。下面结合15年运维经验,带你掌握这些命令的进阶用法。

2. 命令核心功能对比

2.1 users命令:极简用户列表

这个最简单的命令只做一件事——显示当前登录的用户名列表。它的输出没有时间戳、没有终端信息,就像这样:

user1 user2 root

注意:重复登录的用户名会重复显示,这是判断用户多终端登录的重要线索

我常用在自动化脚本中快速获取用户清单,比如:

# 检查是否有异常用户登录 if grep -q "hacker" <(users); then echo "安全警报!" >&2 fi

2.2 who命令:标准登录会话报告

比users更详细,显示内容包括:

  • 用户名
  • 终端设备(tty1/pts/0等)
  • 登录时间
  • 来源IP(如有)

典型输出:

user1 tty1 2023-08-20 09:30 root pts/0 2023-08-20 10:15 (192.168.1.100)

实用技巧

who -uH # 显示空闲时间和进程ID who -b # 查看系统最后一次启动时间

2.3 w命令:终极增强版

这是最强大的综合视图,包含:

  1. 系统运行时间
  2. 登录用户数
  3. 负载平均值
  4. 每个用户的:
    • 终端信息
    • 登录源
    • 登录时长
    • 空闲时间
    • 当前进程CPU占用
    • 正在运行的命令

示例输出:

10:20:30 up 2 days, 3:45, 3 users, load average: 0.15, 0.10, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user1 tty1 - 09:30 2:30m 0.10s 0.01s -bash root pts/0 192.168.1.100 10:15 5.00s 0.20s 0.01s sshd: root

3. 高级应用场景

3.1 安全审计实战

当发现可疑活动时,我常用的调查流程:

  1. 先用w查看所有活跃会话:
w -i # 显示IP而非主机名
  1. 定位异常进程:
watch -n 1 'w | grep -v -e bash -e sshd' # 监控非标准shell进程
  1. 取证时间线:
last -i # 查看历史登录记录 who /var/log/wtmp # 查看归档的登录记录

3.2 会话管理技巧

强制注销用户的最佳实践:

# 1. 先用who确认终端 who -u # 2. 向目标终端发送警告 echo "系统即将维护,请保存工作!" > /dev/pts/1 # 3. 优雅终止会话 pkill -9 -t pts/1

重要:强制注销前务必确认无重要任务运行,生产环境建议提前通知

4. 性能监控与优化

4.1 负载分析黄金组合

watch -n 1 'w; echo; ps -eo pid,user,pcpu,pmem,cmd --sort=-pcpu | head -n 5'

这个命令每1秒刷新:

  • 顶部:w命令的整体负载
  • 底部:CPU占用前5的进程

4.2 长期监控方案

记录历史负载数据:

# 每5分钟记录一次 */5 * * * * /usr/bin/w >> /var/log/user_activity.log

分析高峰期:

awk '{print $1}' /var/log/user_activity.log | sort | uniq -c | sort -nr

5. 常见问题排错指南

5.1 终端显示异常

问题:who命令显示用户来自(:0)或(:1.0)

原因:这是本地X11图形会话的标志

验证

ps -ef | grep Xorg

5.2 僵尸会话处理

现象:who显示用户已断开但会话仍存在

解决方案

# 查找无响应的SSH会话 ps -ef | grep sshd | grep -v grep | grep 'notty' # 批量清理 kill $(ps -ef | grep 'sshd:.*notty' | awk '{print $2}')

5.3 时间格式问题

问题:登录时间显示异常

修复

# 检查时区设置 timedatectl status # 更新时区 sudo timedatectl set-timezone Asia/Shanghai

6. 企业级扩展应用

6.1 集中式登录监控

在多服务器环境中,我使用这个脚本收集所有主机的用户状态:

#!/bin/bash for server in $(cat /etc/server.list); do echo "==== $server ====" ssh $server "w -h" | awk '{print $1,$3,$4}' | sort | uniq -c done

6.2 与系统审计集成

结合auditd实现实时监控:

# 监控登录事件 auditctl -w /var/run/utmp -p wa -k user_login

查看审计日志:

ausearch -k user_login | aureport -l -i

7. 命令替代方案

虽然users/who/w是标准工具,但在某些场景下这些替代品可能更适合:

7.1 last命令

查看历史登录记录:

last -n 10 -i # 显示最近10条记录含IP

7.2 finger命令

更详细的用户信息:

finger -l username

7.3 utmpdump

直接解析二进制日志:

utmpdump /var/run/utmp # 当前会话 utmpdump /var/log/wtmp # 历史记录

8. 最佳实践总结

  1. 日常巡检:使用w -i快速查看所有活跃会话
  2. 安全调查:组合使用who -uHlast -i建立时间线
  3. 性能分析watch -n 1 w实时监控系统负载
  4. 会话管理:用pkill -9 -t pts/N精准终止问题会话
  5. 长期记录:定期归档/var/log/wtmp文件

掌握这三个命令的组合使用,能让你在80%的运维场景中快速定位用户相关问题。建议将这些命令加入你的日常检查清单,我习惯在每次登录服务器时先运行w命令,这就像飞行员起飞前的仪表检查一样重要。

http://www.jsqmd.com/news/1204027/

相关文章:

  • 编码阶段优化C++程序性能的一些做法(仅供参考)
  • Claude Code与智谱CLI共存方案:命令隔离与配置分离实战
  • 终极指南:如何用Wand-Enhancer免费解锁WeMod完整体验
  • Linux包管理:DEB与RPM的离线安装全指南
  • macOS Sonoma 14.4导致iCloud Drive文件版本丢失问题解析
  • 基于Mavlink文件传输的嵌入式设备OTA固件升级方案详解
  • 2026 年更新:涟水口碑好的水下搜救打捞哪里找公司推荐几家,别再盲搜!水下搜救打捞的秘密通道曝光 - 企业推荐官【认证官方】
  • 亲身到店探访深圳美度官方售后服务中心|最新地址及售后电话(2026年7月最新) - 亨得利钟表维修中心
  • C++26 执行控制库:走向统一的异步编程模型
  • 埃塞俄比亚的名义雇主合法吗?主要有哪些法律合规措施?
  • Mac通过VMware Fusion安装CentOS7全攻略
  • Windows软件故障诊断与解决方案全指南
  • YOLOv8目标检测算法架构解析与优化实践
  • CentOS系统Swap分区关闭与性能优化指南
  • 绿联UGOS Pro系统部署Windows 11虚拟机全攻略
  • Claude Skills开发指南:从基础到企业级实践
  • Linux系统安装与配置全指南:从入门到精通
  • 快速起效:伏环孢素Voclosporin用药12周即可显著改善狼疮肾炎蛋白尿【海得康】
  • Agentic AI到底解决了什么问题?
  • Windows 11首次启动跳过联网登录的3种方法
  • X-Lite 26H1系统优化:让老电脑流畅运行3A游戏
  • 公羊学数字解构:用异常切片重编译古代解释学系统
  • 如何快速部署大气层系统:面向新手的完整定制固件指南
  • FPGA动态数码管驱动原理与紫光同创开发板实践
  • Hermes Agent飞书部署全攻略:从零配置到智能办公闭环
  • 广州积家回收价格查询和各大平台实测排行(2026年7月最新) - 嘉价奢侈品回收平台
  • ShareKit 全域碰一碰开发实录:跨设备精准坐标交互商用落地
  • QuickBMS技术深度解析:二进制文件解析引擎的工程实现与创新应用
  • MCP协议与SequentialThinking:AI模型交互与多步推理引擎
  • Windows Defender关闭与配置全指南:解决误报与性能问题