web-dev-qa-db-ja.com

他のユーザーに強制的にログアウトさせるにはどうすればよいですか?

Rootとしてログインしているときに、別のユーザーをLinuxボックスから強制的に切り離す簡単な方法はありますか?彼らが開いているセッションのタイプを判別してpidを強制終了できることは理解していますが、これを実行するためのコマンドがわからないのではないかと考えています。

何か案は?

14
Brent

あなたは単に slay(1) 彼とすることができます。 :-)

15
David Schmitt

skillを使用して、ユーザーのすべてのプロセスを強制終了できます。例:

  • skill -TERM -u username

usernameのすべてのプロセスにSIGTERMを送信します。それらを(SIGKILL経由で)永久に強制終了するには、-TERMではなく-KILLを使用します。ただし、その方法でデータが失われる可能性が最も高いことに注意してください。非常に効果的です。

skillは、デフォルトですべてのディストリビューションによってインストールされるprocpsパッケージの一部です。

10

pkillおよびkillallskillよりも優先されます。これはskillのmanページからです:

これらのツールはおそらく時代遅れで移植性がありません。コマンド構文の定義が不十分です。代わりに、killallpkill、およびpgrepコマンドの使用を検討してください。

これでうまくいくはずです:

Sudo pkill -KILL -u [user]

または

Sudo killall -u [user]
3
David

これを行う別の簡単な方法は、kill -1 <pid>を実行することです。ここで、pidはSSHセッションのプロセスID番号です。

このコマンドを実行すると、すべてのsshdプロセスツリーを表示できます。親プロセスIDを強制終了すると、それに関連付けられているユーザーセッションを効果的に強制終了できます。

$ ptree -p

sshdを探して実行します。

$ kill -1 39383

938は、任意のプロセスID番号の例です。

0
Yes Barry