Добавление пользователя в .htpasswd

92

Я использую .htpasswdдля защиты паролем определенного каталога на моем сервере. Однако я заметил, что каждый раз, когда я это делаю, sudo htpasswd -c /etc/apache2/.htpasswd newuserмое текущее содержимое .htpasswdбудет перезаписано. В каждом каталоге моего сайта есть свой пользователь на .htpasswd.

Как я могу не перезаписать, а вместо этого добавить нового пользователя на свой .htpasswd?

рыбалка
источник

Ответы:

149

То же самое, только опустите эту -cопцию. Документация Apache по этому поводу здесь .

htpasswd /etc/apache2/.htpasswd newuser

Кроме того, htpasswdобычно не запускается с правами root. Обычно он принадлежит либо веб-серверу, либо владельцу обслуживаемых файлов. Если вы используете root для его редактирования вместо того, чтобы входить в систему как один из этих пользователей, это приемлемо (я полагаю), но вы должны быть осторожны, чтобы убедиться, что вы случайно не создаете файл как root (и, следовательно, имейте root, и никто другой не сможет его редактировать).

Корбин
источник
О Боже! Никогда не думал, что этот переключатель - ответ, извините за мою невиновность.
Fishcracker
Однако он не позволяет мне изменять существующий, .htpasswdон настаивает на использовании -cпереключателя.
fishcracker
@fishcracker Что за ошибка? htpasswd /path/to/file usernameсовершенно корректно (в любом случае синтаксически) и даже первый пример в документации Apache.
Corbin
Виноват. Я пытаюсь сделать это htpasswd -c /etc/apache2/.htpasswd newuserна своем сервере CentOS! Извините, не заметил, что я не в том окне. Приму ваш ответ через 5 мин. Благодарность!
Fishcracker
19

FWIW htpasswd -n usernameвыведет результат прямо на стандартный вывод и не будет касаться файлов вообще.

Кертис Мэттун
источник