web-dev-qa-db-ja.com

Apache htaccesspasswd-正しいログインを無視する

ディレクトリをパスワードで保護したい。 CentosでcPanelを使用してApache2を実行しています。

この投稿のために、ディレクトリは/home/user/my-secret-dirです。

CPanelの「PasswordProtectDirectories」を使用してログインの詳細を作成し、新しい/home/user/.htpasswds/my-secret-dir/passwdファイルに保存しました。

それがしなかったことは、どこにでもAuthType構成を作成することです-プロンプトなしでディレクトリに簡単にアクセスできました(これが機能している間、一般的なindex.htmlを取得するだけです)。

そこで、次の内容で/home/user/my-secret-dir/.htaccessを自分で作成しました。

AuthType Basic
AuthName "My Secret Directory"
AuthUserFile "/home/user/.htpasswds/my-secret-dir/passwd"
require valid-user

これにより、ブラウザはログインの詳細の入力を求められますが、正しいユーザー名とパスワードを入力すると、間違っているかのように動作し、詳細の入力を再度求められます。

私が入力している詳細は間違いなく正しいです。

私は以前にこの同じサーバーにパスワードで保護されたディレクトリを設定しましたが(アカウント/ドメインは異なりますが)、正常に機能しました(そして引き続き機能します)。

継続的なプロンプトを引き起こしている可能性のあるアイデアと、それを修正する方法はありますか?

2
Peter Boughton

これは権限の問題でした。Apacheは認証ファイルにアクセスできなかったため、すべてが無効として扱われていました。

明らかになったログを確認する:

(13)許可が拒否されました:パスワードファイルを開くことができませんでした:/home/user/.htpasswds/my-secret-dir/passwd

/home/user/.htpasswdsディレクトリは以前から存在していて、権限が正しくありませんでした。

Apacheがアクセスできるようにアクセス許可を更新したところ、期待どおりにログインできました。

4
Peter Boughton