【问题标题】:SHA256 on Linux 4.4 embedded real-time systemLinux 4.4 嵌入式实时系统上的 SHA256
【发布时间】:2020-02-09 04:05:49
【问题描述】:

我目前正在使用我们供应商提供的定制 Linux 4.4.115 使用实时嵌入式系统。开箱即用,它支持 MD5 散列,但我们需要 SHA256。散列纯粹用于用户帐户登录。

我能够在盒子上安装 OpenSSL。我可以创建密码的 SHA256 哈希,但我不确定如何将其设置为用户帐户密码。我尝试将散列密码放入 /etc/passwd ,但这显然不起作用。所以经过研究我发现我需要把它放在 /etc/shadow 文件中。这个文件在这个系统上不存在,这意味着 Shadow 包没有安装。

我去安装 Shadow 包,但空间不足。无论如何,我可以在没有 /etc/shadow 文件的情况下使用这个 SHA256 密码吗?重新编译内核是最后的手段,我们希望避免这种情况。

【问题讨论】:

  • "Shadow 包没有安装" -- 你可能分析错了情况。你的“嵌入式系统”不使用Busybox吗? /etc/shadow 的使用是 Busybox 中的可配置选项,例如FEATURE_SHADOWPASSWDSUSE_BB_SHADOW。 IOW 您可能需要重新配置和构建 Busybox,而不是“安装 Shadow 包”

标签: security real-time embedded-linux sha256


【解决方案1】:

老实说,您可能只需要重新编译内核才能获得影子包。根据经验和我在网上看到的所有研究,我看不到没有 /etc/shadow 文件路径的任何其他存储 SHA256 用户密码的方法。显然,如果您是 root,您可以 $ sudo passwd user 将用户密码更改/设置为散列的 SHA256 密码,但我看到的唯一存储位置是 /etc/shadow 文件。

我这么说的唯一原因是因为我知道验证用户密码数据的唯一方法是 pwck -r /etc/shadowpwck -r /etc/passwd 所以如果没有这些文件路径,我看不到任何其他存储/验证用户密码数据。

您是否尝试过 pwconv 命令从 /etc/passwd 文件创建 /etc/shadow 文件?

【讨论】:

    猜你喜欢
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多