Как посмотреть сессии линукс

Содержание
  1. Linux и Windows: помощь админам и пользователям
  2. Администрируем и настраиваем Windows, Linux.
  3. 4 способа определить кто залогинен в Linux
  4. 1. Получаем список пользователей и команды, используемые ими с помощью команды w
  5. 2. Получаем список пользователей с помощью команды who
  6. 3. Узнаем под каким пользователем залогинены вы сами
  7. 4. Смотрим историю подключений пользователя
  8. Просмотр истории входа в Linux. Кто и когда входил в систему
  9. Где хранятся логи входа в систему
  10. Просмотр истории входа в систему
  11. Просмотр истории входа для определенного пользователя
  12. Ограничить количество строк
  13. Просмотр неудачных попыток входа в систему
  14. Заключение
  15. Команда who Linux
  16. Синтаксис
  17. Примеры
  18. Заключение
  19. Утилита ss в Linux
  20. Общая информация
  21. Опции утилиты ss
  22. Примеры использования
  23. Мониторинг сетевых подключений
  24. Просмотр статистики статистики сетевых подключений
  25. Фильтрация по протоколу
  26. Фильтрация по состоянию соединения
  27. Фильтрация по адресу и номеру порта
  28. Выводы

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

4 способа определить кто залогинен в Linux

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

1. Получаем список пользователей и команды, используемые ими с помощью команды w

Команда w используется для получения списка залогиненных пользователей и выполняемых ими команд. Вывод команды w содержит следующие колонки:[cut]

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

Дополнительно могут быть использованы следующие опции:

  • -h игнорировать информацию заголовка
  • -u отображать текущую загрузку
  • -s Удалить из вывода JCPU, PCPU, и время подключения

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

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

Для получения отсортированного списка используем команду:

3. Узнаем под каким пользователем залогинены вы сами

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

whoami дает такую же информацию, как и команда id -un

4. Смотрим историю подключений пользователя

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

  • Имя пользователя
  • Номер Tty
  • Время и дата подключения
  • Время отключения
  • Общее время работы сеанса

Постовой

Не хватает фантазии сочинить собственный текст, или просто нет времени? Вам определенно требуется копирайтер, который сделает для вас качественный уникальный материал.

Качественные объективы для фотоаппаратов. Практические все виды объективов по низким ценам.

Источник

Просмотр истории входа в Linux. Кто и когда входил в систему

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

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

Помимо этого, бывает полезно узнать о неудачных попытках входа. Это могут быть боты, но могут быть и попытки взлома вашего сервера.

Где хранятся логи входа в систему

Информация о том, кто входил (залогинивался) или пытался войти в систему, хранится в лог файлах. Для этого используется три лог-файла:
/var/log/btmp — неудачные попытки входа.
/var/run/utmp — кто в данный момент залогинен (текущие сессии).
/var/log/wtmp — список всех сессий входа в систему.

Эти файлы, в отличии от большинства других лог-файлов Linux, имеют бинарный формат. Если вы попробуете просмотреть их командой cat , то на экран будет выведена «каша». Для их просмотра используется команда last .

Читайте также:  Wubi download windows installer

Просмотр истории входа в систему

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

Выполним команду last :

Как вы можете видеть, выводится таблица с информацией. В ней содержатся имена пользователей, IP-адрес, с которого осуществлялся вход, дата и время входа и продолжительность сессии. Запись вида pts/0 означает, что для входа использовалось SSH соединение (или другое удаленное соединение, например, telnet).

Также выводится информация о включении/выключении системы.

Последняя строка в файле /var/log/wtmp показывает, когда был создан файл.

Просмотр истории входа для определенного пользователя

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

Ограничить количество строк

Иногда лог, который выводит команда last , может быть очень большой. Чтобы ограничить количество выводимых строк, используется опция -n ЧислоСтрок или просто -ЧислоСтрок .

Выведем только десять свежих записей:

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

Как было сказано выше, записи о неудачных попытках входа в систему хранятся в лог-файле /var/log/btmp .

Команда last по умолчанию выводит информацию из файла /var/log/wtmp . Чтобы вывести информацию из другого файла, используется опция -f ИмяФайла

Выведем записи о неудачных попытках входа (из файла /var/log/btmp ):

Или же можно воспользоваться командой lastb . Команда lastb работает точно также, как и команда last , но выводит информацию из файла /var/log/btmp

Заключение

Мы рассмотрели использование команды last для просмотра информации об истории входа в систему.

Дополнительную информацию по использованию команды last можно получить, выполнив в терминале:

Источник

Команда who Linux

