在自动安装中更新/设置 root 密码

在自动安装中更新/设置 root 密码

我需要在自动安装中设置 root 密码,因为它允许我在安装后通过登录控制台来检查系统。不幸的是,这似乎不起作用,我有以下情况:

#cloud-config
users:
  - name: root
    lock_passwd: false
    hashed_passwd: <output from mkpasswd --method=SHA-512>

我甚至尝试使用late-commands run-commandchpasswd 命令的部分,如下所示,但没有效果

chroot /target sh -c 'echo "root:<output from mkpasswd --method=SHA-512>" | /usr/sbin/chpasswd -e'

是否可以使用自动安装更改 root 密码?如果可以,我将不胜感激。谢谢

答案1

部分user-data可以使用。使用此选项云初始化将在首次启动时设置 root 密码。请注意,root 密码哈希值将位于/etc/cloud/cloud.cfg.d/99-installer.cfg已安装的系统中。

#cloud-config
autoinstall:
  user-data:
    chpasswd:
      expire: false
      list:
        - root:$6$REDACTED

或者,您可以使用late-commands。这将在安装期间设置密码。请注意,root 密码哈希将位于/var/log/installer已安装系统的安装程序日志中。

#cloud-config
autoinstall:
  late-commands:
    - |
      echo 'root:$6$REDACTED' | /usr/sbin/chroot /target chpasswd -e

需要chroot在管道之后,以便正确的命令被chrooted。

笔记

你可以不是使用云初始化 users模块设置密码,root因为root用户存在。配置架构文档明确指出

passwd: ... 如果用户已经存在,则不会应用此命令

也可以看看

相关内容