Linux видит, кто вошел в систему

Обновлено: 30.06.2024

Linux — одна из наиболее популярных операционных систем для многопользовательской установки. Многопользовательская операционная система означает систему, к которой может получить доступ более одного пользователя. Эти системы в основном используются на серверах крупных организаций, предприятий, государственных учреждений и образовательных учреждений.

Разные пользователи получают доступ к многопользовательской операционной системе, и для отслеживания активности пользователей важно следить за историей входа в систему. История входа в систему содержит полезную информацию о различных пользователях, которые обращались к машине, например имя пользователя, имя терминала, IP-адрес, дату и время входа в систему. Кроме того, история входа также помогает выявлять различные проблемы, особенно для устранения неполадок.

В этой статье основное внимание уделяется подходу к проверке истории входа пользователя. Прежде чем углубиться в это, давайте разберемся, как Linux упорядочивает данные для входа и управляет ими:

Как Linux хранит файлы журналов?

Linux (Ubuntu) хранит данные для входа в три места:

  • var/log/utmp — содержит информацию о пользователях, которые в данный момент вошли в систему.
  • var/log/utmw — содержит историю всех вошедших в систему пользователей.
  • var/log/btmp — сохраняет все неудачные попытки входа

Все эти файлы также хранят информацию о входе и попытках входа.

Как проверить историю входов?

Чтобы проверить историю входов, используйте следующую команду:


Он предоставляет информацию обо всех пользователях, которые успешно вошли в систему. Он выполняет поиск в файле «var/log/utmw» и отображает историю всех пользователей, которые вошли в систему с момента создания файла.

Приведенные выше выходные данные показывают, что разные пользователи, подключенные к серверу с машины с IP-адресом «192.168.8.113», «pts/1», указывают на то, что доступ к серверу осуществлялся через SSH.

Как проверить историю входов определенного пользователя?

Чтобы проверить историю входов определенного пользователя, используйте команду «последняя» с именем пользователя этого конкретного пользователя:

Я ищу «мартин»; команда будет:


Как проверить конкретное количество входов в систему?

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

Замените «X» на количество входов в систему, которое вы хотите отображать в качестве стандартного вывода:


Вы также можете использовать его с определенным именем пользователя:

Как проверить неудачные попытки входа в систему:

Как обсуждалось выше, Linux также хранит информацию о неудачных попытках входа в систему. Чтобы отобразить его, используйте приведенную ниже команду:



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

Вывод:

Linux является наиболее предпочтительной операционной системой для серверов во многих компаниях, поскольку это безопасная многопользовательская платформа. Многие пользователи обращаются к серверу, и для отслеживания активности пользователей нам нужна информация для входа в систему. В этом руководстве мы узнали, как проверить историю входа пользователя в Linux. Кроме того, мы также проанализировали, как можно бороться с плохими попытками защитить сервер. Мы использовали команду «последняя», но другой инструмент под названием «aureport» отслеживает успешные и неудачные входы в систему.

Об авторе

Сэм Ю

Я профессиональный графический дизайнер с опытом работы более 6 лет. В настоящее время занимается исследованиями в области виртуальной реальности, дополненной реальности и смешанной реальности.
Я почти не смотрю фильмы, но люблю читать книги и статьи о технологиях.

Эта статья написана Хари Хараном.

Как системный администратор вы можете знать, кто находится в системе в любой момент времени. Вы также можете узнать, что они делают. В этой статье давайте рассмотрим 4 различных метода определения того, кто находится в вашей системе Linux.

1. Получите запущенные процессы вошедшего в систему пользователя, используя w

Команда

w используется для отображения имен зарегистрированных пользователей и того, что они делают. Информация будет считана из файла /var/run/utmp. Вывод команды w содержит следующие столбцы:

  • Имя пользователя
  • Номер компьютера пользователя или номер телетайпа
  • Адрес удаленного компьютера
  • Время входа пользователя
  • Время простоя (неиспользуемое время)
  • Время, используемое всеми процессами, подключенными к tty (время JCPU)
  • Время, используемое текущим процессом (время PCPU)
  • Команда в настоящее время выполняется пользователями


