Как узнать, кто вошел в вашу систему и что они делают
Если вы управляете многопользовательским сервером, вам часто может потребоваться узнать, кто вошел в вашу систему и что они делают. В Unix-подобных системах существует однобуквенная команда под названием ’w’, которая используется для отображения информации о пользователях, находящихся в данный момент на сервере, и их процессах. Эта команда очень полезна, когда вы управляете общим сервером, к которому часто обращается множество пользователей. Вы можете отслеживать их все без использования каких-либо дополнительных инструментов или приложений. Команда «w» покажет подробную информацию, включая текущее время, продолжительность работы системы, количество пользователей, вошедших в систему в данный момент, а также среднюю нагрузку системы за последние 1, 5 и 15 минут.
В этом кратком руководстве мы увидим, как использовать команду «w» для мониторинга пользователей в Linux.
Узнайте, кто вошел в вашу систему, используя команду «w».
Типичное использование команды w:
w [options] user
Давайте посмотрим несколько практических примеров.
Введите «w» в командной строке, чтобы увидеть, кто вошел на ваш сервер.
w
Пример вывода:
12:48:40 up 2 min, 4 users, load average: 0.31, 0.35, 0.15
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 12:46 2:00 0.09s 0.09s -bash
sk pts/0 sk 12:47 1:26 0.04s 0.04s -bash
ostechni pts/1 sk 12:47 1:04 0.04s 0.04s -bash
root pts/2 sk 12:47 0.00s 0.05s 0.00s w
Как вы можете видеть в приведенном выше выводе, команда «w» отображает следующие сведения о каждом пользователе, вошедшем в систему на вашем сервере.
- логин
- имя терминала
- удаленный хост
- время входа в систему
- время простоя
- JCPU, время ПКПУ
- командную строку своего текущего процесса.
Здесь время JCPU — это время, используемое всеми процессами, подключенными к tty, а время PCPU — это время, используемое текущим процессом, указанным в поле «что».
Если вы не хотите печатать заголовок, просто используйте опцию -h, как показано ниже.
w -h
Вы увидите результат, подобный приведенному ниже.
root tty1 12:46 2:29 0.09s 0.09s -bash
sk pts/0 sk 12:47 1:55 0.04s 0.04s -bash
ostechni pts/1 sk 12:47 1:33 0.04s 0.04s -bash
root pts/2 sk 12:47 5.00s 0.06s 0.01s w -h
Как видно из приведенных выше результатов, команда «w» отображает сведения обо всех пользователях. Вы также можете просмотреть данные конкретного пользователя, используя опцию -u, как показано ниже.
w ostechnix
Пример вывода будет:
12:56:39 up 10 min, 4 users, load average: 0.00, 0.08, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ostechni pts/1 sk 12:47 2:15 0.05s 0.05s -bash
Кроме того, вы можете отображать IP-адрес вместо имени хоста для поля «FROM» (имя удаленного хоста), используя опцию -i, как показано ниже.
w -i
Пример вывода:
12:58:31 up 12 min, 4 users, load average: 0.07, 0.08, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 12:46 11:51 0.09s 0.09s -bash
sk pts/0 192.168.43.192 12:47 8:39 0.04s 0.04s -bash
ostechni pts/1 192.168.43.192 12:47 4:07 0.05s 0.05s -bash
root pts/2 192.168.43.192 12:47 7.00s 0.08s 0.01s w -i
Здесь 192.168.43.192 — это система, через которую я подключаюсь к своему серверу через ssh.
Более подробную информацию можно найти на страницах руководства.
man w
Теперь вы знаете, как проверить, кто зашел на ваш сервер и чем они занимаются. Если вы найдете это руководство полезным, поделитесь им в социальных и профессиональных сетях и поддержите нас.
Ваше здоровье!