在CentOS 6上,我们目前使用password --md5
选项加密grub密码,并且我们能够将其脚本化到我们的标准服务器构建中。
我们正在忙着迁移到CentOS 7,似乎在grub2中已经删除了password --md5
选项,取而代之的是grub2-mkpasswd-pbkdf2
。
虽然我对改进的安全性表示欢迎,但我找不到通过标准输入将密码传递给grub2-mkpasswd-pbkdf2
命令的方法,而且grub2似乎已经删除了对md5的支持,这两个组合破坏了我们的脚本构建自动化。
有谁能帮忙吗?
- 通过标准输入将密码传递给
grub2-mkpasswd-pbkdf2
的方法或 - 替代
grub2-mkpasswd-pbkdf2
的pbkdf2生成实用程序,它接受标准输入?或 在grub2中使用
--md5
的一种机制?grub-mkpassswd-pbkdf2
从stdin中获取密码(两次)
如果您的密码在$passwd
:
passwd="my test password"
您可以使用以下命令获得哈希值:(使用bash作为您的shell)
echo -e "$passwdn$passwd" | LC_ALL=C /usr/bin/grub-mkpasswd-pbkdf2 | awk '/hash of / {print $NF}'
AWK打印与给定模式匹配的行的最后一个字段,即散列。区域设置被强制为默认的(C
),以防消息被翻译为其他区域设置。
我最近编写了一个工具来做到这一点——也就是说,能够更容易地非交互地生成GRUB2哈希,并且能够在RHEL6上做到这一点。在GitHub上。
- burg2-mkpasswd-pbkdf2:使用python 从命令行非交互式地生成与grub2兼容的PBKDF2哈希值
在自述文件中,您还将看到如何使用标准grub2-mkpasswd-pbkdf2
通过使用换行符将密码输入两次来非交互地生成哈希值的解释。