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


14

rootとしてログインしている間に、Linuxボックスから別のユーザーを強制的に追い出す簡単な方法はありますか?私は彼らが開いているセッションのタイプを決定し、pidを殺すことができることを理解しています-しかし、私は知らないこれを行うためのコマンドが必要だと考えています。

何か案は?

回答:


15

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


ハ!きちんとした。このコマンドについて聞いたことがありませんでした。すべてのシステムで利用できますか?確かに、シェルプロセスを強制終了するように見えます。
ジョナソンワトニー

おそらくすべてのディストリビューション用にパッケージ化されていますが、どこでも動作するものが必要な場合は、Propsのスキルが必要です(Mihaiが指摘しているように)。スタイルはあまりありません;
デビッドシュミット

1
openSUSEの11.4 -殺す:コマンドが見つかりません:( :(
USR-ローカルΕΨΗΕΛΩΝ

現在利用可能なUbuntu 12.04またはRHEL 3ホストにはインストールされていませんが、skillMihaiLimbăşanが詳しく説明したコマンドがあります。YMMV-
デビッド

ユニバースからインストールします:packages.ubuntu.com/search
keywords=

10

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

  • skill -TERM -u username

SIGTERMをすべてusernameのプロセスに送信します。(SIGKILLを介して)それらを完全に削除するには、-TERMの代わりに-KILLを使用します-ただし、そのようにデータを失う可能性が高いことに注意してください。それは非常に効果的です、気に...

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


すべてのリモートユーザーセッションでこれを実行したい他のユーザー-v pts/*には、manページにある-vフラグ()が役立つ場合があります。
デビッド

2

pkillそしてkillallよりも好ましいですskill。これはskillmanページからです:

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

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

sudo pkill -KILL -u [user]

または

sudo killall -u [user]


0

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

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

$ ptree -p

探す sshdを実行します。

$ kill -1 39383

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.