finger 命令是 Linux 系统中一个用于显示用户信息的实用工具,它可以查询系统中已注册用户的基本信息、登录状态、计划任务等,虽然随着系统安全性的增强,finger 命令的使用在某些场景下受到限制,但它仍然是系统管理员和开发者排查问题、了解用户状态的重要工具,本文将详细介绍 finger 命令的基本用法、常见选项、实际应用场景及注意事项。

finger 命令的基本语法与功能
finger 命令的基本语法结构为:
finger [选项] [用户名]
用户名 可以是具体的用户名、用户名列表(用空格分隔),或者是一个主机名(用于远程查询,需确保远程主机支持 finger 服务),如果不指定任何参数,finger 命令将显示当前系统中所有登录用户的信息。
核心功能
- 显示用户基本信息:包括用户名、真实姓名、主目录、登录 Shell、终端设备等。
- 展示登录状态:显示用户的登录时间、空闲时间、办公地址(终端位置)等。
- 查询远程用户:通过 符号连接远程主机,获取远程用户的在线状态(需远程主机启用
finger服务)。
常用选项详解
finger 命令提供了多个选项,用于定制输出信息或控制查询行为,以下是常用选项及其作用:
| 选项 | 全称 | 功能说明 |
|---|---|---|
-s |
login |
以短格式显示用户信息,包括用户名、终端、空闲时间、办公地址等,不显示计划任务和邮件状态。 |
-l |
long |
以长格式显示用户信息(默认格式),包含用户详细信息、主目录、Shell、计划任务、邮件状态等。 |
-m |
match |
匹配用户名时,仅显示与给定用户名完全匹配的结果,避免部分匹配导致的误显示。 |
-p |
plan |
仅显示用户的计划任务(.plan 文件内容),不显示其他信息。 |
-q |
quick |
以极简格式显示用户信息,仅包含用户名、终端、空闲时间和登录时间。 |
-i |
idle |
显示用户的空闲时间(单位为小时、分钟或秒),方便了解用户是否活跃。 |
-w |
wrap |
禁用自动换行,当输出信息过长时,保持单行显示(需终端支持)。 |
实际应用场景
查询当前登录用户
直接执行 finger 命令,将列出系统中所有登录用户的信息,包括登录时间、终端位置和空闲状态。
finger
输出可能如下:
Login Name Tty Idle Time Office Office Phone Host
zhangsan 张三 pts/0 2:30 Oct 10 10:30 :0 192.168.1.100
lisi 李四 pts/1 5m Oct 10 09:45 :0 192.168.1.101
通过此命令,可以快速了解当前在线用户及其活跃状态。
查询指定用户的详细信息
若需查看某个特定用户的详细信息,如主目录、Shell、计划任务等,可直接输入用户名:

finger zhangsan
输出示例(长格式 -l):
Login: zhangsan Name: 张三
Directory: /home/zhangsan Shell: /bin/bash
On since Oct 10 10:30 (CST) on pts/0 from 192.168.1.100
2 hours 30 minutes idle
No mail.
No Plan.
On since 表示登录时间和终端来源,idle 显示空闲时间,No Plan. 表示用户未设置计划任务(.plan 文件为空)。
查询用户计划任务
若仅需查看用户的计划任务(用户通过 .plan 文件发布的动态或日程),可使用 -p 选项:
finger -p zhangsan
如果用户在 /home/zhangsan/.plan 中添加了内容(如“今天下午 3 点开会”),则此处会显示该内容。
远程用户查询(需远程主机支持)
如果远程主机(如 example.com)启用了 finger 服务,可通过 符号查询远程用户信息:
finger zhangsan@example.com
注意:由于安全原因,现代 Linux 系统默认禁用 finger 服务(如 xinetd 中未配置 finger),因此远程查询可能失败。
finger 命令的输出字段解析
finger 命令的输出包含多个字段,理解这些字段有助于快速提取关键信息:

| 字段 | 说明 |
|---|---|
Login |
用户登录名 |
Name |
用户的真实姓名(来自 /etc/passwd 的 GECOS 字段) |
Tty |
用户登录使用的终端设备(如 pts/0 表示伪终端) |
Idle |
用户空闲时间(2:30 表示 2 小时 30 分钟,5m 表示 5 分钟) |
Time |
用户登录时间 |
Office |
办公地址(可手动配置,默认为空) |
Office Phone |
办公电话(可手动配置,默认为空) |
Host |
用户登录的远程主机 IP 或主机名 |
Shell |
用户默认使用的 Shell(如 /bin/bash) |
Directory |
用户的主目录 |
Plan |
用户的计划任务内容(来自 .plan 文件) |
注意事项与安全限制
安全风险
finger 命令会暴露用户的详细信息,包括登录时间、终端位置、空闲状态等,可能被攻击者用于收集系统信息(如活跃用户、系统负载等),现代 Linux 发行版默认不安装 finger 服务,或将其禁用。
安装与启用
如果系统中未安装 finger 命令,可通过包管理器安装:
- Debian/Ubuntu:
sudo apt install finger - CentOS/RHEL:
sudo yum install finger
若需启用远程 finger 服务,需修改 xinetd 配置文件(/etc/xinetd.d/finger),将 disable = yes 改为 disable = no,并重启 xinetd 服务,但需谨慎操作,避免信息泄露。
替代工具
出于安全考虑,可使用更安全的命令替代 finger,如:
w或who:查看登录用户,信息简洁,无敏感泄露。last:查看用户登录历史记录。id:查看指定用户的 UID、GID 和所属组。
finger 命令作为 Linux 系统中经典的用户信息查询工具,功能丰富且操作简单,适合在受信任的内网环境中使用,由于其潜在的安全风险,需谨慎配置远程访问权限,并优先考虑更安全的替代工具,对于系统管理员而言,合理使用 finger 可以快速排查用户登录异常、监控系统状态,但需始终遵循“最小权限原则”,避免信息泄露,在日常运维中,建议结合 w、who 等命令综合分析,确保系统安全与效率的平衡。



















