Introducción
En la administración de sistemas Linux, conocer quién está conectado y qué información posee cada cuenta es fundamental para tareas de auditoría, depuración y gestión de permisos. El comando finger ofrece una forma rápida y legible de obtener datos como el nombre completo, la terminal, el tiempo de inactividad y el plan personal de cada usuario. Aunque hoy en día existen herramientas más avanzadas, finger sigue siendo útil en entornos donde se requiere una visión inmediata y sencilla del estado de los usuarios.
¿Qué es finger?
Finger es una utilidad de red originaria de los primeros sistemas Unix que permite consultar información de usuarios tanto locales como remotos. Su funcionamiento se basa en el protocolo Finger (RFC 742), que escucha en el puerto 79 y responde con datos almacenados en archivos como .plan y .project del directorio home del usuario. La salida incluye el login, nombre real, directorio home, shell, tiempo de conexión y, si está disponible, el contenido del archivo .plan.
Instalación
En muchas distribuciones modernas, finger no viene instalado por defecto debido a preocupaciones de seguridad. Para agregarlo, basta con usar el gestor de paquetes correspondiente. En Debian o Ubuntu: sudo apt-get update && sudo apt-get install finger. En Fedora: sudo dnf install finger. En Arch Linux: sudo pacman -S finger. Tras la instalación, el comando estará disponible inmediatamente desde cualquier terminal.
Sintaxis básica
El formato más simple es finger [opciones] [usuario]. Si no se especifica un usuario, finger muestra información de todos los usuarios conectados al sistema. Algunas opciones útiles son: -s para un formato breve, -l para un formato largo (valor predeterminado), -p para evitar mostrar el contenido de .plan y .project, y -m para evitar coincidencias parciales de nombres de usuario. Ejemplo: finger -s juan muestra solo login, nombre, terminal y tiempo de inactividad.
Ejemplos de uso
- Ver todos los usuarios activos:
finger - Obtener información detallada de un usuario concreto:
finger -l marta - Listar usuarios con formato breve:
finger -s - Consultar información de un usuario en una máquina remota (si el servicio finger está habilitado):
finger @servidor.example.com - Mostrar solo el plan de un usuario sin otros datos:
finger -p lola - Combinar opciones para excluir planes y mostrar formato largo:
finger -l -p carlos
Interpretación de la salida
La salida típica de finger incluye varias columnas: Login, Name, Tty, Idle, Login Time, Office, Office Phone y, cuando está disponible, el contenido del archivo .plan. El campo Idle indica cuánto tiempo ha estado el usuario sin actividad; un valor antiguo puede señalar una sesión abandonada. El campo Login Time muestra la fecha y hora de inicio de la sesión. Si el usuario tiene un archivo .project, su contenido puede aparecer después del plan, dependiendo de la implementación.
Limitaciones y alternativas
Aunque finger es cómodo, presenta riesgos de seguridad porque revela información que podría ser explotada por atacantes (por ejemplo, nombres completos, horarios de conexión y planes personales). Por esa razón, muchos sistemas desactivan el servicio finger en el puerto 79 o restringen su uso a la consulta local. Alternativas más seguras incluyen w, who, last y herramientas de monitoreo como htop o glances. Para auditorías detalladas, se recomienda revisar los logs de /var/log/auth.log o usar auditd.
Conclusión
El comando finger sigue siendo una herramienta valiosa para obtener rápidamente información de usuarios en sistemas Linux, especialmente en entornos de confianza donde la transparencia no representa un riesgo. Conocer su sintaxis, opciones y la forma de interpretar su salida permite a los administradores realizar verificaciones rápidas de sesiones y detectar posibles anomalías. Sin embargo, es esencial evaluar los riesgos de exposición de datos y, cuando sea necesario, recurrir a alternativas más seguras o desactivar el servicio remoto.


