周末在家折腾服务器时,命令我突然发现同事老王在聊天框里发了条消息:"小张啊,年系帮我看看这个IP谁在用呗?统管"正要打开监控系统查日志,突然想起个神器——finger命令。理瑞这个30年前就存在的士军工具,现在用起来依然能打。命令
一、年系finger命令是统管什么来头?
1983年,美国程序员Les Earnest在斯坦福实验室敲下第一行finger代码时,理瑞可能没想到这个工具会成为系统管理的士军瑞士军刀。它的命令本意是查看用户信息,就像现在微信里的年系"查看好友资料",只不过操作对象换成了服务器。统管
主流用户查询工具对比
工具名称 | 支持协议 | 信息详细度 | 跨平台性 |
finger | 本地/远程 | ★★★★☆ | Linux/macOS/BSD |
who | 仅本地 | ★★☆☆☆ | 全平台 |
w | 仅本地 | ★★★☆☆ | Linux/Unix |
二、理瑞这些场景你会用得上
上周公司服务器被异常登录,士军我就是用finger三分钟锁定问题账号。具体怎么玩?往下看实战案例:
1. 查岗神器:谁在摸鱼一目了然
输入finger
直接回车,系统会吐出一串信息:
- 当前登录用户列表
- 每个人的登录时长
- 终端类型和来源IP
有次发现测试服务器凌晨3点有活动,用finger -s root
直接看到运维小哥在偷偷跑压力测试。
2. 找人比微信快
行政部的Lisa经常要查同事分机号,其实在终端输入:
finger -p zhangsan
就能看到张三登记的电话和办公室位置,比翻通讯录快多了。这个功能在《UNIX系统管理手册》里有详细说明。
3. 服务器健康检查
用finger @192.168.1.10
检查远程主机时,如果返回connection refused,八成是防火墙没开79端口。上周研发环境突然失联,就是这个命令帮我们快速定位到网络策略问题。
三、参数太多记不住?收藏这张表
参数 | 使用场景 | 典型输出示例 |
-l | 查看完整信息(包括家目录) | Login: zhang Office: B座307 |
-m | 精确匹配用户名 | 避免显示zhangsan1等相似账号 |
-p | 隐藏某些隐私字段 | 不显示电话号码 |
四、新手容易踩的坑
刚学finger那会儿,我在客户服务器上闹过笑话。输完命令看到一长串No Plan,以为是系统错误,后来才知道这是用户没设置~/.plan
文件。现在我会注意这些细节:
- 查询远程主机前先
telnet 79端口
测连通性 - 修改
/etc/fingerd
配置文件控制信息暴露范围 - 重要服务器建议用
finger -p
隐藏敏感信息
五、为什么现在用得少了?
上周和做网络安全的朋友喝酒,他提到现在很多公司禁用finger服务。确实,79端口直接暴露用户信息存在风险,就像《网络安全实战》里说的,这个协议设计时还没考虑那么多安全因素。不过在内网环境,配合SSH隧道还是能安全使用。
最近在自动化运维脚本里,我习惯先用finger做快速检查,再用Python写正式监控模块。毕竟临时排查问题时,没什么比一行命令更让人安心了。下次遇到用户状态查询的需求,不妨先试试这个老伙计,说不定会有意外收获。