Как изменить пароль пользователя в скрипте с помощью busybox и openssl?
Мне нужно синхронизировать учетную запись пользователя и пароль с внешним источником в системе с busybox и в OpenSSL установлен. Когда внешний источник сообщает моей системе обновить учетные данные, как изменить пароль пользователя в скрипте? У меня будет пароль в виде обычного текста.
Это должно быть автоматизировано, и из того, что я могу сказать, busybox passwd является интерактивным, и я не особенно хочу писать сценарий ожидаемого типа для passwd, если это даже возможный. Похоже, openssl может генерировать хэши паролей (openssl passwd -1-соль "abcdefgh" {пароль}), но мне придется изменить /etc/shadow напрямую?
Busybox имеет эти доступные команды.
2 ответов
вы можете написать небольшой скрипт, как это, чтобы обновить пароль. Поместите следующий текст в файл и выполните его. Он изменит ваш пароль.
#!/ bin / sh
программа passwd
ВФ
оказывается, текущие версии busybox имеют командой chpasswd (исходный код). chpasswd принимает имя пользователя пары с двоеточием: пароль на stdin. Я не знаю, Могу ли я обновить 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