Команда finger позволяет использовать утилиту с соответствующим именем для получения информации о пользователях локальной или удаленной системы. Среди выводимой утилитой информации можно выделить имя учетной записи пользователя, его полное имя, имя устройства рабочего терминала, время бездействия, время входа в систему, номер и телефон офиса, путь к домашней директории, путь к исполняемому файлу командной оболочки, количество непрочитанных электронных писем, а также название рабочего проекта и выполняемое в рамках него задание.
Для обращения к системам в рамках локальной сети достаточно использовать символ @ и имя узла, либо его IP-адрес. В этом случае утилита задействует протокол finger, описанный в рамках рабочего предложения RFC1196 и реализованный в рамках одного из установленных на удаленной системе finger-серверов, например, fingerd. Кстати, существует методика сокрытия учетных записей пользователей от запросов из сети, заключающаяся в создании в домашних директориях этих пользователей файлов с именами .nofinger.
Базовый синтаксис команды выглядит следующим образом:
$ finger [параметр] [имя пользователя 1 ...]
Очевидно, что утилита способна выводить информацию сразу о нескольких пользователях. В случае использования без каких-либо параметров и имен пользователей, она выведет таблицу со списком пользователей, работающих с системой в данное время. Таблица должна содержать следующие столбцы:
Среди параметров следует выделить параметр -l позволяющий получить не только приведенную выше информацию о пользователе, но и такие параметры его учетной записи, как:
а также информацию о количестве непрочитанных электронных писем, названии рабочего проекта и выполняемом в рамках него задании. Две последние строки утилита получает из текстовых файлов в домашних директориях пользователей с именами .project и .plan соответственно.
Что касается других параметров, то параметр -p позволяет игнорировать файлы с информацией о рабочем проекте и выполняемом в рамках него задании, а параметр -m позволяет осуществлять поиск лишь по именам учетных записей пользователей без учета их реальных имен.
В первую очередь вам придется установить рассматриваемую утилиту; проще всего это сделать с помощью терминала путем исполнения соответствующей вашему дистрибутиву команды.
Команда для Linux Mint, Ubuntu, Debian, Bodhi Linux:
$ sudo apt-get install finger
Команда для Fedora Workstation:
$ sudo dnf install finger
Для получения информации об активных пользователях системы достаточно использовать утилиту finger без каких-либо параметров.
$ finger
finger: /dev//seat0: No such file or directory
Login Name Tty Idle Login Time Office Office Phone
alex Alex seat0 Aug 1 14:44 (login screen)
alex Alex *:0 Aug 1 14:44 (:0)
С системой работает единственный пользователь, вошедший посредством графического менеджера сессий (login screen).
Для получения развернутой информации может быть задействован параметр -l:
$ finger -l
finger: /dev//seat0: No such file or directory
Login: alex Name: Alex
Directory: /home/alex Shell: /bin/bash
On since Tue Aug 1 14:44 (MSK) on seat0 from login screen
On since Tue Aug 1 14:44 (MSK) on :0 from :0 (messages off)
No mail.
No Plan.
Если информация о рабочем проекте не требуется, может быть дополнительно задействован параметр -m:
$ finger -lp
finger: /dev//seat0: No such file or directory
Login: alex Name: Alex
Directory: /home/alex Shell: /bin/bash
On since Tue Aug 1 14:44 (MSK) on seat0 from login screen
On since Tue Aug 1 14:44 (MSK) on :0 from :0 (messages off)
No mail.
Вывод стал немного компактнее.
Если вас интересует информация об отдельных пользователях, которые могут быть неактивны в данное время, вы можете передавать их имена утилите.
$ finger root
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
No Plan.
Пользователь никогда не входил в систему, но информация о нем, разумеется, доступна утилите. Информация о рабочем проекте также может быть скрыта.
$ finger -p root
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
Очевидно, что информация о рабочем проекте не выводится.
Если нужна информация о нескольких пользователях, имена их учетных записей могут быть переданы утилите с разделением символами пробела.
$ finger -p root alex
finger: /dev//seat0: No such file or directory
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
Login: alex Name: Alex
Directory: /home/alex Shell: /bin/bash
On since Tue Aug 1 14:44 (MSK) on seat0 from login screen
On since Tue Aug 1 14:44 (MSK) on :0 from :0 (messages off)
No mail.
Как и требовалось, была выведена информация о пользователях, имена учетных записей которых были переданы утилите.