В Linux команда finger
предоставляет подробную информацию о пользователе, что делает её бесценным инструментом для системных администраторов.
Содержание
Используя утилиту администраторы могут быстро получить имя пользователя для входа, настоящее имя, имя терминала, статус записи, время входа в систему, время простоя, местоположение офиса, номер офисного телефона и многое другое.
Установка
В дистрибутивах Linux утилита finger
, как правило, не предустановлена.
Установка в Ubuntu
Для установки утилиты используется следующая команда:
oleg@mobile:~$ sudo apt install finger
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
finger
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 39 пакетов не обновлено.
Необходимо скачать 16,9 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 51,2 kB.
Пол:1 http://bg.archive.ubuntu.com/ubuntu focal/universe amd64 finger amd64 0.17-17 [16,9 kB]
Получено 16,9 kB за 0с (78,0 kB/s)
Выбор ранее не выбранного пакета finger.
(Чтение базы данных … на данный момент установлено 181007 файлов и каталогов.)
Подготовка к распаковке …/finger_0.17-17_amd64.deb …
Распаковывается finger (0.17-17) …
Настраивается пакет finger (0.17-17) …
Обрабатываются триггеры для man-db (2.9.1-1) …
oleg@mobile:~$
Установка в Arch Linux
В этом дистрибутиве установка выполняется из AUR. Для установки наиболее удобно использовать yay:
oleg@mobile:~:$ yay -S netkit-bsd-finger
AUR Explicit (1): netkit-bsd-finger-0.17-10
:: (1/1) Скачан PKGBUILD: netkit-bsd-finger
1 netkit-bsd-finger (файлы сборки существуют)
==> Пакеты, для которых требуется очистить кэш сборки?
==> [N]Нет [A]Все [Ab]Прервать [I]Установленные [No]Неустановленные или (1 2 3, 1-3, ^4)
==>
1 netkit-bsd-finger (файлы сборки существуют)
==> Показать изменения?
==> [N]Нет [A]Все [Ab]Прервать [I]Установленные [No]Неустановленные или (1 2 3, 1-3, ^4)
==>
==> Сборка пакета netkit-bsd-finger 0.17-10 (Ср 03 апр 2024 12:44:19)
==> Получение исходных файлов...
-> Загрузка bsd-finger-0.17.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 25521 100 25521 0 0 15663 0 0:00:01 0:00:01 --:--:-- 101k
-> Найден LICENSE
-> Найден fix-manpage-typo.patch
-> Найден finger.socket
-> Найден finger@.service
==> ВНИМАНИЕ: Пропуск проверки PGP-подписей исходных файлов.
==> Проверка файлов source с использованием sha256sums...
bsd-finger-0.17.tar.gz ... Готово
LICENSE ... Готово
fix-manpage-typo.patch ... Готово
finger.socket ... Готово
finger@.service ... Готово
:: (1/1) Анализ SRCINFO: netkit-bsd-finger
==> Сборка пакета netkit-bsd-finger 0.17-10 (Ср 03 апр 2024 12:44:23)
...
загрузка пакетов...
разрешение зависимостей...
проверка конфликтов...
Пакеты (2) netkit-bsd-finger-0.17-10 netkit-bsd-finger-debug-0.17-10
Будет установлено: 0,05 MiB
:: Приступить к установке? [Y/n] y
(2/2) проверка ключей [###############################################] 100%
(2/2) проверка целостности пакета [###############################################] 100%
(2/2) загрузка файлов пакетов [###############################################] 100%
(2/2) проверка конфликтов файлов [###############################################] 100%
(2/2) проверка доступного места [###############################################] 100%
:: Обработка изменений пакета...
(1/2) установка netkit-bsd-finger [###############################################] 100%
(2/2) установка netkit-bsd-finger-debug [###############################################] 100%
:: Запуск post-transaction hooks...
(1/2) Reloading system manager configuration...
(2/2) Arming ConditionNeedsUpdate...
oleg@mobile:~:$
Синтаксис
$ finger [-lmsp] [user ...] [user@host ...]
Параметры
-s
Утилита отображает имя пользователя для входа в систему, настоящее имя, имя терминала и статус записи (в виде символа
*
после имени терминала, если в разрешении на запись отказано), время простоя, время входа в систему, местоположение офиса и номер офисного телефона. Время входа в систему отображается в виде месяца, дня, часов и минут, если только это не произошло более шести месяцев назад, и в этом случае отображается год, а не часы и минуты. Неизвестные устройства, а также несуществующее время простоя и входа в систему отображаются одиночными звёздочками-l
Создаёт многострочный формат, отображающий всю информацию, описанную для опции
-s
, а также домашний каталог пользователя, номер домашнего телефона, оболочку входа, статус почты и содержимое файлов.plan
,.project
. ,.pgpkey
и.forward
из домашнего каталога пользователя. Числа, состоящие из десяти или семи цифр, печатаются как соответствующее подмножество этой строки. Числа, заданные пятью цифрами, печатаются какxN-NNNN
. Числа, заданные четырьмя цифрами, печатаются какxNNNN
. Если устройству запрещено разрешение на запись, фраза(сообщения отключены)
добавляется к строке, содержащей имя устройства. Одна запись для каждого пользователя отображается с опцией-l
; если пользователь вошел в систему несколько раз, информация о терминале повторяется один раз при каждом входе в систему. Статус почты отображается какНет почты
, если почты вообще нет,Последнее прочтение почты DDD MMM ## ЧЧ:ММ ГГГГ (TZ)
, если человек просматривал свой почтовый ящик с момента поступления нового письма, илиНовое письмо получено...
,Непрочитано с...
, если у них есть новое письмо-p
Предотвращает отображение содержимого файлов
.plan
,.project
и.pgpkey
с помощью параметра-l
-m
Запретить совпадение имён пользователей. Пользователь обычно представляет собой имя пользователя; однако сопоставление также будет выполняться по настоящим именам пользователей, если не указана опция
-m
. Все сопоставления имён, выполняемые утилитой, нечувствительны к регистру
Если никакие параметры не указаны, утилита по умолчанию использует стиль вывода -l
, если указаны операнды, в противном случае — стиль -s
. Обратите внимание, что некоторые поля могут отсутствовать в любом формате, если информация по ним недоступна. Если аргументы не указаны, утилита напечатает запись для каждого пользователя, вошедшего в систему в данный момент
Поиск пользователей
Утилиту можно использовать для поиска пользователей на удалённом компьютере. Формат предназначен для указания пользователя как user@host
или @host
, где форматом вывода по умолчанию для первого является стиль -l
, а форматом вывода по умолчанию для второго — стиль -s
. Опция -l
— единственная опция, которую можно передать на удалённый компьютер
Если утилита находит этот файл в домашнем каталоге пользователя, он будет категорически отрицать существование этого пользователя для запросов утилиты, исходящих за пределами локального хоста. Чтобы это работало, запущенная программа должна иметь возможность видеть файл .nofinger
. Обычно это означает, что в домашнем каталоге, содержащем файл, должен быть установлен бит других пользователей — выполнение o+x
. Если вы используете эту функцию для конфиденциальности, на всякий случай проверьте её с помощью finger @localhost
, прежде чем полагаться на неё.
Файлы
~/.plan, ~/.project, ~/.pgpkey
Эти файлы распечатываются как часть запроса длинного формата. Файл
.plan
может быть произвольной длины
Использование команды finger в Linux
ivan
:oleg@mobile:~$ sudo adduser ivan
Добавляется пользователь «ivan» ...
Добавляется новая группа «ivan» (1001) ...
Добавляется новый пользователь «ivan» (1001) в группу «ivan» ...
Создаётся домашний каталог «/home/ivan» ...
Копирование файлов из «/etc/skel» ...
Новый пароль :
Повторите ввод нового пароля :
passwd: пароль успешно обновлён
Изменение информации о пользователе ivan
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
Полное имя []: Ivan Ivanov
Номер комнаты []: 3
Рабочий телефон []: 1111111111
Домашний телефон []: 222222222
Другое []:
Данная информация корректна? [Y/n] y
oleg@mobile:~$
Информация о пользователе
Узнаём информацию о пользователе:
oleg@mobile:~$ finger ivan
Login: ivan Name: Ivan Ivanov
Directory: /home/ivan Shell: /bin/bash
Office: 3, 111-111-1111 Home Phone: 222222222
Never logged in.
No mail.
No Plan.
oleg@mobile:~$
Здесь ivan
— это имя пользователя.
В данном случае отображаются: имя, каталог, оболочка, время входа, адрес электронной почты и план пользователя.
Статус ожидания и данные для входа пользователя
Получаем статус ожидания и данные для входа пользователя.
oleg@mobile:~$ finger -s ivan
Login Name Tty Idle Login Time Office Office Phone
ivan Ivan Ivanov * * No logins 3 111-111-1111
oleg@mobile:~$
Отображаются состояние ожидания и подробная информация о пользователе.
Обход печати ключа PGP, плана и деталей проекта
Избегаем печати ключа PGP, плана и деталей проекта:
oleg@mobile:~$ finger -p ivan
Login: ivan Name: Ivan Ivanov
Directory: /home/ivan Shell: /bin/bash
Office: 3, 111-111-1111 Home Phone: 2222222222
Never logged in.
No mail.
oleg@mobile:~$
Отображаются: имя входа, настоящее имя, каталог, оболочка, время входа, адрес электронной почты, но не план, ключ PGP и проект пользователя.
План для пользователя
Создаём план для пользователя:
oleg@mobile:~$ echo "Plan details" > ~/.plan
oleg@mobile:~$
Теперь, после повторного использования команды, пользователю будет отображён план.
Проект для пользователя
Создаём проект для пользователя:
oleg@mobile:~$ echo "Project details" > ~/.project
oleg@mobile:~$
Теперь, после повторного использования команды, пользователю будет показан проект.
Ключ PGP для пользователя
Создаём ключ PGP для пользователя:
oleg@mobile:~$ echo "pgpkey" > ~/.pgpkey
oleg@mobile:~$
Теперь, после повторного использования команды, пользователю будет отображаться ключ PGP.
Заключение
Здесь был приведён пример работы в Linux с командой finger
. Всем начинающим системным администраторам необходимо уметь пользоваться ей.