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

How to Kill user sessions in Linux

Sometimes we might need to kill a user session in Linux based on requests, which can be done by sending SIGNALS with kill command.

We need to send one of the following signals based on our requirement, to kill a process in Linux.

What is SIGTERM?

The ‘SIGTERM’ is a signal used for graceful termination of a process, which can be ignored or blocked sometimes in case a process is in busy state (i.e. waiting for disk I/O).

However by default, a kill command sends the SIGTERM signal along with the request.

What is SIGKILL?

The ‘SIGKILL’ signal is used for instant termination of process, along with its child processes.

This is a brutal way to kill a process & can be opted as a final option.

Use ‘SIGKILL’ or ‘9’ with the kill command to terminate a process.

For instance:

  • All users need to be logged out of system before we trigger a monthly job
  • To kill multiple ssh sessions running in system
  • One user session went unresponsive & needs to be killed

This article further covers the list of commands that can be used to perform this operation.

To view list of active ssh sessions, use ‘w’ command.

[[email protected] ~]# w
00:34:21 up 48 days, 23:38, 4 users, load average: 0.79, 0.58, 0.56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
magesh pts/0 192.168.1.101 19:47 4:45m 0.04s 0.00s sh /opt/scripts/disk-usage.sh
renush pts/1 192.168.1.102 20:35 3:54m 2:23 0.00s sh bash
thanis pts/2 192.168.1.103 00:27 5.00s 0.08s 0.04s ssh
root pts/4 192.168.1.104 00:34 1.00s 0.02s 0.01s w

1) Kill user session using pkill command

TTY session can be used to kill a specific user ssh session & to identify tty session, please use ‘w’ command.

For example: To kill the user “magi”, connected to the server with ‘pts/2’, use the command below:

Читайте также:  Upgrade linux to windows

To understand the difference between tty and pts, refer the details below:

  • TTY (Teletypewriter): is directly connected to the system as a keyboard/mouse or a serial connection to the device (i.e. the console on your system).
  • PTS (pseudo terminal slave): is a terminal device, which is emulated by another program (i.e. ssh session to your system).

2) Terminating user session, using Killall command

User session can be killed using the ‘killall’ command.

For example, to terminate user “magesh”, use “-u” switch, as shown below:

3) How to terminate user session, using Kill command

This process needs additional efforts to terminate a user, using kill command when compared to previous two steps.

Before we proceed to kill the user session, we must find the tty session from ‘w’ command, as shown below:

[[email protected] ~]# w
00:34:21 up 48 days, 23:38, 4 users, load average: 0.79, 0.58, 0.56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
magesh pts/0 192.168.1.101 19:47 4:45m 0.04s 0.00s sh /opt/scripts/disk-usage.sh
renush pts/1 192.168.1.102 20:35 3:54m 2:23 0.00s sh bash
thanis pts/2 192.168.1.103 00:27 5.00s 0.08s 0.04s ssh
root pts/4 192.168.1.104 00:34 1.00s 0.02s 0.01s w

Once we identify the tty session, locate the PID of corresponding tty session using ps command:

[[email protected] ~]# ps -ft pts/4
UID PID PPID C STIME TTY TIME CMD
root 155183 155092 0 00:34 pts/4 00:00:00 -bash
root 163015 155183 0 00:35 pts/4 00:00:00 ps -ft pts/4

Now, terminate the process id of the user session:

Conclusion:

This article covers multiple ways to terminate user sessions. We hope this topic was apt to your requirement.

Please fill in our comment section with your valuable feedback & suggestions.

Источник

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

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

Выход из системы с использованием команды exit

Команда exit используется для выхода из текущей сессии в терминале. При использовании этой команды, все процессы, связанные с текущей сессией, будут завершены, и все данные будут сохранены. Для выхода из системы нужно выполнить следующую команду:

Выход из системы с использованием команды logout

Команда logout также используется для выхода из текущей сессии в терминале. Как и команда exit, она завершает все процессы, связанные с текущей сессией, и сохраняет все данные. Для выхода из системы нужно выполнить следующую команду:

Читайте также:  Linux команды терминала навигация

Выход из системы с использованием комбинации клавиш Ctrl+D

Комбинация клавиш Ctrl+D также используется для выхода из текущей сессии в терминале. Как и команды exit и logout, она завершает все процессы, связанные с текущей сессией, и сохраняет все данные. Для выхода из системы нужно нажать сочетание клавиш Ctrl+D.

Выход из системы с использованием команды shutdown

Команда shutdown используется для завершения работы системы. При использовании этой команды все процессы завершаются, и система выключается. Для завершения работы системы с сохранением всех данных нужно выполнить следующую команду:

Команда sudo позволяет выполнить команду с правами администратора, чтобы завершить работу системы. Опция -h указывает на выключение системы, а аргумент now означает, что действие должно быть выполнено немедленно.

Выход из системы с использованием команды reboot

Команда reboot используется для перезагрузки системы. При использовании этой команды все процессы завершаются, и система перезагружается. Для перезагрузки системы с сохранением всех данных нужно выполнить следующую команду:

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

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

$ ls -l
total 8
drwxr-xr-x 2 user user 4096 Mar 25 10:02 Documents
drwxr-xr-x 2 user user 4096 Mar 25 10:02 Downloads
$ exit

После выполнения команды exit текущая сессия завершится, и пользователь будет выведен из терминала.

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

$ ls -l
total 8
drwxr-xr-x 2 user user 4096 Mar 25 10:02 Documents
drwxr-xr-x 2 user user 4096 Mar 25 10:02 Downloads
$ logout

После выполнения команды logout текущая сессия завершится, и пользователь будет выведен из терминала.

Пример использования комбинации клавиш Ctrl+D:

$ ls -l
total 8
drwxr-xr-x 2 user user 4096 Mar 25 10:02 Documents
drwxr-xr-x 2 user user 4096 Mar 25 10:02 Downloads
$ Ctrl+D

После нажатия сочетания клавиш Ctrl+D текущая сессия завершится, и пользователь будет выведен из терминала.

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

После выполнения команды система завершит работу, сохраняя все данные.

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

После выполнения команды система перезагрузится, сохраняя все данные.

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

Например, чтобы завершить процесс с идентификатором 1234, нужно выполнить команду:

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

Источник

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

Favorite

Добавить в избранное

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

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

Е сли вы вошли в удаленную систему Linux через SSH, вам просто нужно использовать команду exit для выхода из SSH.

Читайте также:  Linux file system ext4 ext3

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

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

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

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

root@localhost:~# who -u andreyex pts/0 2021-04-06 16:19 00:01 27382 (217.043.088.107) alex pts/1 2021-04-06 16:20 . 27583 (217.043.088.107) root pts/2 2021-04-06 16:21 . 27654 (217.043.088.107)

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

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

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

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

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

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

echo "Your session will end in 2 minutes. Save your work!" | write alex pts/2

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

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

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

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

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

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

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

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

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

Источник

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