Команда who – настоящая палочка-выручалочка, благодаря которой так легко раздобыть всю необходимую информацию о пользователях, когда-либо работающих за конкретным компьютером. Так как операционная система Linux является многопользовательской, она отслеживает сеансы всех юзеров сети (кто работал за ПК, время старта и окончания его сеанса и прочее). Большинство пользователей операционной системы Linux отзываются об этом инструменте положительно. Он прекрасно показывает себя на практике.

Синтаксис

  • -a — читает файл /etc/utmp, включает все основные опции;
  • -b — показывает дату и время загрузки операционной системы;
  • -d — показывает зомби-процессы.
  • -u — выводит активных пользователей.
  • -s — выводит имя, терминальную сессию и время, данный параметр используется по умолчанию;
  • -T — информация о терминальной сессии;
  • -q — количество пользователей в системе в данный момент;
  • -r — показывает уровень процесса init.

Обычно для выполнения команды who берется информация файла: «/etc/utmp».

Альтернативные файлы: «/etc/wtmp» и «/etc/inittab».

Примеры

Если не использовать опции и аргументы, на экране появятся данные по умолчанию, включающие в себя информацию об учетных записях (тех, кто подключен к системе). Чтобы ознакомиться с данными о пользователе, который изъявил желание обратиться к терминалу прямо сейчас («спросить» у системы о самом себе), необходимо использовать команду «who am i».

Для получения обширной информации о подключенных пользователей достаточно ввести команду в виде:

Каких-либо дополнительных указаний в этом случае не потребуется. Если использовать исключительно «who», данных будет сравнительно меньше. Детализировать этот запрос или нет – решать только вам. Смотрите по ситуации.

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

Впишите её в терминале и ознакомьтесь с результатами запроса.

Чтобы посмотреть «runinit» (текущий уровень запуска), впишите в команду соответствующую опцию. Это будет выглядеть так:

Опция -s не имеет особого смысла, поскольку она провоцирует вывод таких стандартных значений, как «Имя пользователя», «терминальная линия», «время начала/окончания сеанса». Эта информация доступна и без добавления каких-либо опций. Едем дальше.

С помощью аргумента -T можно узнать состояние терминальной сессии. На практике это выглядит следующим образом:

Для чего нужна информация о состоянии терминальной сессии? От её состояния зависят некоторые нюансы в работе пользователя. Обратите внимание на название любой сессии, отображенной в окошке терминала. Если рядом с ним указан значок «+», значит, пользователь может получать сообщения от других терминалов. Если такой возможности нет, рядом с названием сессии будет указан значок «-».

Читайте также:  Linux checking user groups

При неисправности линии появится вопросительный знак.

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

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

При добавлении опции -d отображаются зомби-процессы:

Важное примечание: при использовании опции -d нельзя увидеть поле EXIT в окне терминала. Оно появляется лишь при добавлении опции -а.

Заключение

Основная задача утилиты who заключается в получении информации о пользователях, подключенных к системе. Вторичная задача – сбор данных о терминальных сессиях, благодаря которым и происходит их подключение.

Благодаря выше предоставленным примерам команд вы тоже можете ощутить простоту отслеживания данных о user системы. Всего несколько нажатий клавиш – и ответы на вопросы найдены.

Источник

Утилита ss в Linux

Иногда бывает необходимо посмотреть какие сетевые подключения Linux открыты, какие IP адреса используются или какие порты прослушиваются. Раньше для таких целей использовалась утилита netstat. Её, без сомнения, знают все системные администраторы и специалисты по безопасности. Но она больше не поставляется по умолчанию в новых дистрибутивах. Вместо неё используется новая утилита под названием ss.

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

Как вы уже поняли в этой статье мы рассмотрим мониторинг сетевых подключений в Linux с помощью утилиты из пакета iproute — ss linux. Начнем, как обычно, с синтаксиса и основных опций.

Общая информация

Как уже было сказано работает утилита ss в Linux на основе подсистемы ядра. Синтаксис очень простой — сама команда и ее опции:

$ ss опции [ фильтр_состояния] [фильтр_адреса]

Для удобства вывод команды ss можно фильтровать с помощью grep:

$ ss опции | grep шаблон

Опции указывает различные параметры отображения и фильтрации информации. Фильтры по состоянию и адресу очень интересная вещь, они позволяют выполнять мониторинг сетевых подключений в Linux, только тех что нужно. Например, только открытых, закрытых или находящихся на этапе подключения. Подробнее мы рассмотрим это в конце статьи.

Опции утилиты ss

Для сетевых подключений в Linux с помощью утилиты ss можно использовать такие опции:

  • -V — Version показать версию утилиты.
  • -n — Numeric не определять имена служб.
  • -r — Resolve определять сетевые имена адресов с помощью DNS.
  • -a — All отобразить все сокеты (открытые соединения).
  • -l — Listening показать только прослушиваемые сокеты.
  • -o — Options показать информацию таймера.
  • -e — Extended выводить расширенную информацию о сокете.
  • -p — Processes, показать процессы, использующие сокет.
  • -i — Internal, посмотреть внутреннюю информацию TCP.
  • -s — Summary, статистика использования сокета.
  • -D — экспортировать текущее состояние TCP сокетов в файл.
  • -F — работать с информацией, взятой из файла.

