В 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. Всем начинающим системным администраторам необходимо уметь пользоваться ей.