Як змусити інших користувачів вийти з системи?


14

Чи є для мене простий спосіб примусити іншого користувача вийти з вікна Linux, поки я ввійшов як root? Я розумію, що я міг би визначити, який тип сеансу у них відкритий, і вбити під - але я думаю, що для цього потрібно мати команду, про яку я не знаю.

Будь-які ідеї?

Відповіді:


15

Ви можете просто slay(1)його. :-)


Га! Акуратний. Я ніколи раніше не чув про цю команду. Він доступний у всіх системах? Впевнений, схоже, це б'є вбивство їх оболонки.
Джонатан Уотні

Це, ймовірно, упаковано для всіх дистрибутивів, але якщо вам потрібно щось, що працює скрізь, вміння від propps --- як вказує Михайло ---, може бути кращим вибором. Хоча в ньому менше стилю ;-)
Девід Шмітт

1
openSuse 11.4 - slay: команда не знайдена :( :(
usr-local-ΕΨΗΕΛΩΝ

Не встановлено на хостах Ubuntu 12.04 або RHEL 3, які у мене зараз є, у мене є skillкоманда, детально описана Mihai Limbăşan. YMMV
Девід

Встановити його з Всесвіту: пакети.ubuntu.com
search?keywords=slay

10

Ви можете знищити всі процеси користувача через skill. Приклад:

  • skill -TERM -u username

надішле SIGTERM до всіх usernameпроцесів. Щоб вбити їх назавжди (через SIGKILL), використовуйте -KILL замість -TERM - зауважте, що, швидше за все, ви втратите дані таким чином. Це дуже ефективно, пам’ятайте, що ...

skillє частиною procpsпакету, який встановлений усіма дистрибутивами за замовчуванням.


Для інших, хто хоче це зробити для всіх віддалених сеансів користувача, прапор -v ( -v pts/*), який знаходиться на сторінці man, може бути корисним.
Девід

3

pkillІ killallкраще skill. Це зі skillсторінки man:

Ці інструменти, ймовірно, застарілі та непіддані. Синтаксис команд погано визначений. Розглянемо використання killall, pkillі pgrepкоманди замість цього.

Для цього слід зробити фокус:

sudo pkill -KILL -u [user]

або

sudo killall -u [user]


0

Ще один простий спосіб зробити це - запустити kill -1 <pid>там, де pid - ідентифікаційний номер процесу сеансу SSH.

Запустивши цю команду, ви можете побачити всі дерева процесів sshd , вбивши ідентифікатор батьківського процесу, ви ефективно знищите пов’язаний з ним сеанс користувача:

$ ptree -p

Шукайте sshd та запустіть:

$ kill -1 39383

Де 39383 є прикладом довільного ідентифікаційного номера процесу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.