Hinzufügen eines Benutzers zu .htpasswd

87

Ich verwende .htpasswdzum Kennwortschutz bestimmter Verzeichnisse auf meinem Server. Ich habe jedoch festgestellt, dass sudo htpasswd -c /etc/apache2/.htpasswd newusermein aktueller Inhalt jedes Mal, wenn ich dies tue .htpasswd, überschrieben wird. Jedes Verzeichnis meiner Site hat einen eigenen Benutzer auf .htpasswd.

Wie kann ich nicht überschreiben, sondern einen neuen Benutzer zu meinem hinzufügen .htpasswd?

Fischknacker
quelle

Antworten:

141

Genau das Gleiche, lassen Sie einfach die -cOption weg. Apaches Dokumente dazu hier .

htpasswd /etc/apache2/.htpasswd newuser

Außerdem wird htpasswdnormalerweise nicht als Root ausgeführt. Es gehört normalerweise entweder dem Webserver oder dem Eigentümer der Dateien, die bereitgestellt werden. Wenn Sie root zum Bearbeiten verwenden, anstatt sich als einer dieser Benutzer anzumelden, ist dies akzeptabel (nehme ich an), aber Sie sollten darauf achten, dass Sie nicht versehentlich eine Datei als root erstellen (und damit) habe root besitze es und niemand sonst kann es bearbeiten).

Corbin
quelle
Ach du meine Güte! Ich hätte nie gedacht, dass dieser Schalter die Antwort ist, verzeihen Sie meine Unschuld.
Fischknacker
Ich kann jedoch nicht das vorhandene ändern, das auf .htpasswdder Verwendung eines -cSchalters besteht.
Fischknacker
@fishcracker Was ist der Fehler? htpasswd /path/to/file usernameist vollkommen gültig (syntaktisch sowieso) und sogar das erste Beispiel in den Apache-Dokumenten.
Corbin
Mein Fehler. Ich versuche es htpasswd -c /etc/apache2/.htpasswd newuserauf meinem CentOS-Server! Entschuldigung, ich habe nicht bemerkt, dass ich am falschen Fenster bin. Akzeptiert Ihre Antwort in 5 Minuten. Vielen Dank!
Fischknacker
17

FWIW htpasswd -n usernamegibt das Ergebnis direkt an stdout aus und vermeidet das Berühren von Dateien insgesamt.

Curtis Mattoon
quelle