Как Вы изменяете пароль пользователя в сценарии с busybox и openssl?

Я должен синхронизировать учетную запись пользователя и пароль к внешнему источнику в системе с busybox и установленным openssl. Когда внешний источник говорит моей системе обновлять учетные данные, как я изменяю пароль пользователя в сценарии? У меня будет пароль в простом тексте.

Это должно быть автоматизировано, и от того, что я могу сказать, что busybox passwd является интерактивным, и я особенно не хочу писать сценарий ожидать-типа для passwd, если это даже возможно. Похоже, что openssl может генерировать хэши пароля (openssl passwd-1 - солят "abcdefgh" {пароль}), но я должен буду изменить/etc/shadow непосредственно?

Busybox имеет эти команды в наличии.

6
задан indiv 13 January 2010 в 18:27
поделиться

2 ответа

Для обновления пароля можно написать небольшой скрипт вроде этого. Положите следующий текст в файл и выполните его. Он изменит ваш пароль.

#!/bin/sh
пассив << EOF
<старый пароль>
<новый пароль>
<новый пароль>
EOF

6
ответ дан 9 December 2019 в 20:43
поделиться

получают текущие версии busybox имеют Chapswd ( исходный код ). Chapswd принимает имя пользователя для разграниченной толстой кишки: пароль на stdin. Я не знаю, могу ли я обновить Busybox в мою систему, но я оставлю этот ответ на случай, если кто-то выглядит.

Из документации Batebox:

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
6
ответ дан 9 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: