Linux如何查看在线用户?

who 命令:基础登录信息

作用:显示当前登录系统的用户信息(用户名、终端、登录时间及来源IP)。
命令示例:

who

输出解析:

root     pts/0        2025-06-15 09:30 (192.168.1.10)
alice    tty2         2025-06-15 10:15 (:0)
  • pts/0:伪终端(远程登录如SSH)
  • tty2:物理终端或本地控制台
  • (:0):本地图形界面登录

常用参数:

  • who -u:显示空闲时间(IDLE列)
  • who -H行

w 命令:详细用户活动

作用:综合显示登录用户、当前进程及系统负载(更全面)。
命令示例:

w

输出解析:

 11:20:03 up  2:30,  2 users,  load average: 0.15, 0.08, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.10     09:30    1:30m  0.10s  0.00s sshd: root
alice    tty2     :0               10:15    5.00s  1:20   0.02s /usr/bin/bash
  • JCPU:该终端所有进程占用CPU时间
  • WHAT:用户当前运行的命令

users 命令:极简用户名列表

作用:仅输出登录用户名(适合脚本处理)。
命令示例:

users

输出:

root alice

last 命令:历史登录记录

作用:查看近期登录/注销记录(含已离线用户)。
命令示例:

last | head -n 5

输出解析:

root     pts/0        192.168.1.10     Mon Jun 15 09:30   still logged in
alice    tty2         :0               Mon Jun 15 10:15   still logged in
reboot   system boot  5.4.0-91-generic Mon Jun 15 09:25   still running
  • still logged in:标记当前在线的用户
  • 数据来源:/var/log/wtmp(需root权限访问)

utmpdump 工具:原始登录数据

作用:直接解析登录记录文件 /var/run/utmp(需安装)。
安装与使用:

sudo apt install sysvinit-utils  # Debian/Ubuntu
sudo yum install sysvinit-tools  # CentOS/RHEL
sudo utmpdump /var/run/utmp

输出特点:
包含终端类型、进程ID、IP地址等底层信息,适合高级分析。


特殊场景处理

  1. 无图形界面服务器:优先使用 who 或 w
  2. 排查可疑登录:
    who | grep 'pts'  # 检查所有远程连接
    last | grep 'still logged in'  # 确认当前会话
  3. 用户操作监控:
    w -i  # 显示IP地址(替代who -u)

总结与建议

命令 适用场景 优势
who 快速查看基础登录信息 简洁、系统默认安装
w 监控用户活动及系统负载 集成进程和资源数据
last 审计历史登录(含离线用户) 安全分析必备
utmpdump 深度分析登录数据 底层信息完整

安全提示:

  • 定期检查 /var/log/secure(RHEL/CentOS)或 /var/log/auth.log(Debian/Ubuntu)获取认证日志。
  • 异常IP立即封锁:sudo fail2ban-client set sshd banip <IP>

引用说明: 基于Linux man-pages(who(1), w(1), last(1))及Filesystem Hierarchy Standard(FHS 3.0)中对系统日志路径的定义,实践环境为Ubuntu 22.04 LTS及CentOS 7,兼容主流Linux发行版。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9045.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月28日 15:53
下一篇 2025年7月28日 16:05

相关推荐

  • Ubuntu卡顿?试试这招提速!

    安装SVN客户端SVN通过命令行工具svn操作,安装方法因发行版而异:# CentOS/RHELsudo yum install subversion# Fedorasudo dnf install subversion验证安装:svn –version 输出版本信息即成功(如 svn, version 1……

    2025年7月26日
    25400
  • MagicLinux如何快速登录?,中文Linux登录有妙招?,图形命令双模式怎么进?,登录MagicLinux只需几步?,中文系统登录指南在哪?

    图形界面登录(适用于桌面用户)启动系统开机后等待系统加载,进入 LightDM 登录管理器(MagicLinux 默认的图形登录界面),选择用户与桌面环境屏幕中央显示用户列表(如已创建多用户),点击目标用户名,输入密码(密码输入时默认隐藏),右上角可选桌面环境(如 KDE Plasma、Xfce 等,Magic……

    2025年7月4日
    26800
  • Linux系统中,如何正确关闭asmcmd命令行工具?

    在Linux系统中,asmcmd是Oracle Automatic Storage Management(ASM)提供的重要命令行工具,主要用于管理ASM磁盘组、文件、目录等对象,用户提到的“关掉asmcmd”可能存在多种理解场景,例如退出当前asmcmd会话、停止与asmcmd关联的ASM实例进程、禁用asm……

    2025年9月9日
    25000
  • Linux系统服务器远程登陆的具体操作步骤和方法是什么?

    Linux系统服务器的登录是运维工作的基础操作,掌握多种登录方式及安全配置不仅能提升效率,还能保障服务器安全,本文将详细介绍Linux服务器登录的常见方法、操作步骤及注意事项,SSH远程登录(最常用)SSH(Secure Shell)是目前Linux服务器远程登录的主流方式,通过加密传输数据,避免信息泄露,且支……

    2025年10月8日
    25400
  • 如何进入arm-linux-gcc开发环境?

    在嵌入式开发领域,交叉编译工具链是连接开发主机与目标板的关键桥梁,其中arm-linux-gcc作为常用的ARM架构交叉编译器,其正确配置与使用是开发嵌入式Linux应用的基础,本文将详细介绍如何在不同操作系统环境下安装、配置并验证arm-linux-gcc工具链,帮助开发者顺利进入ARM Linux开发环境……

    2025年9月22日
    29800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信