注销用户并删除帐户

注销用户并删除帐户

我在服务器(CentOS 6、Plesk 11.5)上遇到问题,其中特定用户正在使用群发邮件程序并将我们的 IP 地址列入黑名单。我尝试使用以下方法删除该用户:

/usr/sbin/userdel test

但它返回一条消息,表明用户当前已登录。我想好吧,终止该进程。所以我尝试:

pkill -u test

并使用以下方法锁定帐户:

passwd -l test

这有望阻止他将来登录系统。

仍然显示用户已登录。如何注销该用户以便将其从系统中删除?

答案1

首先 grep 所有“测试”用户的进程并杀死 -9 所有 pid,然后删除该用户。

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

相关内容