Кроме того, можно вывести сокеты только нужного протокола:

  • -4, —ipv4 — только сокеты протокола IP версии 4.
  • -6 —ipv6 — только сокеты протокола IP версии 6.
  • -0, —packet — только PACKET сокеты.
  • -t, —tcp — TCP сокеты.
  • -u, —udp — UDP сокеты.
  • -d, —dhcp — DHCP сокеты.
  • -r, —raw — RAW сокеты.
  • -x, —unix — UNIX сокеты.

Для фильтрации протоколов можно использовать не только эти опции, но и универсальную опцию -f, передав ей в параметре название протокола. Здесь собраны самые основные опции, если вам нужно больше информации — смотрите справку команды.

Читайте также:  Mac os default app

Примеры использования

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

Мониторинг сетевых подключений

Сначала смотрим все сетевые подключения:

Посмотрим только TCP соединения:

Теперь только Unix:

Для отображения UDP сокетов используйте опцию u. По умолчанию будут показаны только подключенные соединения. Если хотите получить все, нужно использовать опцию a. Поскольку UDP, это протокол без постоянного соединения, то без опции -a мы ничего не увидим:

По умолчанию утилита не пытается определять имена хостов через dns, но можно ее попросить делать это опцией -r:

Обратная опция -n, не будет выполняться не только dns резолвинг, но и определение протоколов портов, зато мониторинг сети в Linux работать будет быстрее:

Теперь просмотрим только прослушиваемые tcp сокеты.

Здесь мы видим только имена служб, это не всегда удобно, указав опцию n, мы получим номера портов. Так же само можно посмотреть прослушиваемые udp сокеты:

Также мы можем попытаться узнать название и PID процесса, использующего сокет:

Просмотр статистики статистики сетевых подключений

Для просмотра статистики по использованию сетевых подключений наберите:

С помощью опции -о можно посмотреть информацию о таймере и состоянии подключения.

Фильтрация по протоколу

Мы можем отображать только нужный нам протокол. Например только ipv4:

sudo ss -tl -f inet4

Так же само можно отобразить только соединения ipv6:

Фильтрация по состоянию соединения

В синтаксисе команды мы описали два дополнительных параметра. Фильтрация состояния и фильтрация по адресу. Рассмотрим теперь как ими пользоваться. Сокет TCP может находиться в одном из нескольких состояний. Например, так утилита ss linux выведет только подключенные сокеты.

ss -t4 state established

Или сокеты в состоянии ожидания:

sudo ss -t4 state time-wait

В параметр state можно передать одно из следующих значений:

  • established
  • syn-sent
  • syn-recv
  • fin-wait-1
  • fin-wait-2
  • time-wait
  • closed
  • close-wait
  • last-ack
  • closing
  • all — все состояния
  • connected — все кроме прослушиваемых и закрытых
  • synchronized — все кроме syn-sent
  • bucket — time-wait и syn-recv
  • big — все кроме bucket

Не все состояния подключений можно увидеть просто выполнив команду. Например, syn-sent и syn-recv вряд ли получиться словить, потому что соединения находятся в этом состоянии очень короткое время. Для их отображения удобно использовать команду watch:

watch -n 1 «ss -t4 state syn-sent»

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

Фильтрация по адресу и номеру порта

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

Например, отберем все сетевые подключения linux с портом источником или приемником ssh, то есть все входящие и исходящие соединения ssh:

ss -at ‘( dport = :ssh or sport = :ssh )’

Или сокеты с портом назначения 80 или 443:

ss -nt ‘( dst :443 or dst :80 )’

Такой синтаксис тоже будет работать:

ss -nt dst :443 or dst :80

Еще несколько примеров фильтрации:

Фильтрация по адресу:

ss -nt dst 74.125.236.178

Фильтрация по адресу и подсети:

ss -nt dst 74.125.236.178/16

И по адресу и порту:

ss -nt dst 74.125.236.178:80

Если вы хотите фильтровать сетевые соединения по порту, перед портом ставьте двоеточие:

ss -nt dport = :80

Можно использовать такие операторы сравнения:

  • = или ge — больше или ровно порту.
  • == или eq — точное соответствие.
  • != или ne — не равно.
  • или lt — больше.

Выводы

Вот и всё. Основную информацию о том, как выполнять мониторинг сети в Linux с помощью утилиты ss рассмотрели. Если вам нужно больше информации и примеров смотрите документацию по утилитам набора iproute.

Источник

Оцените статью