私のウェブサイトのディレクトリの1つに対して基本認証を有効にしました。コードがhttpd.conf
ファイルに追加されました。ユーザーとパスワードが/etc/passwd
ファイルに追加されました。にも同じパスが入力されましたhttpd.conf
。すべてのモジュール(基本、認証、書き換えなど)がApacheにロードされていることを確認してください。
問題 - ウェブサイト(インターネット)からフォルダにアクセスしようとするとすぐに認証ポップアップが表示されますが、ユーザー名とパスワードを入力すると、これ以上進行せず、ポップアップが開いてアクセスできなくなります。内容物。
パスワードhttpd.conf
<Directory "/srv/www/htdocs/.....">
AllowOverride AuthConfig
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile "/etc/passwd"
# AuthGroupFile "/etc/group"
Require valid-user
</Directory>
答え1
私はあなたがandディレクティブでandを使いたくないと確信しています/etc/passwd
。/etc/group
AuthUserFile
AuthGroupFile
私は別のファイルを作成する必要があると思います(AuthUserFile
ファイルを作成して維持するにはコマンドを使用してくださいhtpasswd
)。
Apacheに認証に一般的なシステムアカウントを使用させるには、PAMなどの認証モジュールを使用することをお勧めします。これしかし、それが良いかどうかはわかりません。一度も使ったことがありません。)
答え2
Murrayが提案したように別のファイル(ではなく/etc/passwd
)を作成してから、次のようにすることができます。ここで説明、次の手順に従って基本認証ユーザーを作成できます。
htpasswd -c /path/to/your/file username
パスワードを入力するように求められ、パスワードは暗号化されて上で定義されたファイルに保存されます。ノート追加のユーザーを作成するには、この-c
パラメーターを省略する必要があります。
htpasswd /path/to/your/file username
それ以外の場合は、ファイルが再作成され、以前に追加されたユーザーが上書きされます。
htpasswd --help
-c は新しいファイルを作成します。
また、パスワードの暗号化に使用する暗号化アルゴリズムを決定できることも考慮してください。
-m はパスワードの MD5 暗号化を強制します。
-d パスワードの CRYPT 暗号化を強制します (デフォルト)。
-pパスワードを暗号化しません(通常のテキスト)。
-s はパスワードの SHA 暗号化を強制します。