如何在 dd 映像上设置 root 密码?

如何在 dd 映像上设置 root 密码?

我有一个 dd os 映像,我可以挂载它并编辑文件,但 root 用户没有密码。所以当我刻录映像时,我无法通过 shh 登录,直到我设置 root 密码。我不想改变这一点。因此,我必须使用 uart 适配器,以 root 身份登录并手动更改密码。如果我可以跳过该步骤,只修改 dd 映像以包含 root 密码,那就更简单了,但我不知道该怎么做。请提出建议。

答案1

如果您可以安装它,并且它具有正确架构的操作系统(即与主机上相同或与主机兼容 - 例如 amd64 主机上的 amd64 chroot,或 amd64 主机上的 x86 32 位 chroot)并且至少正确的目录结构中的最小可行操作系统,然后您可以chroot进入它并运行passwd(或您需要运行的任何其他内容)。

chroot运行 shell 或其他命令,就好像您指定的目录是根目录一样。为了使其工作,该目录必须有自己的 /etc、/bin、/usr、/lib 和其他目录,其中至少包含所需的最低配置文件、二进制文件和库。

例如,如果您已将磁盘映像安装为/mnt

# chroot /mnt
# passwd
.
. do anything else you need
.
# exit

或者,chroot /mnt passwd如果您所需要做的就是执行该命令,则只需运行即可。

man chroot参阅 参考资料 获取命令行选项的摘要,如果您使用的是 GNU coreutils,请运行info chrootpinfo chroot以获得完整文档。


/root/.ssh/authorized_keys顺便说一句,您可能希望将 ssh 公钥添加到磁盘映像的文件中,而不是(或同时)设置 root 密码。这将允许您PasswordAuthentication no在部署映像之前进行设置。

相关内容