特定のユーザーが一括メーラーを使用しており、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
。