Linux как завершить сеанс пользователя

Как выкинуть из системы пользователя по SSH в Linux

Главное меню » Linux » Как выкинуть из системы пользователя по SSH в Linux

Отлично. Но что, если вы хотите отключить какого-либо другого пользователя с помощью SSH-соединения?

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

Выкинуть пользователя из сеанса SSH

Сначала проверьте список пользователей, вошедших в систему на вашем сервере Linux. Это можно сделать разными способами. Мы будем использовать команду who с опцией -u. Этот параметр отображает идентификатор процесса сеанса оболочки входа пользователей.

Вот пример вывода:

Теперь представьте, что мы хотим прекратить использование сеанса alex в SSH. Идентификатор процесса его сеанса оболочки – 27583. Если вы завершите сеанс оболочки входа в систему, пользователь будет отключен.

Для этого вы можете использовать команду kill для отправки сигнала SIGHUP. Этот сигнал используется для сообщения о том, что терминал пользователя отключен. Он также эффективно отключает все процессы в сеансе от управляющего терминала.

Конечно, чтобы выполнить такое действие, вы должны быть пользователем root или sudo.

Есть несколько вещей, которые вам следует знать и делать.

Отправить сообщение перед завершением сеанса

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

Принудительно завершить сеанс SSH, если SIGNHUP не работает

Если сигнал SIGHUP не работает, отправьте сигнал SIGKILL.

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

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

Это тот случай, когда ваш сеанс SSH зависает по какой-то причине, например, при отключении сети. Вы можете убить терминал и открыть еще один сеанс SSH с нового терминала, но теперь вы видите, что дважды вошли в систему.

Читайте также:  Reset windows search powershell script

В таком случае вы можете закрыть сеанс, который больше не должен быть активным.

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

Надеемся, этот быстрый совет помог вам выйти из сеанса SSH в Linux. Ваши вопросы и предложения приветствуются.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

linux завершить сеанс пользователя

Для остановки всех сессий пользователя можно воспользоваться командной pkill. С ее помощью можно остановить все процессы пользователя, тем самым завершив его работу в системе.

Выполните в терминале команду:

Мы послали сигнал под номером 9 (SIGKILL) всем процессам пользователя username.

Освещаю, не отсвечивая))

Рубрики

Свежие записи

Иногда бывает необходимо завершить сеанс какого-либо пользователя. Причины на то бывают разные и мы их рассматривать не будем.

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

Говорим системе
who
и получаем примерно такой ответ
root tty1 2010−04−06 10:26
vasyapupkin :0 2010−04−06 09:49
vasyapupkin pts/0 2010−04−06 09:49 (:0)
root pts/3 2010−04−06 10:41 (192.168.1.10)

tty — это локальные консоли
pts — псевдотерминалы.
Для pts в скобках может указываться адрес с которого производится подключение.
Мы узнали кто в системе, теперь попробуем завершить удаленный сеанс, pts/3.
Находим pid процесса

ps -A|grep pts/3

и получаем что-то вроде этого

6354 pts/3 00:00:00 bash
6408 pts/3 00:00:00 mc

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

Не могу завершить сеанс пользователя через терминал командой logout . Выводится сообщение :

bash: logout: не командный процессор login: используйте «exit»

Имя текущей среды рабочего стола [ echo $DESKTOP_SESSION ] : lightdm-xsession

Команда reboot , shutdown — работают.

Конечная строчка ответа команды cat /etc/lsb-release; arch; lightdm —version такова: lightdm 1.18.3

Мне завершение сеанса нужно было для того,чтобы попробовать избавиться от внезапного зависания системы. Изначально я перезагружал linux, ctrl+alt+F1 и потом в терминале вбивал reboot. Но теперь буду использовать sudo service lightdm restart .

Источник

linux завершить сеанс пользователя

Для остановки всех сессий пользователя можно воспользоваться командной pkill. С ее помощью можно остановить все процессы пользователя, тем самым завершив его работу в системе.

Выполните в терминале команду:

Мы послали сигнал под номером 9 (SIGKILL) всем процессам пользователя username.

Освещаю, не отсвечивая))

Рубрики

Свежие записи

Иногда бывает необходимо завершить сеанс какого-либо пользователя. Причины на то бывают разные и мы их рассматривать не будем.

Читайте также:  Альт линукс керберос авторизация

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

Говорим системе
who
и получаем примерно такой ответ
root tty1 2010−04−06 10:26
vasyapupkin :0 2010−04−06 09:49
vasyapupkin pts/0 2010−04−06 09:49 (:0)
root pts/3 2010−04−06 10:41 (192.168.1.10)