Для команды w можно использовать следующие параметры:

  • -h Игнорировать информацию заголовка
  • -u Отображать среднюю загрузку (вывод времени безотказной работы)
  • -s Удалить JCPU, PCPU и время входа в систему.

2. Получить имя пользователя и процесс вошедшего в систему пользователя с помощью команды who и users

Команда who используется для получения списка имен пользователей, которые в данный момент вошли в систему. Вывод команды who содержит следующие столбцы: имя пользователя, номер tty, дата и время, адрес машины.


Чтобы получить список всех имен пользователей, которые в данный момент вошли в систему, используйте следующее:

Команды пользователей

Команда

users используется для вывода имени пользователя, который в данный момент зарегистрирован на текущем хосте. Это одна из команд, у которой нет других опций, кроме справки и версии. Если пользователь использует «n» терминалов, имя пользователя будет отображаться в «n» раз в выводе.

3. Получите имя пользователя, под которым вы сейчас вошли, используя whoami

Команда whoami используется для печати имени пользователя, вошедшего в систему.


Команда whoami дает тот же результат, что и id -un, как показано ниже:


команда who am i отобразит имя пользователя, вошедшего в систему, и текущие данные tty. Вывод этой команды содержит следующие столбцы: имя вошедшего в систему пользователя, имя tty, текущее время с датой и IP-адрес, с которого эти пользователи инициировали соединение.

Кроме того, если вы выполните команду su для другого пользователя, эта команда предоставит информацию об имени пользователя, вошедшего в систему.

4. Получить историю входа пользователя в любое время

последняя команда предоставит историю входа для определенного имени пользователя. Если мы не укажем никаких аргументов для этой команды, она отобразит историю входов в систему для всех пользователей. По умолчанию эта информация будет считываться из файла /var/log/wtmp. Вывод этой команды содержит следующие столбцы:

  • Имя пользователя
  • Телефонный номер устройства
  • Дата и время входа
  • Время выхода
  • Общее рабочее время


Эта статья написана Хари Хараном. Он работает в bk Systems (p) Ltd и заинтересован в содействии открытому исходному коду. Geek Stuff приветствует ваши советы и гостевые статьи.

Если вам понравилась эта статья, вам также может понравиться...

Комментарии к этой записи закрыты.

Я знал только команду "w", так что остальное для меня новое!

Я просто хочу сказать, что мне нравится ваш блог, и продолжать писать 🙂

Я рад, что из этой статьи вы узнали несколько новых советов. Я искренне ценю ваши хорошие комментарии об этом блоге.

Спасибо за публикацию в этом блоге. Он очень полезен для меня. Продолжайте публиковать

Мне понравилась команда "кого любит мама", на самом деле я не знала об этой. Круто 🙂

«Кого любит мама» и «Кого мама ненавидит» — это то же самое, что и «кто я». Пока есть два аргумента рядом с кем, это будет работать. 🙂

Я знаю этот блог по вашей бесплатной электронной книге "Linux 101Hacks", Cool. Я предпочитаю ues who, whoami и w. Никогда не знаешь, что есть так много других команд. спасибо за такое подробное объяснение.

Здравствуйте!
Много вещей, которые нужно изучить в Linux (я начал 2 года назад), и до сих пор ничего не знаю….
Но благодаря таким парням, как Рамеш, которые готовы обучать нас бесплатно, я постепенно делаю успехи…
Спасибо!

ps.: мой веб-сайт на словенском языке, поэтому посетитель, вероятно, не поймет его, но если кого-то заинтересует, есть фотографии моих детей (тройняшек) и так далее….

@Jennifer, спасибо за комментарии. Я рад, что этот блог и бесплатная электронная книга оказались полезными для вас.

@Marko, спасибо за очень добрые слова. Я рад, что вы нашли этот сайт полезным в процессе изучения Linux. Я посетил ваш сайт и увидел фотографии ваших детей. Они очень милые. Я уверен, что они занимают вас очень много. 🙂

