Adicionando um usuário em .htpasswd

87

Estou usando .htpasswdpara proteger com senha determinado diretório em meu servidor. No entanto, percebi que toda vez que faço isso, sudo htpasswd -c /etc/apache2/.htpasswd newusermeu conteúdo atual de .htpasswdserá sobrescrito. Cada diretório do meu site tem seu próprio usuário em .htpasswd.

Como não posso substituir, em vez disso, adicionar um novo usuário no meu .htpasswd?

quebra-peixe
fonte

Respostas:

143

Exatamente a mesma coisa, apenas omita a -copção. Documentos do Apache sobre isso aqui .

htpasswd /etc/apache2/.htpasswd newuser

Além disso, htpasswdnormalmente não é executado como root. Geralmente é propriedade do servidor da web ou do proprietário dos arquivos que estão sendo servidos. Se você estiver usando root para editá-lo em vez de fazer login como um desses usuários, isso é aceitável (eu suponho), mas você deve ter cuidado para não criar acidentalmente um arquivo como root (e assim tem o próprio root e ninguém mais poderá editá-lo).

Corbin
fonte
Meu Deus! Nunca pensei que essa mudança fosse a resposta, perdoe minha inocência.
fishcracker
Porém, não me deixa modificar o existente .htpasswdinsiste no uso de -cswitch.
fishcracker
@fishcracker Qual é o erro? htpasswd /path/to/file usernameé perfeitamente válido (sintaticamente de qualquer maneira) e até mesmo o primeiro exemplo nos documentos do Apache.
Corbin
Foi mal. Estou tentando fazer htpasswd -c /etc/apache2/.htpasswd newuserno meu servidor CentOS! Desculpe, não percebi que estou na janela errada. Aceitará sua resposta em 5 minutos. Obrigado!
fishcracker
18

FWIW, htpasswd -n usernameirá enviar o resultado diretamente para stdout e evitar tocar nos arquivos completamente.

Curtis Mattoon
fonte