Как автоматизировать генерацию htpasswd из командной строки без ввода пароля? Я пытаюсь автоматизировать создание пароля из командной строки. Я пробовал ниже, но он все еще спрашивает пароль. echo "test101" | htpasswd -c ~/temp/password admin Как сгенерировать автоматизацию htpasswd из командной строки без ввода пароля? Ответ 1 Почему бы просто не использовать: htpasswd -b -c ~/temp/password admin test101 Ответ 2 Переключатель -b должен выполнить трюк, но пароль будет отображаться другим пользователям в системе через список процессов (ps и т.д.): htpasswd -b -c ~/temp/password admin test101 Ответ 3 Если у вас не установлен htpasswd (например, при использовании nginx), вы можете сгенерировать пароль с помощью openssl. printf "USER:$(openssl passwd -crypt PASSWORD)\n" >> .htpasswd Ответ 4 Со страницы руководства htpasswd мы получаем это: -i Считать пароль из stdin без проверки (для использования скрипта). Так что, согласно вашему вопросу, что-то вроде этого должно работать: echo "test101" | htpasswd -c -i ~/temp/password admin Но пароль будет виден в истории и списке процессов. Чтобы автоматизировать создание пароля из командной строки, я бы записал простой пароль в файл и сделал что-то вроде этого: htpasswd -c -i ~/temp/password admin < ~/temp/pass_plain После этого удалите файл pass_plain. Также убедитесь, что файл pass_plain не доступен для чтения кому-либо еще, даже если он находится там в течение нескольких секунд.
Ответ 2 Переключатель -b должен выполнить трюк, но пароль будет отображаться другим пользователям в системе через список процессов (ps и т.д.): htpasswd -b -c ~/temp/password admin test101
Ответ 3 Если у вас не установлен htpasswd (например, при использовании nginx), вы можете сгенерировать пароль с помощью openssl. printf "USER:$(openssl passwd -crypt PASSWORD)\n" >> .htpasswd
Ответ 4 Со страницы руководства htpasswd мы получаем это: -i Считать пароль из stdin без проверки (для использования скрипта). Так что, согласно вашему вопросу, что-то вроде этого должно работать: echo "test101" | htpasswd -c -i ~/temp/password admin Но пароль будет виден в истории и списке процессов. Чтобы автоматизировать создание пароля из командной строки, я бы записал простой пароль в файл и сделал что-то вроде этого: htpasswd -c -i ~/temp/password admin < ~/temp/pass_plain После этого удалите файл pass_plain. Также убедитесь, что файл pass_plain не доступен для чтения кому-либо еще, даже если он находится там в течение нескольких секунд.