.htpasswdサーバー上の特定のディレクトリをパスワードで保護するために使用しています。ただし、これを行うたびにsudo htpasswd -c /etc/apache2/.htpasswd newuser、現在の内容.htpasswdが上書きされることに気づきました。私のサイトのすべてのディレクトリには、.htpasswdに独自のユーザーがいます。
代わりに新しいユーザーを追加しないで上書きするにはどうすればよい.htpasswdですか?
.htpasswdサーバー上の特定のディレクトリをパスワードで保護するために使用しています。ただし、これを行うたびにsudo htpasswd -c /etc/apache2/.htpasswd newuser、現在の内容.htpasswdが上書きされることに気づきました。私のサイトのすべてのディレクトリには、.htpasswdに独自のユーザーがいます。
代わりに新しいユーザーを追加しないで上書きするにはどうすればよい.htpasswdですか?
回答:
まったく同じこと-cです。オプションを省略してください。Apacheのドキュメントはこちら。
htpasswd /etc/apache2/.htpasswd newuser
また、htpasswd通常はrootとして実行されません。通常は、ウェブサーバーか、提供されているファイルの所有者が所有しています。これらのユーザーの1人としてログインする代わりにrootを使用して編集する場合、それは許容できます(たぶん)。しかし、誤ってrootとしてファイルを作成しないように注意してください(したがって、 rootがそれを所有し、他の誰もそれを編集することはできません)。
.htpasswdの使用を要求する既存のものを変更することはできません-c。
htpasswd /path/to/file usernameとにかく完全に有効で(構文的には)、Apache docsの最初の例ですら。
htpasswd -c /etc/apache2/.htpasswd newuserCentOSサーバーで実行しようとしています!申し訳ありませんが、私が間違ったウィンドウにいることに気づきませんでした。5分後に回答を受け付けます。ありがとう!
FWIW htpasswd -n usernameは結果を直接stdoutに出力し、ファイルにまったく触れないようにします。