这是我的密码文件:
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
并且-f
userdel
大概只需删除 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