删除 Debian 上的用户和 root 帐户

删除 Debian 上的用户和 root 帐户

我的一位同事错误地删除了 etc/passwd 和 etc/shadow 文件。

问题是现在系统没有任何帐户。无法通过 ssh 连接或进行操作。

我如何创建 root 帐户?

答案1

如果您有物理访问权限,则可以使用内核行 rw init=/bin/bash 重新启动。这应该会为您提供 root 访问权限以重新创建用户帐户。

答案2

您可能会尝试复制另一台计算机的密码和影子,假设您知道自己在做什么。我希望您已经打败了您的同事 ;-)

答案3

如果您没有打开现有的 rootshell,那么我怀疑您是否可以在没有 bios 或引导加载程序访问的情况下修复此问题。

此时你有两个选择。

  1. 启动 livecd。
  2. 使用 init=/bin/sh 从已安装的系统启动,然后手动启动网络。

哪一个更容易取决于具体情况。

如果您确实有一个打开的现有 root shell,那么您应该能够使用它。

现在您有了一种创建文件的方法,下一个问题是将什么放入其中。Debian 有几类用户(Debian 策略 9.2.2)。

  1. 对于给定的 Debian 版本,始终存在具有固定 ID 的系统用户(UID 0-99 和 65534)
  2. 具有动态分配 ID 的系统用户(UID 100-999)
  3. 普通用户(UID 1000-59999,用户数量巨大的系统也可能使用 65536-4294967293)
  4. 具有固定 ID 但仅按需创建的系统用户(UID 60000-64999)。

第一步应该是恢复第一类用户。最容易的方法是,从运行相同 Debian 版本的另一个系统复制他们的密码和影子条目。

如果您也销毁了您的组文件,那么相同的 ID 范围适用。

恢复基本信息后,您可以开始重新创建其他用户。对于普通用户,查看 /home 应该会为您提供有关哪个用户使用哪个 UID 的线索。对于系统用户,可能需要花费更多精力才能弄清楚,可能涉及搜索所有者不明的文件,然后查看安装了相同软件的另一个系统,以找出哪个用户应该拥有这些文件。

相关内容