- How to Kill user sessions in Linux
- What is SIGTERM?
- What is SIGKILL?
- 1) Kill user session using pkill command
- 2) Terminating user session, using Killall command
- 3) How to terminate user session, using Kill command
- Conclusion:
- Как в Linux корректно завершить сессию пользователя через консоль?
- Выход из системы с использованием команды exit
- Выход из системы с использованием команды logout
- Выход из системы с использованием комбинации клавиш Ctrl+D
- Выход из системы с использованием команды shutdown
- Выход из системы с использованием команды reboot
- 🐧 Как убить сессии пользователей на Linux
- Как посмотреть активные сессии ssh?
- 1) Как убить пользовательские сессии в Linux с помощью команды pkill
- В чем разница между tty и pts?
- 2) Как убить пользовательские сессии в Linux с помощью команды Killall
- 3) Как убить пользовательские сессии в Linux с помощью команды Kill
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:
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, она завершает все процессы, связанные с текущей сессией, и сохраняет все данные. Для выхода из системы нужно выполнить следующую команду:
Выход из системы с использованием комбинации клавиш 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. Важно правильно завершать сессии, чтобы избежать потери данных и сохранить целостность файловой системы.
🐧 Как убить сессии пользователей на Linux
Мануал
Иногда вам может потребоваться убить несколько пользовательских сессий в системе Linux.
Например, вам нужно запустить задание, для которого все пользователи должны выйти из системы.
Другой пример – вы наблюдаете много сеансов ssh в своей системе и хотите убить их всех.
Если да, то как это сделать?
Есть несколько способов добиться этого результата.
Я покажу вам несколько способов, а вы сможете выбрать тот, который соответствует вашим потребностям
Как посмотреть активные сессии ssh?
Вы можете увидеть активные сеансы ssh, запустив команду w на Linux.
# 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) Как убить пользовательские сессии в 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.
В моем случае я убиваю сеанс пользователя «magesh» с помощью ключа «-u».
3) Как убить пользовательские сессии в Linux с помощью команды Kill
Кроме того, вы можете убить пользовательский сеанс с помощью команды kill.
Этот метод потребует нескольких дополнительных шагов по сравнению с вышеупомянутыми двумя методами, потому что вы не сможете убить сессию напрямую.
Сначала найдите номер tty сеанса пользователя из вывода команды w.
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
Как только он у вас есть, найдите PID соответствующего сеанса tty с помощью команды PS.
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
Наконец убейте идентификатор процесса сеанса.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (105)
- Книги (27)
- Мануал (2 305)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (820)
- Обход запретов (34)
- Опросы (3)
- Скрипты (114)
- Статьи (352)
- Философия (114)
- Юмор (18)
Anything in here will be replaced on browsers that support the canvas element
Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]
В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]
Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]
Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]
Является ли запуск сервера NFS в кластере Kubernetes хорошей идеей или это ворота для хакеров Одним из многочисленных преимуществ сетевой файловой системы является ее способность выполнять многократное чтение-запись. И как и все в наши дни, NFS – это просто еще одна служба, которую можно запустить в своем кластере Kubernetes. Однако является ли сервер NFS подходящей […]