我需要将用户帐户和密码同步到系统上的外部源 忙碌盒开放式SSL 安装。当外部源告诉我的系统更新凭据时,如何在脚本中更改用户的密码?我将得到纯文本的密码。

这必须是自动化的,据我所知,busybox passwd 是交互式的,如果可能的话,我并不是特别想为 passwd 编写一个期望类型的脚本。看起来 openssl 可以生成密码哈希值(openssl passwd -1 -salt "abcdefgh" {密码}),但是我必须直接修改/etc/shadow吗?

Busybox 有 这些 可用命令。

有帮助吗?

解决方案

您可以写一个小脚本,这样更新密码。将下面的文本文件,并执行它。它会改变你的密码。 点击 结果

#!/ bin / sh的 点击 passwd文件<< EOF 点击 <旧密码> 点击 <新密码> 点击 <新密码> 点击 EOF 结果

其他提示

事实证明当前版本的 busybox 有 密码 (源代码)。chpasswd 在标准输入上采用冒号分隔的用户名:密码对。我不知道是否可以更新系统上的 busybox,但我会留下这个答案,以防其他人来看。

来自 busybox 文档:

chpasswd
chpasswd [--md5|--encrypted]

Read user:password from stdin and update /etc/passwd

Options:

        -e,--encrypted  Supplied passwords are in encrypted form
        -m,--md5        Use MD5 encryption instead of DES
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top