我需要在自动安装中设置 root 密码,因为它允许我在安装后通过登录控制台来检查系统。不幸的是,这似乎不起作用,我有以下情况:
#cloud-config
users:
- name: root
lock_passwd: false
hashed_passwd: <output from mkpasswd --method=SHA-512>
我甚至尝试使用late-commands
run-command
chpasswd 命令的部分,如下所示,但没有效果
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: ... 如果用户已经存在,则不会应用此命令
也可以看看