Agregar un usuario en .htpasswd

92

Estoy usando .htpasswdpara proteger con contraseña cierto directorio en mi servidor. Sin embargo, noté que cada vez que hago esto, sudo htpasswd -c /etc/apache2/.htpasswd newusermi contenido actual .htpasswdse sobrescribe. Cada directorio de mi sitio tiene su propio usuario en .htpasswd.

¿Cómo no puedo sobrescribir en lugar de agregar un nuevo usuario en mi .htpasswd?

pescado
fuente

Respuestas:

148

Exactamente lo mismo, simplemente omita la -copción. Los documentos de Apache aquí .

htpasswd /etc/apache2/.htpasswd newuser

Además, htpasswdnormalmente no se ejecuta como root. Por lo general, es propiedad del servidor web o del propietario de los archivos que se sirven. Si está utilizando root para editarlo en lugar de iniciar sesión como uno de esos usuarios, eso es aceptable (supongo), pero debe tener cuidado para asegurarse de no crear accidentalmente un archivo como root (y por lo tanto hacer que root sea el propietario y nadie más pueda editarlo).

Corbin
fuente
¡Buena gracia! Nunca pensé que ese interruptor era la respuesta, perdón por mi inocencia.
fishcracker
Sin embargo, no me permitirá modificar el existente .htpasswd, insiste en el uso de -cswitch.
fishcracker
@fishcracker ¿Cuál es el error? htpasswd /path/to/file usernamees perfectamente válido (sintácticamente de todos modos) e incluso el primer ejemplo en los documentos de Apache.
Corbin
Culpa mía. ¡Estoy intentando hacerlo htpasswd -c /etc/apache2/.htpasswd newuseren mi servidor CentOS! Lo siento, no me di cuenta de que estoy en la ventana incorrecta. Aceptará tu respuesta en 5 minutos. ¡Gracias!
fishcracker
19

FWIW, htpasswd -n usernamegenerará el resultado directamente en stdout y evitará tocar archivos por completo.

Curtis Mattoon
fuente