如何删除与 root 具有相同 UID(0)的 root(管理员)用户?

如何删除与 root 具有相同 UID(0)的 root(管理员)用户?

这是我的密码文件:

root:x:0:0:root:/root:/bin/bash
m:x:0:100::/home/m:/bin/bash
masoudjjgh:x:1000:100:masoudjjgh:/home/masoudjjgh:/bin/bash

我尝试删除用户我被创造出来:

[root@...]# userdel m
[root@...]# userdel: user m is currently used by process 1

当我尝试通过这个命令杀死 m 时:

[root@...]# killall -KILL -u m

桌面(kde)console然后任何东西都退出了,logged我自动关闭了。所有东西都关闭了,我必须login再次关闭。userdel 将再次关闭所有东西。有什么办法可以删除吗m

我创建了它,但是现在无法删除它。

答案1

root:x:0:0:root:/root:/bin/bash  
m:x:0:100::/home/m:/bin/bash
[...]
# userdel: user m is currently used by process 1
# killall -KILL -u m

进程和文件实际上归用户 ID 号所有,而不是用户名。m并且root具有相同的 UID,因此一个拥有的所有内容也归另一个拥有。根据您的描述,听起来像是两者,userdel并且killall看到每个根进程(UID 0)都属于此用户“m”。

根据此示例手册页,即使帐户中有活动进程,也可以选择强制删除该帐户。userdel并且-fuserdel大概只需删除 m 的密码条目和主目录,而不会影响实际的 root 帐户。

为了更安全,我可能倾向于手动编辑密码文件以删除 m 的条目,然后手动删除 m 的主目录。您的系统上可能有一个名为的命令vipw,它允许您/etc/passwd在文本编辑器中安全地编辑。

答案2

首先手动删除 /etc 目录中 passwd 和 shadow 文件中的行。然后,您可以 rm -fR 该用户帐户的主目录。(在您的示例中为 m)

仍需删除其他文件。例如:

/var/spool/邮件/m

当 userdel 拒绝工作时,这是一种非常实用的方法。

答案3

在 /etc/passwd 文件中将要删除的用户的 guid 更改为 0 以外的值。然后尝试 userdel。

来源:http://www.shellhacks.com/en/HowTo-Create-USER-with-ROOT-Privileges-in-Linux

答案4

userdel 有一个-f, --force标志,即使用户仍处于登录状态,也可以强制删除帐户。该-r, --remove标志还会删除主目录和邮件缓冲池。

您可以尝试使用m以下方法删除用户:

userdel -fr m

相关内容