tty — это локальные консоли
pts — псевдотерминалы.
Для pts в скобках может указываться адрес с которого производится подключение.
Мы узнали кто в системе, теперь попробуем завершить удаленный сеанс, pts/3.
Находим pid процесса

ps -A|grep pts/3

и получаем что-то вроде этого

6354 pts/3 00:00:00 bash
6408 pts/3 00:00:00 mc

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

Не могу завершить сеанс пользователя через терминал командой logout . Выводится сообщение :

bash: logout: не командный процессор login: используйте «exit»

Имя текущей среды рабочего стола [ echo $DESKTOP_SESSION ] : lightdm-xsession

Команда reboot , shutdown — работают.

Конечная строчка ответа команды cat /etc/lsb-release; arch; lightdm —version такова: lightdm 1.18.3

Мне завершение сеанса нужно было для того,чтобы попробовать избавиться от внезапного зависания системы. Изначально я перезагружал linux, ctrl+alt+F1 и потом в терминале вбивал reboot. Но теперь буду использовать sudo service lightdm restart .

Источник

🐧 Как убить сессии пользователей на Linux

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

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

Другой пример – вы наблюдаете много сеансов ssh в своей системе и хотите убить их всех.

Если да, то как это сделать?

Есть несколько способов добиться этого результата.

Я покажу вам несколько способов, а вы сможете выбрать тот, который соответствует вашим потребностям

Как посмотреть активные сессии ssh?

Вы можете увидеть активные сеансы ssh, запустив команду w на Linux.

1) Как убить пользовательские сессии в Linux с помощью команды pkill

Вы можете напрямую убить сеанс ssh определенного пользователя, используя номер сеанса tty.

Вы можете увидеть номер сеанса tty из вывода команды w.

В моем случае я собираюсь убить сеанс пользователя «magi», этот пользователь подключен к серверу с помощью pts/5, поэтому команда будет следующей:

Хотите понять разницу между tty и pts?

В чем разница между tty и pts?

  • TTY: tty означает Teletypewriter. Он напрямую связан с системой как клавиатура / мышь или последовательное соединение с устройством (например, консоль в вашей системе).
  • PTS: pts обозначает pseudo terminal slave. Это терминальное устройство, которое эмулируется другой программой (например, сессией ssh в вашей системе).

2) Как убить пользовательские сессии в Linux с помощью команды Killall

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

Читайте также:  Adb drivers windows 64 bit

В моем случае я убиваю сеанс пользователя «magesh» с помощью ключа «-u».

3) Как убить пользовательские сессии в Linux с помощью команды Kill

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

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

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

Как только он у вас есть, найдите PID соответствующего сеанса tty с помощью команды PS.

Наконец убейте идентификатор процесса сеанса.

Источник

Завершить сессию другого пользователя.

killall -u user -15
killall -u user -9

Как-то слишком очевидно и жестоко.
Ведь завершает кто-то же сессию по нажатию кнопки «Завершить сеанс. » в Ubuntu например.
Кто? Как?

про кеды не знаю

Хорошо — пусть только гномовскую. Но завершить-то как? То что делает это gnome-session вроде да — ясно. А как его потдтолкнуть к этой мысли не заходя в графический сеанс пользователя?

Дома я неоригинален:

А если попробовать

su -l имя_пользователя

>по wall посылаю предупреждение

А его видно пользователям X?

Не, в Иксах не видно. Для иксов xmessage, но для этого надо в иксах стать этим пользователем.

** (gnome-session-save:6701): WARNING **: Failed to call logout: The name org.gnome.SessionManager was not provided by any .service files

Но ГУЙ не нужен.

Тут вот какое дело — домочадцы не разлогиниваются после того как поюзают домашнюю машину. А когда у дочери открыт и стоит на паузе Totem, а у жены открыта Opera с десятком вкладок, пашет Beagle и Deluge, то в Nexuiz уже играть не очень комфортно.

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

Кстати, а как вы боретесь с кодировкой в xmessage — у меня русские буквы не отображаются. У Убунтологов есть notify-send конечно, но хотелось бы общих решений.

Мои юзеры english знают) Встречались скрипты на перле использующие libnotify. Можно рыть в эту сторону.

ну найти и убить все процессы с uid больше 1000 кроме (туту чписок исключений), что сложного?

>Кстати, а как вы боретесь с кодировкой в xmessage — у меня русские буквы не отображаются. У Убунтологов есть notify-send конечно, но хотелось бы общих решений.

1) использовать KOI8-R+фонт соответствующий.

2) использовать gmessage, gxmessage.

Зачем -15, зачем -9? Просто килл ит виз файр. мягко и безболезненно. Остальные если что потом видишь, сделаешь контрольный с -KILL

ну или kdialog, ежели кеды. Русский понимают (в UTF)

Источник

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