如何在yocto中安全地更新root密码的配置?

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

我们正在为root用户添加密码。以下是conf文件的补充。

INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "usermod -p $(openssl passwd abcd1234) root"

以上两行为我们完成了工作。但问题是每个读取配置文件的人都知道密码是“abcd1234”。

有没有其他方法可以在配置中安全地存储密码,或者以最佳方式处理以防万一。我们有数千台运行嵌入式Linux的设备,如果有人能够获得root密码,他可以轻松访问所有设备,因为密码相同。处理这种情况的最佳方法是什么?

linux security passwords embedded-linux yocto
2个回答
2
投票

亚历山大的答案是最好的做法。

如果您确实需要在配置中使用密码,则至少可以存储加密的变体(在您的示例中使用openssl的输出,但我会使用更强大的算法),即:

EXTRA_USERS_PARAMS = "\
    usermod -p '\$6\$ca1gxiMTHxfATDYV\$PpXt8OeIiBY8xJX1qh66Sq1oC5tIthrhzo9dq6ILerp.vg7xdkHpLGbM.PKgh./r2J1lkSmHXT2Xhq/ZKr0XF.' root; \
"

请注意$(以及任何其他特殊字符,如果存在)的转义,因为加密的密码由shell解释。 (上面的示例中有真实的密码,但它是一个非常弱的。)

BTW我提到亚历山大的答案是最好的做法;-)?


2
投票

根本不要使用密码验证;如果您使用ssh访问设备,则某种公钥认证(可能与主机认证相结合)更好。阅读man ssh中的“身份验证”部分。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.