Secuencias de comandos htdigest -c / ruta / a / archivo / $ usuario $ usuario $ contraseña en Bash
8
Quiero poder escribir un script con una contraseña en la variable $ contraseña.
htdigest -c /etc/apache2/pw/$user $user $password
En este momento me pide que ingrese manualmente una contraseña; Esto no será posible ya que será una configuración automatizada mediante un script PHP. ¿Podría alguien mostrarme cómo escribir esto? ¿O una función de script equivalente?
Lo he usado md5sumde GNU coreutils y en awklugar de solo md5porque es lo que he instalado en mi sistema y no me molesté en averiguar qué paquete contiene /usr/bin/md5, también podría usar sha512sumu otro programa de hash.
por ejemplo, si user = foo , realm = bar y password = baz , el comando anterior producirá:
foo:bar:5bf2a4095f681d1c674655a55af66c5a
htdigest no hace nada mágico o incluso inusual: solo muestra el usuario, el reino y la contraseña en el formato correcto ... como lo hace el comando anterior.
Eliminar el resumen para un usuario dado: el reino en lugar de solo agregar uno, se puede hacer fácilmente con sed.
sed -i -e "/^$user:$realm:/d" "/etc/apache2/pw/$user"
Y actualizar / cambiar el resumen para un usuario: el reino también se puede hacer con sed en combinación con el método anterior para generar la línea de resumen. p.ej
Verifique la función 'proc_open' en PHP http://fr.php.net/manual/en/function.proc-open.php
Puede ejecutar htdigest con su opción, luego enviar las tuberías de la nueva contraseña.
Probablemente pueda encontrar / crear una función PHP que haga el trabajo htdigest. Debería ser más fácil usar proc_open ...
fuente