Привет,
спасибо, что нашли время и посетили мой веб-сайт, который впервые был запущен в 2000 году, когда родились мои дети, просто в качестве эксперимента, и он работал на моем настольном компьютере (winXP и Apache) без зарегистрированного домена….только для друзей, которым я сказал адрес сайта….
Позже, когда я купил маршрутизатор Asus и обнаружил, что он способен запускать в Linux все, что угодно, включая веб-сервер, я решил зарегистрировать свой собственный домен и начал с сайта «Помощь ПК», чтобы помочь пользователям Окна…; позже, когда мои дети присоединились к клубу дзюдо, меня спросили, смогу ли я сделать для них веб-страницу, поэтому я начал со страницы дзюдо (сейчас это страница, которую я редактирую чаще всего)
И вот лучшее из всего этого: Я начал изучать Linux.

Это было немного истории, я надеюсь, что мой английский понятен, и я надеюсь, что я не был скучным….

@Marko, спасибо, что поделились своим личным путешествием по сайту. Это очень интересная история.Как вы упомянули, «Изучение Linux» — всегда веселая часть, и похоже, что вы занимались этим, развлекаясь и создавая свой веб-сайт.

Какая команда позволяет просмотреть всех пользователей на компьютере, вошедших или вышедших из системы? Я имею в виду перейти в домашний каталог и ввести команду ls.

Кроме того, как просмотреть эти скрытые учетные записи?

Спасибо братан. Ты заставляешь нас быть теми, кем мы скоро станем… Спасибо.

Спасибо за эту статью… это очень интересно, я хочу узнать больше о входе пользователя в систему…
пожалуйста, опубликуйте статью о выходе пользователя из системы, что происходит

может ли кто-нибудь сказать мне, как найти всех вошедших в систему пользователей с именами пользователей, состоящими не менее чем из четырех символов

Есть ли у нас возможность узнать, что пользователь вошел в систему как пользователь FTP? Есть ли способ узнать, кто вошел на сервер с помощью FTP, кроме просмотра журналов ftp-сервера?

У меня есть скрипт unix с указанным ниже содержимым, но я не могу его идентифицировать.

Может ли кто-нибудь помочь мне.
jagmsgbp 20411 21312 0 16:38:19 pts/2 0:00 /bin/ksh ./mq_sweep.ksh 2 10 2 5

Очень полезно. Спасибо 🙂

Можете ли вы помочь мне написать Java-программу, в которой перечислены все пользователи, вошедшие в систему в моей системе Linux, при условии, что я не могу использовать системные вызовы…. Пожалуйста, помогите мне

Это не позволит пользователям, вошедшим в систему через X сеансов

кратко и информативно. так держать!

Когда я получаю [priv], как показано ниже. Что это значит?

ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv]

Если это способ скрыть активность пользователя? Если да, то как я могу показать 😀

Очень полезно.. Спасибо за статью. 🙂

Я хочу создать сценарий, в котором я должен получить список всех пользователей, выполнивших вход на каком-либо компьютере с 22.04.2014 по 29.03.2014.

Можете ли вы помочь мне?

Хорошая информация, но что, если вы хотите узнать обо всех пользователях, выполняющих команды?
Ни один из этих вариантов не показывает сервисные аккаунты.

Я использую следующее, чтобы получить список всех пользователей, выполняющих команды.
ps -eo user |sort -u
Затем я могу пройтись по каждому пользователю и получить статистику, такую ​​как общий процессор, потребление памяти, общее количество процессов, созданных пользователем и т. д.

ashokkrishna@ashokkrishna-Lenovo-B560:~$ who -l
ВХОД tty4 03.04.2015 23:08 894 /> ВХОД tty5 03.04.2015 23:08 898 /> ВХОД tty3 2015- 04-03 23:08 907 /> ВХОД tty6 03.04.2015 23:08 910 /> ВХОД tty1 03.04.2015 23:08 1491 /> ВХОД tty2 04.04.2015 03:55 9448 >

почему имя пользователя LOGIN, и я вошел только в tty7, но он показывает пользователей tty1,2,3,4,5

Вау... такая хорошая статья. Это очень нулевая статья (по делу), фундаментальная по делу и с примерами. Спасибо.

Как получить идентификационный номер родительского процесса

Linux 101 Hacks Book

  • Электронная книга Linux 101 Hacks, 2-е издание. Практические примеры создания прочной основы в Linux. Возьмите под свой контроль командную строку Bash и сценарии оболочки. Улучшите свою жизнь в UNIX/Linux с помощью Sed и Awk. Редактор Vim: следите за всем, будьте активны и спокойно спите

