ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как проверить информацию о зарегистрированном пользователе с помощью команды Who

Как проверить информацию о зарегистрированном пользователе с помощью команды Who

Команда who в Linux выводит список всех зарегистрированных пользователей в системе. Она довольно проста в использовании.

Просто введите who в командной строке, и она покажет всех зарегистрированных пользователей в вашей системе Linux.

root@localhost:~# who
root     pts/0        2020-02-03 06:48 (152.72.29.73)
destroyer   pts/1        2020-02-03 07:02 (187.41.92.90)
alex pts/2        2020-02-03 07:02 (252.142.106.85)

 

Имейте в виду, что who показывает только пользователей, которые в данный момент вошли в вашу систему. Есть и другие способы увидеть всех пользователей в системе Linux, например, compgen.

Команда who имеет несколько опций для получения другой конкретной информации о зарегистрированных пользователях.

 

Использование команды who в Linux

Вот синтаксис команды who:

who [options] [filename]

 

Вы уже видели, какую информацию показывает команда who без каких-либо опций. Давайте теперь посмотрим, какие варианты who предоставляет.

 

Печать времени простоя пользователей

Наряду с обычной информацией, вы также можете распечатать время простоя пользователей. Если пользователь ничего не вводил в течение определенного периода времени, это отображается как время простоя.

who -u

 

Как вы можете видеть в выводе ниже, пользователь destroyer бездействовал в течение 2 минут и 3 секунд.

root@localhost:~# who -u
root     pts/0        2020-02-03 06:48   .         10669 (152.72.29.73)
destroyer pts/2        2020-02-03 07:02 02:03       31528 (187.41.92.90)

 

Что вы могли бы сделать с этой информацией? Практическое использование заключается в реализации дополнительного уровня безопасности путем автоматического отключения пользователей, которые простаивают более определенного времени.

 

Отображать только имена пользователей (и их количество)

С опцией -q вы можете отображать только зарегистрированных пользователей и их количество.

root@localhost:~# who -q
root destroyer alex
# users=3

 

Это похоже на вывод ‘users command’, за исключением количества зарегистрированных пользователей.

 

Проверьте, могут ли пользователи отправлять мгновенные сообщения или нет

Знаете ли вы, что пользователи могут отправлять сообщения друг другу в терминале Linux, используя такие инструменты командной строки, как mesg ? Конечно, пользователь должен решить, хочет ли он/она получать такие сообщения или нет.

Вы можете проверить, могут ли пользователи отправлять сообщения или нет, используя опцию -T :

who -T

 

В приведенном ниже выводе «+» означает «да», а «-» означает «нет». Если видишь? Значит неизвестно.

root@localhost:~# who -T
root     - pts/0        2020-02-03 06:48 (152.72.29.73)
destroyer + pts/2        2020-02-03 07:02 (187.41.92.90)

 

Показать информацию о себе

Вроде альтернатива whoami. Он отображает информацию о пользователе, но только для себя (то есть пользователя, связанного с текущим терминалом).

who -m

 

Проверьте время последней загрузки системы

В некоторой степени похожий на команду uptime, вы можете получить информацию о последней загрузке вашей системы, используя опцию -b команды who:

who -b

 

Как вы можете видеть, наш тестовый сервер последний раз загружался в 09:41 19 декабря 2019 года.

root@localhost:~# who -b
         system boot  2019-12-19 09:41

 

Распечатать имя хоста зарегистрированных пользователей

Это может работать для пользователей в одной подсети. С опцией –lookup вы можете отобразить имя хоста вошедших в систему пользователей.

 

Проверьте прошлые логины и неверные данные логинов

Вы , наверное , знаете , что в иерархии файловой системы Linux, хранит время выполнения информации и журналов.

Команда who извлекает информацию из/var/run/utmp. Вы можете указать другие файлы журнала, чтобы получить другую информацию.

Например, вы можете получить информацию о последних входах в систему, если вы используете файл/var/log/wtmp.

root@localhost:~# who /var/log/wtmp
root     pts/0        2020-02-03 06:48 (152.72.29.73)
alex   pts/1        2020-02-03 07:02 (252.142.106.85)
destroyer pts/2        2020-02-03 07:02 (187.41.92.90)
alex   pts/1        2020-02-03 07:12 (252.142.106.85)
alex   pts/1        2020-02-03 08:55 (252.142.106.85)

 

Точно так же вы можете увидеть все неудачные попытки входа в систему, используя файл/var/log/btmp.

root@localhost:~# who /var/log/btmp

 

Конечно, это зависит от того, настроена ли ваша система для регистрации этой информации.

В конце концов…

Есть еще несколько опций, таких как -H, которые добавляют заголовок в качестве первой строки вывода. Вы всегда можете изучить их через его справочную страницу .

Мы перечислили, как мы считаем, важные примеры команды who. Надеюсь, вам понравится эта краткая статья по Linux.

Exit mobile version