IDとパスワードでログインするのが、最近本当に嫌気がさしてきた、ユゲタです。
めんどくさいというよりは、どのサイトでも、独自でIDとパスワードをセットして、漏洩したら強制変更させられて、もはや、自分が総勢いくつのIDとパスワードを保持しているのか、把握できないカオス状態である上、5回間違ったら、アカウント凍結されるサービスなどもあって、ITリテラシの低い人って、まあまあな苦痛を味わっているのではないでしょうか?
でも、サーバー管理をする上では、Basic認証は、意外と欠かせません。
Linuxサーバー自体のログイン認証も未だに、Basic認証ですからね。
そんな、Basic認証をwebサービスで利用すべく、PHP連動させたり、サーバーアクセスをhtpasswodで制御したりできるように、認証ファイルを作ったり、編集したり、消したりする作業のやり方を書き残しておきます。
本日のIT謎掛け
「Basic認証」と、かけまして・・・
「バスケットボールでゴールしたにいる味方」と、ときます。
そのココロは・・・
パスが必要。
Basic認証をコントロールするhtpasswdコマンドのインストール
apacheとセットで提供されている「htpasswd」コマンドですが、このコマンドを使えば、簡単にbasic認証ファイルを作ったり、IDとパスワードを追加したり、削除したり、編集できるようになります。
apacheがインストールされていれば、すでにインストールされている場合もありますが、インストールされていない場合は、以下のコマンドでインストールすることが可能です。
※Linuxサーバーに限ります。
# Debian 系
$ sudo apt-get install apache2-utils
# Red Hat 系
$ sudo yum install httpd-tools
さほど手間がかかるインストールではないので、これに対しての注意点はありません。
Basic認証ファイルの作成、IDとパスワードの追加、削除、編集
基本的な操作は以下の通りです。
# Basic認証ファイルの作成
$ htpasswd -c -b %認証ファイルパス %ユーザ名 %パスワード
# 新規(初ユーザー登録)
$ htpasswd -b %認証ファイルパス %ユーザ名 %パスワード
# パスワード修正(2回目以降のユーザー登録)
$ htpasswd -b %認証ファイルパス ユーザ名 %パスワード
# ユーザー削除
$ htpasswd -D %認証ファイルパス %ユーザ名
基本的に任意の場所に認証ファイルを設置する時を想定した操作になります。
Basic認証ファイルが存在しない場合に最初のユーザー登録は、-cオプションをつけて、ファイルを作成しなければいけません。
※-cオプションをつけ忘れると、エラーになります。
認証ファイルが作られている状態であれば、それ以降に新しく作られるユーザー、すでに登録されているユーザーのパスワード変更は、同じコマンドになるので、間違えて別のユーザーのパスワードを書き換えてしまわないように注意しましょう。
削除の時だけは、-Dオプションをつけて厳密に対応しましょう。
個人的な使い方として、nginxと組み合わせて、phpでコントロールできる状態にすると、非常にセキュアな開発環境が構築することができました。
より良い環境構築の為に、参考になれば、幸いです。
0 件のコメント:
コメントを投稿