Go Forward

特定メンバーのみ閲覧できるページの設定方法(パスワード認証)

  http://www.isc.meiji.ac.jp で使用しているWebサーバプログラム(apache)は 「Basic Authentification」という認証機能があります。
これを用いると、ホームページ制作者は、特定のページに対して、パスワードによる簡易的なアクセス制限をかけることができます。
以下に、この機能の利用手順を紹介します。

設定方法

  1. ワークステーション(samba00)にログインします
         login: ex12345   (←自分のログイン名)
         Password:
         Last login: Thu May 28 16:17:09 from isc-xxx
         samba00%
        
  2. アクセス制限をかけるページを置くディレクトリを作成します
       
     (例)アクセス制限をかけるページを、~/public_html/secret というディレクトリに置く場合。
    
        samba00% cd public_html  (←public_htmlディレクトリへ移動)
        samba00% mkdir secret   (←secretディレクトリを作成)     

  3. アクセス制限をかけるページを作成します
    通常通り、HTML の作法に従ってホームページを作成します。
        samba00% cd secret    (←secretディレクトリへ移動)
        samba00% vi index.html  (←アクセス制限をかけたいHTMLファイルを作成。emacs等他のエディタでも構わない。)
        ----------------------------------------------------------------
        <HTML>
         <HEAD>
          <TITLE> 秘密のホームページ </TITLE>
             ...
        </HTML>
        ----------------------------------------------------------------
        
  4. アクセス制限をかけるディレクトリに、認証方式やパスワードファイル名を指定した定義ファイルを作成します
    認証方式やパスワードファイル名などは、.htaccess というファイルに 定義します。.htaccess の文法などの詳細については、 apacheのマニュアルを ご覧ください。
        samba00%  vi .htaccess   (←.htaccessファイルの作成)
        ----------------------------------------------------------------
        AuthUserFile /home/ex12345/.htpasswd-file  (←認証用のパスワードファイル名, ex12345は自分のログイン名(ニックネーム)です。)
        AuthGroupFile /dev/null
        AuthName ByPassword
        AuthType Basic
    
        <Limit POST GET PUT>
        require valid-user
        </Limit>
        ----------------------------------------------------------------
        
  5. 認証用パスワードファイルを作成します。
    認証用パスワードの作成とユーザの定義には、htpasswd というコマンドを用います。
    htpasswd コマンドの詳細は、こちらをご覧ください。
    htpasswd で定義するユーザ名とパスワードは、基盤サービス利用アカウントとは独自に、適当につけることができます。
       (例)認証用パスワードファイル名: /home/ex12345/.htpasswd-file
               ユーザ名: member
               パスワード: xxxxxxx
           を定義する場合。
    
        samba00% htpasswd -c /home/ex12345/.htpasswd-file member  (←ログイン名:memberを追加)
        (-c オプションは、はじめて作業する時だけつければ結構です。
          すでに .htpasswd-file が存在し、ユーザを追加する場合は、-c オプションは
          つけないで htpasswd コマンドを起動してください。)
        Adding password for member.
        New password: xxxxxxxx    (←memberに対するパスワードを入力)
        Re-type new password:    (←もう一度入力)   
    
        samba00% cat .htpasswd-file  (←認証用パスワードファイルが無事作成できたことを確認)
        ----------------------------------------------------------------
        member:0ytlx2VakEhXo    (←memberに対するパスワードは暗号化されている)
        ----------------------------------------------------------------
       
  6. 動作確認を行います。
       Internet Explorer等のブラウザから
         http://www.isc.meiji.ac.jp/~ex12345/secret/index.html 
       にアクセスしてください。
       
  7. 5. で設定したログイン名とパスワードをアクセ スを許可したユーザへ教えます。

  8. 終了。

注意

  • ・Webブラウザから、パスワードによるホームページに対するアクセス制限は、 一応、この方法でできます。
  • ・しかし、完全に守られるわけではありません。
  • ・何故ならば、基盤サービス利用アカウントを持っていて、かつ、認証用パスワードファイルの名前さえ分かれば、 cat コマンドなどを用いて、ホームページを「見る」ことは可能だからです。
    (理由)
     Webサーバプログラムは nobody 権限で動いている為、ホー ムページとして公開するファイルのパーミッションは、other に対し、 readable である必然性がある為。
  • ・従って、上記方法によるホームページへのアクセス制限は、あくまでも、 基盤サービス利用アカウントを持っていない外部の方が、Webブラウザを用いてアクセスを行う場合に限り有効であることに気をつけてください。

生田情報メディア