Как автоматизировать генерацию htpasswd из командной строки без ввода пароля?

Я пытаюсь автоматизировать создание пароля из командной строки. Я пробовал ниже, но он все еще продолжает запрашивать пароль.

echo "test101" | htpasswd -c ~/temp/password admin

Как создать автоматизировать htpasswd из командной строки без ввода пароля?

3 ответов


почему бы просто не использовать:

htpasswd -b -c ~/temp/password admin test101

на -b переключатель должен сделать трюк, но пароль все равно будет виден другим пользователям в системе через список процессов (ps и т. д.):

htpasswd -b -c ~/temp/password admin test101

Если у вас нет htpasswd установлен (например, при использовании nginx) вы можете создать пароль с openssl.

printf "USER:$(openssl passwd -crypt PASSWORD)\n" >> .htpasswd