ユーザーのログアウトとアカウントの削除

ユーザーのログアウトとアカウントの削除

特定のユーザーが一括メーラーを使用しており、IPアドレスがブラックリストに登録されているサーバー(CentOS 6、Plesk 11.5)に問題があります。以下を使用してユーザーを削除しようとしました。

/usr/sbin/userdel test

ただし、ユーザーが現在ログインしているというメッセージが返されます。大丈夫だと思いました。プロセスを終了します。だから私は次のことを試みます:

pkill -u test

以下を使用してアカウントをロックします。

passwd -l test

これにより、将来ユーザーがシステムにログインするのを防ぐことができます。

それでもユーザーがログインしていると表示されます。このユーザーをシステムから削除するにはどうすればログアウトできますか?

答え1

まず、すべての「テスト」ユーザーのプロセスをgrepし、すべてのpidを-9で終了してからユーザーを削除します。

pgrep -u test
ps -fp $(pgrep -u test)
killall -KILL -u test
userdel -r test

答え2

passwd -l <user>

すべての可能なログイン方法がブロックされるわけではありません。たとえば、ssh公開鍵を使用してログインする場合、パスワードは不要であるため、引き続きログインできます。

ユーザーが再度ログインしないようにするには、ファイルを編集して/etc/passwdユーザーを削除するか、7列に変更します/sbin/nologin

ランニング:

ps -u <user>

ユーザーがまだどのプロセスを使用しているかを確認し、すべて終了します。以下を使用する必要があります。

kill -s 9 <pid>

プロセスを強制的に停止します。

答え3

passwd -l <user>アカウントは無効になりません。 Garethが言ったように、ユーザーはまだ他の認証トークン(SSHキーなど)を使用してログインできます。このアカウントを無効にするには、 usermod --expiredate 1この設定を使用してアカウントの有効期限を1970に設定する必要があります。これで、ユーザーが開始したすべてのプロセスを終了する必要があります。ランニング:

$pgrep -u Fooユーザー Foo が開始したすべてのプロセスが印刷されます。ランニング:

$kill -9 <pid>SIGKILLプロセスを終了するように信号が送信されます。次に、次を実行します。

$pgrep -u Foo | xargs kill -9

これにより、FooユーザーのすべてのプロセスIDが取得され、すべて終了します。

または:

$kill -9 -u Foo

答え4

userdel -rf username 

エラーが発生しますが、ユーザーは永久に削除されます。あなたはそれを確認することができます/etc/passwd

関連情報