在 yocto kirkstone 中设置 root 密码

问题描述 投票:0回答:2

我尝试通过多种方法为 root 设置密码。到目前为止,没有什么对我有用。 我添加到 local.conf:

INHERIT += "extrausers"
EXTRA_USER_PARAMS = "usermod -P 'mypasswd' root;"

我还尝试使用“openssl passwd -6 -salt 12345 mypasswd”加密密码:

INHERIT += "extrausers"
EXTRA_USER_PARAMS = "usermod -p '\$6\$12345\$CdkMCUqHIe6eWfFhMIppyUE/S.iLGe.PACPivJhw05ideCyogNpnVNDIBSQXhSruJxfZCasTi6YvFOrPgFvM7/' root;"

我尝试了带有和不带有 EXTRA_IMAGE_FEATURES ?= "debug-tweaks" 的两种变体。我还尝试在 sources/meta-qoriq/recipes-kernel/linux/linux-qoriq.inc 中设置密码,它包含在内核配方“sources/meta-qoriq/recipes-kernel/linux/linux-qoriq_5.15 .bb”这样的“需要 linux-qoriq.inc”。 使用 EXTRA_IMAGE_FEATURES ?= "debug-tweaks" 设置,没有设置密码,没有它密码是错误的。 我还尝试使用 ROOTFS_POSTPROCESS_COMMAND 手动编辑 /ect/shadow 文件。因此,我在 sources/meta-qoriq/recipes-kernel/linux/linux-qoriq.inc 文件中添加了这一行,因为似乎无法将 bash 函数添加到 local.conf 文件中。

set_pw () {
    encrypted=$(openssl passwd -6 -salt 12345  mypasswd)
    sed -i "s/^root::/root:$encrypted:/" ${IMAGE_ROOTFS}/etc/shadow
}
ROOTFS_POSTPROCESS_COMMAND += "set_pw;"

这也没有用。 我的电路板是飞思卡尔 LS1046ARDB。这就是为什么我使用飞思卡尔的 linux qoriq 发行版。

编辑:

添加:

inherit fsl-utils
ROOTFS_POSTPROCESS_COMMAND += "set_pw;

我正在构建的图像的 .bb 文件 (sources/meta-qoriq/recipes-fsl/images/fsl-image-networking.bb) 并将 set_pw 函数添加到 sources/meta-qoriq/classes/fsl -utils.bbclass 文件对我有用。无法将 bash 函数直接添加到 fsl-image-networking.bb 文件中。 但我仍然想知道为什么

INHERIT += "extrausers"
EXTRA_USER_PARAMS = "usermod -P 'mypasswd' root;"

不工作。这就是它在其他一些帖子中的工作方式,例如这篇文章如何在 Yocto / Poky 图像上设置根密码?。 kirkstone 中这样做的语法有变化吗?

linux embedded-linux yocto
2个回答
3
投票

可能变量名打错了?正确的是

EXTRA_USERS_PARAMS
(注意用户的复数形式),见官方文档

顺便说一句,这里讨论了最佳实践:How to securely update configuration for root password in yocto?


0
投票

回答:

但我还是想知道为什么

INHERIT += "extrausers"

EXTRA_USER_PARAMS = "usermod -P 'mypasswd' root;"

不工作。这就是它在其他一些帖子中的工作方式,比如这个 如何在 Yocto / Poky 图像上设置 root 密码?。语法为 在柯克斯通做这件事改变了吗?

正如 Tomas 提到的,您需要使用 EXTRA_USERS_PARAMS。

我过去在 Yocto Sumo 上使用过纯文本密码,效果很好。现在我已经搬到 Kirkstone,我注意到它不是因为 usermod 已更改为不再接受明文密码。你必须给它传递一个加密的密码:

-p, --密码密码

由 crypt(3) 返回的加密密码。

另请注意,使用 -p 而不是 -P

Yocto 手册提供了设置 root 密码 + 新用户的好例子。 在 Kirkstone 中使用 extrausers 的例子

© www.soinside.com 2019 - 2024. All rights reserved.