ITメモ
CentOS / セントオーエス




【CentOS】「HTTPサーバー」に「ユーザー認証(ユーザー名・パスワード)」を設定する方法

【CentOS】
「HTTPサーバー」に「ユーザー認証(ユーザー名・パスワード)」を設定する方法




「ユーザー認証(ユーザー名・パスワード)」は、
指定したディレクトリに含まれるファイルなどにアクセスした時に、 「ユーザー名」「パスワード」の入力を求める認証です。

設定ファイル「httpd.conf」と、 「.htpasswd」ファイルを 設定することにより「ユーザー認証」を設定することができます。








「ユーザー認証(ユーザー名・パスワード)」とは


「ユーザー認証(ユーザー名・パスワード)」とは、
指定ディレクトリなどに、 アクセス時に「ユーザー名・パスワード」を入力する「ユーザー認証」をかけて、 アクセスを制限すること。


「ユーザー認証」を設定するのに編集するファイルは、
・設定ファイル「/etc/httpd/conf/httpd.conf」
・「.htpasswd」ファイル
が必要。



「ユーザー認証」をかけるには、
・「.htpasswd」ファイルを作成し、「HTTPサーバー」がアクセスできる場所に保存する。
・「htpasswd」コマンドで、「ユーザー名とパスワード」を「.htpasswd」ファイルに保存する。
・設定ファイル「httpd.conf」の中に、「ディレクトリへの設定」と「.htpasswd」ファイルの場所などを記述する。
などの設定をして、「ユーザー認証」を設定する。


Back





「.htpasswd」ファイルに「ユーザー認証」の設定する方法


「ユーザー認証」を設定するには、
まず「ユーザー名」「パスワード」を保存するファイル「.htpasswd」を作成して、 「ユーザー名」「パスワード」を記述する必要がある。
その後、設定ファイル「httpd.conf」を編集することにより、 「ユーザー認証」が実行できる。



パスワードファイル「.htpasswd」を作成する


「.htpasswd」ファイルを保管する場所は、
「HTTPサーバー」がアクセスできる場所であればどこでも良い。


「.htpasswd」ファイルを作成していない場合
htpasswd -c /etc/httpd/conf/.htpasswd ユーザー名
「.htpasswd」ファイルがある場合
htpasswd /etc/httpd/conf/.htpasswd ユーザー名

New password:パスワードを入力
Re-type new password:パスワードを入力

「.htpasswd」ファイルを確認
cat /etc/httpd/conf/.htpasswd
「ユーザー名:パスワードの暗号」が記述されていればOK。




パズワードの変更
htpasswd /etc/httpd/conf/.htpasswd ユーザー名

ユーザを削除する場合
htpasswd –D /etc/httpd/conf/.htpasswd ユーザー名


Back





設定ファイル「httpd.conf」の「ユーザー認証」を有効に変更する方法


「.htpasswd」ファイルに、 「ユーザー名」「パスワード」を設定し、 設定ファイル「httpd.conf」で、「ユーザー認証」を「有効」に設定することで、 「ユーザー認証」が実行される。


設定ファイル「httpd.conf」の編集コマンド
vi /etc/httpd/conf/httpd.conf

ユーザー認証を有効にするための設定

<Directory /var/www/manual>
AuthUserFile /etc/httpd/conf/.htpasswd
AuthType Basic
AuthName ByPassword
require user ユーザー名
</Directory>
ユーザー認証を適用したいディレクトリのURLにして、ユーザー認証の設定オプションを記述する。


「httpd」を再起動する
service httpd restart
もしくは
systemctl restart httpd



設定ファイル「httpd.conf」の設定項目

設定項目説明
AuthUserFile htpasswdコマンドで作成したID,パスワードが含まれ.htpasswdファイルを絶対パスで指定。
AuthGroupFile グループ単位で認証を行う場合に情報が格納されているファイルを指定。
通常の認証では指定するファイルが存在しないため、/dev/nullを指定。
AuthName 認証ダイアログに表示される文字を設定。
AuthType 使用する認証方法を指定します。こちらも通常では、Basicを指定。
Require user 許可するユーザの指定を行います。
valid-userの場合は、AuthUserFileで指定されたパスワードファイルに登録されている、全てのユーザが認証後にリソースを使用できます。

「Require user valid-user」=AuthUserFileで指定されたパスワードファイルに登録されている、全てのユーザが認証後にリソースを使用可能。 「Require user tanaka sato」=ユーザtanakaとユーザsato以外のユーザ認証を拒否。


Back