О гиковском материале


Меня зовут Рамеш Натараджан. Я буду публиковать инструкции, практические советы, советы и рекомендации по устранению неполадок в Linux, базах данных, оборудовании, безопасности и Интернете. Я сосредоточен на написании статей, которые либо научат вас, либо помогут решить проблему. Узнайте больше о Рамеше Натараджане и блоге.

Свяжитесь с нами

Напишите мне по электронной почте: используйте эту контактную форму, чтобы связаться со мной с вашими комментариями, вопросами или предложениями об этом сайте. Вы также можете просто написать мне, чтобы поздороваться!.

Поддержите нас

Поддержите этот блог, купив одну из моих электронных книг.

Авторское право © 2008–2021 Рамеш Натараджан. Все права защищены | Условия использования

Проверьте, кто вошел в вашу систему Linux, с помощью этих простых команд. Вы также можете получить дополнительную информацию о вошедших в систему пользователях, например время их входа в систему.

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

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

В этом руководстве я покажу вам различные способы составления списка зарегистрированных пользователей в Linux.

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

Выполнен вход Пользователи Linux

Почти все эти команды используют данные, хранящиеся в каталоге /var или /proc. Если вы немного знакомы со структурой каталогов в Linux, то знаете, что эти два каталога содержат данные о запущенных процессах в вашей системе.

1.Используйте команду w для просмотра вошедших пользователей в Linux

Может ли это быть проще? Просто введите в терминале команду из одной буквы, и она покажет текущих зарегистрированных пользователей в Linux.

А вот вывод команды w:

Позвольте мне объяснить несколько терминов в выводе команды w. Те же термины будут использоваться и в других командах.

TTY предоставляет информацию о терминале, используемом для входа в систему. pts означает подчиненный псевдотерминал, который указывает, что пользователь вошел в систему через SSH-соединение.

Он показывает IP-адрес компьютера пользователя, время входа в систему. Вы также можете увидеть, как долго пользователь бездействует (бездельничает на работе? :D).

JCPU — это время, используемое всеми процессами, подключенными к TTY, а PCPU — это время, используемое текущим процессом, запущенным пользователем. Вы можете увидеть текущий процесс в столбце ЧТО.

2. Проверить, кто вошел в систему с помощью команды who

Команда Who — еще одна простая команда. Просто введите who, и он покажет, кто в данный момент вошел в вашу систему Linux.

Вы также можете увидеть время входа и IP-адрес вошедшего в систему пользователя.

3. Просто войдите в систему с помощью команды пользователей

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

В этом вам может помочь команда users. Эта команда выводит только зарегистрированных пользователей и ничего больше.

4. Использование команды finger для просмотра вошедших в систему пользователей

Возможно, сначала потребуется установить команду finger, поскольку не во всех дистрибутивах Linux она установлена ​​по умолчанию.

Он доступен в репозитории юниверсов Ubuntu, и вы можете установить его с помощью этой команды:

После установки просто введите палец в терминале:

И вы увидите, кто вошел в вашу систему Linux.

Дополнительный совет: узнайте, кто входил в вашу систему с момента последней перезагрузки

То, что вы видели до сих пор, касалось вошедших в систему пользователей. Как узнать, вышел ли пользователь из системы?

Последняя команда в Linux дает вам информацию обо всех пользователях, которые вошли в систему с момента последней перезагрузки. Также будет показано время входа и выхода пользователей, вышедших из системы.

Вот вывод последней команды, который, я думаю, говорит сам за себя.

Я надеюсь, что это краткое руководство помогло вам найти пользователей, которые в данный момент вошли в вашу систему Linux. Если вы знаете другой способ сделать это, поделитесь с нами своим трюком в разделе комментариев.

Linux — это многопользовательская операционная система, которая позволяет нескольким пользователям одновременно получать доступ к системе.

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

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

В этом руководстве мы покажем вам, как проверить текущих пользователей, вошедших в систему, с помощью нескольких команд в Linux.

Знание нескольких команд для поиска одной и той же информации не повредит вам, и не стесняйтесь проверять альтернативные варианты.

Метод 1: проверка вошедших в систему пользователей с помощью команды ‘w’

