- Как увидеть пользователей, вошедших в Linux
- 4 Команды для просмотра зарегистрированных пользователей в Linux
- 1. Используйте команду w, чтобы увидеть зарегистрированных пользователей в Linux
- 2. Проверьте, кто вошел в систему с помощью команды who
- 3. Просто выведите только зарегистрированных пользователей с помощью команды users
- 4. Используя команду finger, чтобы увидеть зарегистрированных пользователей
- Бонусный совет: посмотрите, кто вошел в вашу систему с момента последней перезагрузки
- Команда who Linux
- Синтаксис who
- Опции who
- Примеры использования who
- Выводы
- 4 способа определить кто залогинен в Linux
- 1. Получаем список пользователей и команды, используемые ими с помощью команды w
- 2. Получаем список пользователей с помощью команды who
- 3. Узнаем под каким пользователем залогинены вы сами
- 4. Смотрим историю подключений пользователя
Как увидеть пользователей, вошедших в Linux
П роверьте, кто вошел в вашу систему Linux с помощью простых команд указанных в статье. Вы также можете получить дополнительную информацию о зарегистрированных пользователях, таких как время их входа.
Вы когда-нибудь интересовались, кто вошел в вашу систему Linux? Вы всегда можете перечислить всех пользователей в вашей системе Linux, но не все из них будут входить в систему все время.
Если вы работаете в многопользовательской среде Linux, такой как сервер Linux, проверка зарегистрированных пользователей может быть полезной и интересной одновременно.
4 Команды для просмотра зарегистрированных пользователей в Linux
Почти все эти команды основаны на данных, хранящихся в каталоге /var или /proc. Если вы немного знакомы со структурой каталогов в Linux, вы знаете, что эти два каталога содержат данные о запущенных процессах в вашей системе.
1. Используйте команду w, чтобы увидеть зарегистрированных пользователей в Linux
Может ли это быть проще, чем это? Просто введите односимвольную команду в терминале, и она покажет зарегистрированных пользователей в Linux.
И вот вывод для команды w:
andreyex@test-server:~$ w 09:54:54 up 26 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 202.91.87.114 09:37 21.00s 0.00s 0.00s -bash andreyex pts/1 202.91.87.114 09:47 0.00s 0.00s 0.00s w alex pts/2 157.43.53.142 09:48 6:13 0.00s 0.00s -bash
Позвольте нам объяснить несколько терминов в выводе команды w. Те же термины будут использоваться и в других командах.
- TTY — предоставляет вам информацию о терминале, который используется для входа в систему. pts означает псевдотерминальный подчиненный, который указывает, что пользователь вошел в систему через соединение SSH.
- FROM — показывает IP-адрес компьютера пользователя, время входа в систему.
- LOGIN — время захода.
- IDLE — здесь можно увидеть, как долго пользователь простаивает (расслабляется на работе?: D).
- JCPU — это время, используемое всеми процессами, подключенными к TTY.
- PCPU — это время, используемое текущим процессом, выполняемым пользователем.
- WHAT — здесь вы можете увидеть этот текущий процесс.
2. Проверьте, кто вошел в систему с помощью команды who
Еще одна простая команда — who. Просто введите who, и он покажет, кто в данный момент вошел в вашу систему Linux.
Вы также можете увидеть время входа и IP-адрес вошедшего в систему пользователя.
andreyex@test-server:~$ who root pts/0 Nov 6 09:37 (202.91.87.114) andreyex pts/1 Nov 6 09:47 (202.91.87.114) alex pts/2 Nov 6 09:48 (157.43.53.142)
3. Просто выведите только зарегистрированных пользователей с помощью команды users
Все команды, которые вы видели до сих пор, дают вам много информации о зарегистрированных пользователях. Если вы работаете над сценарием и хотите знать только имя вошедших в систему пользователей, анализ выходных данных этих команд будет дополнительной и несколько сложной задачей.
Здесь команда users может вам помочь. Эта команда выводит только зарегистрированных пользователей, ничего больше.
andreyex@test-server:~$ users andreyex alex root
4. Используя команду finger, чтобы увидеть зарегистрированных пользователей
Возможно, вам сначала потребуется установить команду finger, потому что не во всех дистрибутивах Linux она установлена по умолчанию.
Она доступна в универсальном репозитории Ubuntu, и вы можете установить ее с помощью этой команды:
После установки просто введите палец в терминале:
И вы увидите, кто вошел в вашу систему Linux.
andreyex@test-server:~$ finger andreyex andreyexTerm pts/1 Nov 6 09:47 (202.91.87.114) alex alex Mast pts/2 13 Nov 6 09:48 (157.43.53.142) root root *pts/0 Nov 6 09:37 (202.91.87.114)
Бонусный совет: посмотрите, кто вошел в вашу систему с момента последней перезагрузки
То, что вы видели до сих пор, касалось зарегистрированных пользователей. Как бы вы узнали, если пользователь вышел из системы?
Команда last в Linux дает вам информацию обо всех пользователях, которые вошли в систему с момента последней перезагрузки. Он также покажет время входа и выхода из системы вышедших пользователей.
Вот вывод команды last, которая, как мне кажется, не требует пояснений.
andreyex@test-server:~$ last alex pts/3 157.43.53.142 Tue Nov 9 10:05 - 10:05 (00:00) alex pts/2 157.43.53.142 Tue Nov 9 09:48 still logged in andreyex pts/1 202.91.87.114 Tue Nov 9 09:47 still logged in root pts/0 202.91.87.114 Tue Nov 9 09:37 still logged in reboot system boot 4.15.0-52-generi Tue Nov 9 09:28 still running wtmp begins Tue Nov 6 09:28:43 2019
Мы надеемся, что эта краткая статья помогла вам найти пользователей, которые в настоящее время подключены к вашей системе Linux. Если вы знаете какой-либо другой способ сделать это, пожалуйста, поделитесь с нами вашим трюком в разделе комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Команда who Linux
Название команды who Linux полностью отображает ее функциональность — она служит для получения информации о пользователях, которые подключены к системе, в том числе и об терминальных сессиях, через которые происходит подключение.
При выполнении команды используются данные из файла /etc/utmp, хотя можно прописать в терминале и другой файл (как правило, используют /etc/wtmp либо /etc/inittab).
Синтаксис who
Синтаксис этой команды достаточно прост и выглядит так:
who опции имя_файла аргументы
Вообще, можно использовать who без каких-либо опций или аргументов. В таком случае отобразится набор данных по умолчанию об учетных записях подключенных пользователей — имя пользователя, название пользовательского терминала, время подключения.
Также можно прописывать команду в виде who am i — тогда она будет идентифицировать конкретно того пользователя, который работает сейчас в терминале (аналогично опции -m).
Опции who
Используя различные опции, можно получать именно ту информацию, которая нужна здесь и сейчас:
- -a (—all) — включает в себя все основные опции.
- — b (—boot) — показывает время загрузки операционной системы.
- -d (—dead) — выводит перечень зомби-процессов.
- — H (—heading) — никак не влияет на получаемую информацию, зато добавляет колонкам заголовки и помогает понять что где находится.
- -m — показать пользователя, который сейчас работает в терминале.
- -r — вывести текущий уровень запуска (runinit);
- -t — показать последнее изменение системных часов;
- -s— вывести только имя, терминальную сессию и время.
- -q— вывести количество авторизованных пользователей.
- -T — данные о терминальной сессии.
- -u — показать активных пользователей.
- —ips — вместо названия хостов показывает ips.
- —lookup — используется в сочетании с —ips, выводит данные, которые основываются на сохраненном IP, если он доступен, а не на названии хоста.
Примеры использования who
Используя опцию -a, мы получаем максимум данных, которыми команда готова снабдить нас без каких-либо дополнительных указаний. В состав этой опции входят опции -b, -d, —login, -p, -r, -t, -T, -u:
Этих данных больше, чем при простом использовании who:
Чтобы узнать только время загрузки системы, достаточно написать в терминале:
Нужно узнать текущий уровень запуска (runinit)? Для этого служит команда who в сочетании с опцией -r:
При использовании опции -s выводятся значения NAME, LINE и TIME — информация, идентичная той, что будет получена без использования каких-либо опций. Все то же самое, но уже с добавлением данных о состоянии терминальной сессии, показывает опция -T.
Состояние — это возможность принимать сообщения от других терминалов. Если рядом с названием терминальной линии стоит «+», как на скриншоте, значит, сообщения могут быть приняты от любого стороннего терминала, в противном случае значение примет вид «-». Если вместо плюса или минуса там находится вопросительный знак, то линия неисправна:
Не упоминается в мануале опция -q, тем не менее, она работает, выводя информацию о количестве пользователей в системе:
С помощью -u можно узнать информацию о тех пользователях, которые активны в данный момент:
На этом же скрине видны изменения, которые происходят при использовании опции -H — у колонок с данными появились заголовки.А вот и зомби-процессы, которые показывает опция -d:
Кстати, поле EXIT при использовании этой опции не выводится. Чтобы увидеть его, следует использовать -a.
Выводы
Команда who Linux — это интересный и полезный инструмент для пользователей Linux. С ее помощью можно узнать всю доступную информацию о пользователях, которые активны в системе сейчас или были активны раньше. Мы постарались как можно подробнее рассказать вам о правилах и нюансах использования who, однако, если у вас остались вопросы, задавайте их в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
4 способа определить кто залогинен в Linux
Если вы системный администратор, вы в любой момент времени можете захотеть узнать кто залогинен на вашем Linux сервере. Несомневаюсь что вам известен способ, который позволяет вам узнать это, но знаете ли вы все их и используете самый удобный? В этой статье мы рассмотрим 4 возможных способа.
1. Получаем список пользователей и команды, используемые ими с помощью команды w
Команда w используется для получения списка залогиненных пользователей и выполняемых ими команд. Вывод команды w содержит следующие колонки:[cut]
- Имя пользователя
- Номер tty
- Адрес, с которого произошло подключение
- Время подключения
- Время бездействия
- Время, затраченное всеми процессами в данном сеансе (JCPU)
- Время, потраченное текущим процессом (PCPU)
- Команда, выполняемая пользователем
Дополнительно могут быть использованы следующие опции:
- -h игнорировать информацию заголовка
- -u отображать текущую загрузку
- -s Удалить из вывода JCPU, PCPU, и время подключения
$ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w $ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h $ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u $ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM IDLE WHAT ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv] jason pts/1 dev-db-server 20:36 -bash john pts/2 dev-db-server 1.00s w -s
2. Получаем список пользователей с помощью команды who
Команда who используется для получения списка пользователей, залогиненных в системе. В выводе находятся следующие колонки: имя пользователя, номер tty, дата и время, адрес подключения.
$ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server)
Для получения отсортированного списка используем команду:
$ who | cut -d’ ‘ -f1 | sort | uniq john jason ramesh
3. Узнаем под каким пользователем залогинены вы сами
Команда whoami сообщит вам информацию о том, под какой учетной записью вы залогинены в системе. Полезно использовать с похмелья
$ whoami john
whoami дает такую же информацию, как и команда id -un
$ id -un john
4. Смотрим историю подключений пользователя
Команда last покажет вам историю подключений для определенного пользователя. Если в качестве аргумента не указан логин какого либо пользователя, отобразится история для всех пользователей. Данная информация берется из файла /var/log/wtmp. В выводе присутствуют следующие колонки:
- Имя пользователя
- Номер Tty
- Время и дата подключения
- Время отключения
- Общее время работы сеанса
$ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
If you liked my post, feel free to subscribe to my rss feeds
This entry was written by admin and posted on 31st Май 2009 at 12:57 дп and filed under Linux. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment(Latest is displayed first) or leave a trackback: Trackback URL.