Linux命令w f详解,实时监控系统用户活动?w命令能监控哪些用户活动?w命令能监控哪些用户活动?
Linux用户监控命令深度解析:w与f命令的实战应用
在Linux系统管理中,实时监控用户登录状态及活动是管理员的核心职责。w
和f
作为系统内置的轻量级监控工具,分别提供实时会话监控和历史登录追溯功能,二者协同使用可构建完整的用户活动监控体系。
命令功能定位
w
命令:动态显示当前登录用户的详细信息,包括:- 终端会话状态(TTY/PTS)
- 登录时间与空闲时长
- 进程级CPU资源占用(JCPU/PCPU)
- 实时执行命令(WHAT)
f
命令:需通过util-linux
软件包安装,主要功能:- 记录用户登录/登出历史
- 显示会话持续时间
- 支持按时间范围过滤
版本差异提示:在RHEL/CentOS中需执行
yum install util-linux
获取完整功能,而Debian/Ubuntu系统默认包含该命令。
w
命令技术详解
输出字段全解析
字段 | 技术说明 | 安全审计价值 |
---|---|---|
USER | 登录用户名(包括sudo切换用户) | 识别非常规账户 |
TTY | 终端类型: - pts/N:SSH远程会话 - ttyN:物理控制台 |
判断登录渠道 |
FROM | 源IP地址(IPv4/IPv6)或主机名 | 检测异常地理位置登录 |
LOGIN@ | 采用24小时制的时间格式(时:分) | 发现非工作时间访问 |
IDLE | 空闲时长表示方式: - 10:30m:持续空闲时间 - 0.00s:活跃状态 |
发现僵尸会话 |
JCPU | 关联终端所有进程的累计CPU时间(包括子进程) | 识别资源占用异常 |
PCPU | 当前活动进程的CPU占用时间 | 定位高负载进程 |
WHAT | 正在执行的命令路径(截断显示时可结合ps aux 查看完整命令) |
检测恶意进程 |
进阶参数组合
# 持续监控特定用户(每2秒刷新) watch -n 2 "w -h | grep 'root'" # 输出重定向分析(记录CPU占用前3的用户) w | sort -k6 -nr | head -n 3 > cpu_usage.log
w -f
的深度应用场景
安全审计实战案例
- 异常登录检测
# 筛查非内网IP登录 w -f | grep -vE '192.168|localhost|10.'
- 会话时间分析
# 发现长时间空闲会话(超过8小时) w | awk '$5 ~ /[0-9]+days/ || $5 ~ /[8-9][0-9]:[0-9][0-9]/'
企业级监控方案
# 实时监控看板(带时间戳记录) while true; do echo "==== $(date +'%F %T') ====" >> /var/log/user_monitor.log w -f >> /var/log/user_monitor.log sleep 300 done
关联命令对比矩阵
命令 | 实时性 | 历史记录 | CPU数据 | 网络连接 | 最佳适用场景 |
---|---|---|---|---|---|
w |
实时会话监控 | ||||
f |
登录历史审计 | ||||
who |
快速用户列表 | ||||
last |
安全事件回溯 | ||||
netstat |
网络连接分析 |
安全加固建议
-
会话超时控制
# 全局会话超时设置(/etc/profile) export TMOUT=900 # 15分钟无操作自动断开 readonly TMOUT # 防止用户修改
-
SSH监控增强
# 实时记录SSH登录(追加到auth.log) echo "LogLevel VERBOSE" >> /etc/ssh/sshd_config systemctl restart sshd
-
综合监控脚本
#!/bin/bash { echo "=== Active Sessions ===" w -f echo "\n=== Login History ===" last -n 5 echo "\n=== Suspicious IPs ===" grep 'Failed password' /var/log/auth.log | awk '{print $11}' | sort | uniq -c } > /var/log/security_audit_$(date +%s).log
性能优化技巧
-
大数据量处理
# 使用awk快速分析(统计各用户CPU总占用) w | awk 'NR>2{arr[$1]+=$6}END{for(u in arr)print u,arr[u]"s"}' | sort -k2 -nr
-
可视化展示
# 生成CPU占用率图表(需安装gnuplot) w | awk 'NR>2{print $1,$6}' | gnuplot -p -e 'plot "-" using 2:xtic(1) with boxes'
扩展学习路径
-
进程级监控
htop
交互式进程查看器lsof
分析打开文件描述符
-
网络层监控
iftop
实时带宽监控nethogs
进程级流量统计
-
日志分析
journalctl
系统日志查询logwatch
自动化日志分析
通过掌握这些工具的组合使用,系统管理员可以构建从用户会话到网络连接的全维度监控体系,有效提升系统安全性和运维效率。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。