«Команда w» показывает, кто вошел в систему и что они делают. Он отображает информацию о текущих пользователях на машине, читая файл /var/run/utmp и их процессы /proc .

Выходные данные команды

w содержат информацию заголовка, в которой отображается системная активность, такая как текущее время, время работы системы, количество пользователей, вошедших в систему в данный момент, и загрузка системы (в среднем за последние 1, 5 и 15 минут). )

Команда w содержит следующие значения:

имя пользователя для входа в систему, номер tty, удаленный хост, время входа пользователя в систему, время простоя, JCPU (время, используемое всеми процессами, подключенными к tty), PCPU (время, используемое текущим процессом) и какие команды выполняются в данный момент. пользователями. Пожалуйста, смотрите ниже:

Метод 2: определение того, кто вошел в систему, с помощью команды who

Команда who показывает информацию о пользователях, которые в данный момент вошли в систему. Для получения этих сведений используются файлы «/var/run/utmp» и «/var/log/wtmp».

  • /var/run/utmp: содержит информацию о пользователях, которые в данный момент вошли в систему. Команда who используется для извлечения информации из файла.
  • /var/log/wtmp: содержит исторический utmp. Он хранит историю входа и выхода пользователей. Последняя команда использует этот файл для отображения информации.

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

Способ 3. Как просмотреть пользователей, вошедших в систему, с помощью команды whoami

whoami в основном является конкатенацией строк «кто», «ам», «я» как whoami. Он отображает имя пользователя текущего пользователя. Это похоже на запуск команды id с параметрами -un, как показано ниже:

Кроме того, когда вы используете whoami с пробелом (кто я), это даст вам другой результат. Он отобразит больше деталей по сравнению с командой whoami, как показано ниже:

Команда «id» выводит информацию о пользователе и группе для указанного имени пользователя, но мы можем добавить параметр -un с командой «id», чтобы отобразить всех вошедших в систему пользователей, как показано ниже:

Метод 4: использование команды пользователя

‘users command’ выводит имена пользователей, которые в данный момент вошли в систему на текущем хосте. Он использует файлы /var/run/utmp и /var/log/wtmp для получения сведений, как показано ниже:

Метод 5: Показать зарегистрированных пользователей с помощью команды «finger»

finger — это утилита, которая позволяет пользователям просматривать информацию о пользователях системы (логин, домашний каталог, имя, как долго они находятся в системе и т. д.).

Утилита Finger доступна во всех основных дистрибутивах Linux, но не устанавливается по умолчанию. Используйте диспетчер пакетов дистрибутива для установки «finger» в вашей системе.

Дополнительные советы

Кроме того, вы можете использовать следующие методы, чтобы определить, кто вошел в систему в вашей системе:

Дополнительный совет-1: как показать текущих пользователей, вошедших в систему, с помощью «последней» команды

«Последняя команда» показывает список последних вошедших в систему пользователей путем поиска данных в файле /var/log/wtmp. Кроме того, он показывает информацию о перезагрузке системы.

Вывод команды «последний» содержит имя пользователя для входа в систему, номер терминала, удаленный хост, дату, время входа в систему, время выхода из системы и общую продолжительность (рабочее время).

Выполните следующую команду, чтобы показать, кто сегодня вошел в систему. Кроме того, вы можете проверить, кто в данный момент вошел в систему, отфильтровав строку «все еще в системе».

Дополнительные советы – 2. Ручной способ проверить, кто вошел в систему

И последнее, но не менее важное: мы можем получить список пользователей, вошедших в систему на компьютере с Linux, вручную, используя команды less или more, команду head или команду tail, за которыми следует расположение файла журнала.

Журналы аутентификации пользователей находятся в @/var/log/secure для систем на основе RHEL и /var/log/auth.log для систем на базе Debian.

Приветствую вас

В этом руководстве вы узнали, как узнать, кто в данный момент вошел в систему вашей системы Linux, с помощью различных команд.

Если вы нашли эту статью полезной, поделитесь ею с друзьями и распространите информацию. Пожалуйста, не стесняйтесь комментировать ниже, если у вас есть какие-либо вопросы/проблемы. Мы свяжемся с вами, как только сможем. Приятного обучения!

Читайте также: