2

在 CentOS 6 上,我们目前使用该选项加密 grub 密码,password --md5并且我们能够将其编写到我们的标准服务器构建中。

我们正忙于迁移到 CentOS 7,看来该password --md5选项已在 grub2 中删除并替换为grub2-mkpasswd-pbkdf2.

虽然我欢迎改进的安全性,但我找不到grub2-mkpasswd-pbkdf2通过标准输入将密码传递给命令的方法,而且 grub2 似乎已经删除了对 md5 的支持,它们的组合破坏了我们的脚本构建自动化。

任何人都可以帮助:

  1. 一种grub2-mkpasswd-pbkdf2通过标准输入传递密码的方法?或者
  2. grub2-mkpasswd-pbkdf2接受标准输入的替代 pbkdf2 生成实用程序?或者
  3. --md5与 grub2一起使用的机制?
4

2 回答 2

4

grub-mkpassswd-pbkdf2从 stdin获取密码(两次) 。

如果您的密码位于$passwd

passwd="my test password"

您可以通过以下方式获取哈希:(使用 bash 作为您的 shell)

echo -e "$passwd\n$passwd" | LC_ALL=C /usr/bin/grub-mkpasswd-pbkdf2 | awk '/hash of / {print $NF}'

AWK 打印与给定模式匹配的行的最后一个字段,即哈希。语言环境被强制为默认值 ( C),以防消息在其他语言环境中翻译。

于 2020-06-29T18:24:02.697 回答
4

我最近写了一个工具来做这件事——也就是说,能够更容易地以非交互方式生成 GRUB2 哈希,并且能够在 RHEL6 上这样做。它在 GitHub 上。

在自述文件中,您还将看到有关如何使用该标准grub2-mkpasswd-pbkdf2通过使用换行符两次传递密码以非交互方式生成散列的说明。

于 2015-08-16T19:50:30.833 回答