Цікавитесь, хто саме отримав доступ до вашого комп’ютера з операційною системою Linux? Забудьте про складні маніпуляції, натомість скористайтеся простим, але ефективним інструментом.
Багато системних адміністраторів для отримання даних про активних користувачів Unix-подібних систем, зазвичай звертаються до утиліти finger. Проте, ця команда не завжди встановлена за замовчуванням і може бути відсутня в системі.
Замість встановлення finger, можна скористатися її спрощеною версією – pinky. Ця легка та сучасна утиліта вже включена до більшості дистрибутивів Linux, таких як Ubuntu, Manjaro та Fedora.
Делікатний підхід
Як і очікується від команд Linux, pinky має безліч опцій командного рядка, які дозволяють налаштовувати вивід. Ці опції в основному використовуються для фільтрації даних, залишаючи лише потрібну вам інформацію. Завдяки цьому, ви можете зробити вивід команди максимально лаконічним.
Якщо pinky спочатку є легкою командою, то після налаштування фільтрів, вона стає ще більш компактною.
Використання pinky
Найпростіший спосіб скористатися командою pinky – це просто ввести її назву в терміналі та натиснути Enter:
pinky
За замовчуванням команда виводить звіт у “короткому форматі”.
Звіт у короткому форматі містить наступні стовпці:
Логін: ім’я користувача, який увійшов в систему.
Ім’я: повне ім’я користувача, якщо воно доступне.
TTY: тип терміналу, з якого здійснено вхід. Найчастіше це буде pts (псевдотермінал). :0 означає, що використовується фізична клавіатура та екран, підключені до цього комп’ютера.
Idle: час простою. Відображається “?????” якщо користувач працює через X-windows, і ця інформація недоступна.
Коли: дата та час входу користувача.
Де: місце звідки користувач увійшов в систему. Часто це IP-адреса віддаленого комп’ютера. Запис “:0” вказує на фізичну клавіатуру та екран.
Інколи pinky не може заповнити всі стовпці. Наприклад, якщо системний адміністратор не вказав повне ім’я користувача “dave”, pinky не зможе відобразити його у стовпці “Ім’я” та використає його логін “dave”.
Звіт для одного користувача
За замовчуванням pinky надає інформацію про всіх користувачів, які увійшли в систему. Для отримання звіту про конкретного користувача, достатньо вказати його ім’я у командному рядку.
pinky mary
В цьому випадку pinky відобразить інформацію тільки про користувача “mary”.
Приховання заголовків стовпців
Щоб приховати заголовки стовпців у звіті короткого формату, використовуйте опцію -f.
pinky -f
В результаті заголовки стовпців будуть відсутні у звіті.
Виключення стовпця “Ім’я”
Опція -w дозволяє pinky виключити стовпець “Ім’я” зі звіту.
pinky -w alec
У виведеному звіті стовпець “Ім’я” буде відсутній.
Виключення стовпців “Ім’я” та “Де”
Опція -i змушує pinky приховати стовпці “Ім’я” та “Де”.
pinky -i robert
Звіт pinky більше не міститиме стовпці “Ім’я” та “Де”.
Виключення стовпців “Ім’я”, “Неактивний” та “Де”
Щоб повністю спростити звіт, використовуйте опцію -q для виключення стовпців “Ім’я”, “Неактивний” та “Де”.
pinky -q john
Pinky приховає стовпці “Ім’я”, “Неактивний” та “Де” зі звіту. Тепер ми маємо лише три стовпці, і подальше спрощення звіту може зробити його неінформативним.
Розширений формат звіту
Опція -l (довгий формат звіту) змушує pinky надати більш детальну інформацію про користувачів. При цьому необхідно вказати ім’я користувача.
(Це одна з двох опцій, які мають назви. Інша – це опція -s (короткий звіт). Оскільки за замовчуванням виводиться короткий звіт, опція -s фактично нічого не змінює.)
pinky -l mary
Розширений формат звіту містить додаткові відомості.
Інформація у довгому звіті:
Ім’я для входу: ім’я користувача, який увійшов в систему.
У реальному житті: повне ім’я користувача, якщо воно відоме.
Каталог: домашній каталог користувача.
Shell: оболонка, яку використовує користувач.
Проект: вміст файлу ~/.project користувача, якщо він існує.
План: вміст файлу ~/.plan користувача, якщо він існує.
Файл ~/.project повинен містити короткий опис проекту, над яким працює користувач, а ~/.plan – опис конкретного робочого завдання. Це дозволяло менеджерам та зацікавленим сторонам бачити, чим саме займається користувач, але наразі ця схема є неактуальною. Ці поля, швидше за все, будуть порожніми для більшості користувачів.
Розглянемо приклад з користувачем “alec”:
pinky -l alec
Користувач “alec” не має ні файлу ~/.plan, ні файлу ~/.project.
Виключення рядка каталогу та оболонки
Щоб пропустити рядок про домашній каталог та оболонку у звіті розширеного формату, скористайтеся опцією -b.
pinky -l -b robert
Рядок про домашній каталог та оболонку буде видалено зі звіту.
Виключення файлу проекту
Щоб приховати рядок про файл проекту з розширеного звіту, використовуйте опцію -h.
pinky -l -h mary
Вміст файлу ~/.project не буде відображено.
Виключення файлу плану
Щоб пропустити рядок про файл плану в розширеному форматі, використовуйте опцію -p.
pinky -l -p mary
Вміст файлу ~/.plan не буде виведено.
Навіщо стільки опцій для приховування?
Чому команда, яка створює звіти, має стільки можливостей для виключення даних? Це дозволяє вам фокусуватися лише на важливій інформації. Ви можете відфільтрувати зайве та залишити лише необхідне. Саме ви вирішуєте, що саме для вас є важливим.