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. 无图形界面服务器:优先使用 whow
  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

相关推荐

  • Linux系统如何进入usr目录?

    Linux系统中的目录结构是其核心组成部分,采用树形层级设计,而/usr目录是其中最重要的系统目录之一,它存储了大量用户程序、库文件、文档、手册页等关键数据,无论是系统管理员还是普通开发者,掌握如何正确进入/usr目录并理解其内容,都是日常操作的基础,本文将详细讲解Linux系统中进入/usr目录的方法、相关技……

    2025年10月7日
    3500
  • Linux中如何进入编辑模式?

    在Linux系统中,“编辑模式”通常指文本编辑器(如vi/vim)的插入模式(Insert Mode),该模式下用户可直接输入、修改文本,是日常编辑的核心操作模式,vi/vim作为Linux/Unix环境下最常用的编辑器,其核心设计是通过不同模式实现高效编辑,而编辑模式的切换是使用vi/vim的基础技能,本文将……

    2025年10月5日
    3800
  • 如何在Linux里创建可执行脚本?

    在Linux操作系统中,脚本是一种强大的工具,能够将一系列命令组合起来,通过自动化执行简化重复性任务,提高工作效率,无论是系统管理、文件处理还是定时任务,脚本都能发挥重要作用,本文将详细介绍在Linux中创建脚本的完整流程,从基础概念到实际应用,帮助读者掌握脚本编写技能,理解Linux脚本的基础Linux脚本通……

    2025年9月29日
    4400
  • Linux如何挂载U盘/硬盘?

    挂载基础步骤查看可用设备使用 lsblk 或 fdisk -l 命令识别设备名称(如 /dev/sdb1):lsblk -f # 显示设备文件系统类型(如 ext4、NTFS)创建挂载点挂载点是空目录,用于访问设备内容:sudo mkdir /mnt/mydrive # 创建目录(名称可自定义)执行挂载将设备挂……

    2025年7月19日
    6800
  • Linux如何实现多行文本缩进?命令行与编辑器操作方法有哪些?

    在Linux系统中,多行缩进是文本处理中常见的操作,主要用于代码格式化、配置文件对齐、文档排版等场景,通过命令行工具或文本编辑器,可以高效实现多行缩进,本文将详细介绍几种主流方法,涵盖sed、awk、文本编辑器(如vim、nano)及脚本循环等场景,并结合实际示例说明操作逻辑,使用sed命令实现多行缩进sed……

    2025年9月9日
    4800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信