apache basic 認証 ほか (expect 等) に戻る

apache basic passwd login 002

今回は他の領域に basic password 認証 を 行う アクセスする人 も 別の 人 passwd file も また別の 異なった file にする。

前提

今回は有る一部の 領域 を 既に basic 認証 で 運用中です それに 対して 新しく 別の 領域を 別の 人に basic 認証 するということです この 単純な サーバー に対して

/apach2/htdocs/index.html -----/user1-htmlfiles         user1

                               /~user2/index-htmlfiles  user2
/* パスワード ファイルも 別に 作成する   */
.passwdiuser1
.passwdiuser2

これが 正解か どうかは 不明ですが httpd.conf に 追記した 形に なると 思います 追加のお客さんは ”april”さんです

<Directory "/var/data/www/apache2/htdocs/8000_secret/">

        AuthUserFile /var/data/www/apache2/htdocs/8000_secret/.passwdnyanta

        AuthGroupFile /dev/null

        AuthName "Here come recipe files!"

        AuthType Basic

        <limit GET>

            require valid-user

        </limit>

    </Directory>
#2006年 4月15日 (土) 17:02:24 JST add user april test
<Directory "/home/mm/public_html/april_work/1002_secret/">

        AuthUserFile /var/data/www/apache2/.passwdapril

        AuthGroupFile /dev/null

        AuthName "Here come april files!"

        AuthType Basic

        <limit GET>

            require valid-user

        </limit>

    </Directory>

ということで 始めましょう

作業内容

一組の html ファイルは 作成済みの 状況です そこで 設置済みのサーバー にての 作業に なります

データーの移動

scp の ”r”オプションにて 再起的に データーの 移動します

$ scp -r april_work/ cricrima-sa.no-ip.info:/home/mm
Enter passphrase for key '/home/mm/.ssh/id_rsa': 
index.html                                    100% 1231     4.1MB/s   00:00    
april.css                                      100% 6677     9.9MB/s   00:00    
sample-pkgtool-w661h371.png                   100% 3589     3.2MB/s   00:00    
index.html                                    100% 4559     6.3MB/s   00:00    
index.html    
$ ssh -l mm cricrima-sa.no-ip.info       /* 相手方の サーバーに 侵入して  */
Enter passphrase for key '/home/mm/.ssh/id_rsa': 
$ su -
Password: 
# cd /home/mm
# mv april_work/ public_html/

データーの 移動解凍 完了

/var/data/www/apache2/htdocs/index.html

新しく リンクするために index.html を 修正します。

# cd /var/data/www/apache2/htdocs/
# cp index.html index.html_normal
# vi index.html
# diff -s index.html index.html_normal 
58d57
< <a href="/~mm/april_work/index.html" title="Spring!Spring" >april_work</a>

httpd.conf

httpd.conf を 変更して 新しい 領域 、ユーザー、パスワードの 条件を 追記 します。

# cd ../conf/
# pwd
/var/data/www/apache2/conf
# cp httpd.conf httpd.conf_normal
# vi httpd.conf
# diff -s httpd.conf httpd.conf_normal 
1072,1090d1071
< #Sat Apr 15 22:50:38 JST 2006 add user april test
< <Directory "/home/mm/public_html/april_work/1002_secret/">
< 
<         AuthUserFile /var/data/www/apache2/.passwdapril
< 
<         AuthGroupFile /dev/null
< 
<         AuthName "Here come april files!"
< 
<         AuthType Basic
< 
<         <limit GET>
< 
<             require valid-user
< 
<         </limit>
< 
<     </Directory>
< 

htpasswd -c

password を 作成します 今回追加 ユーザーの為新しく 作成する ”c”オプ ションを つけて作成します。

# cd ../bin/
# pwd
/var/data/www/apache2/bin
# ./htpasswd -c /var/data/www/apache2/.passwdapril april
New password: 
Re-type new password: 
Adding password for user april
# pwd
/var/data/www/apache2
# ls -a
./           bin/      conf/    icons/    logs/    modules/
../          build/    error/   include/  man/     org_htdocs/
.passwdapril  cgi-bin/  htdocs/  lib/      manual/

移動して passwd ファイルの 名前と ユーザーの 名前を 指定する 今回の場 合は 場所が /var/data/www/apache2/ の 場所に ファイルの名前が .passwdapril で ユーザーの 名前が april である場合 そして passwd を 2回 入力する。 後 passwd file が作成されているか 確認を 行います。出来ているようです。

change owner

所有者を apache に 戻しておきます

# pwd
/var/data/www
# chown -R apache.apache apache2/*

log 関連の 整理して クリヤー します。

# pwd
/var/data/www/apache2/logs
# :>access_log 
# :>error_log 

apache (httpd) の 停止 起動

apache (httpd) の 停止 起動 を 行います

# pwd
/var/data/www/apache2/logs
# ../bin/apachectl stop
# ../bin/apachectl start
# cat error_log 
[Sat Apr 15 23:04:40 2006] [notice] Apache/2.0.54 (Unix)\
 configured -- resuming normal operations

この場合 apachectl graceful ; apachectl restart 等 した方が 良いらしい。

これで アクセス した場合 どのように なるだろうか 間違ったものをいれても 動かない事を 確認して 正当なもので 見れる事を 確認すれば良い 以下はユーザーの 名前は正しいが パスワードを 間違った例の log です

# cat access_log 
123.456.7.89 - - [17/Apr/2006:20:07:28 +0900]\
 "GET /~mm/april_work/index.html HTTP/1.1" 401 480
123.456.7.89 - april [17/Apr/2006:20:07:36 123.456.7.+0900]\
 "GET /~mm/april_work/index.html HTTP/1.1" 401 480

# cat error_log 
[Mon Apr 17 20:07:36 2006] [error] [client 123.456.7.89]\
 user april: authentication failure \
for "/~mm/april/index.html": Password Mismatch,\
 referer: http://nyanta.bcnet.neko.cat/
 

ほんでもっておわりです ああこわい

にゃんたろう 拝!
2006年 4月17日 (月) 21:35:08 JST 作成


apache basic 認証ほか (expect 等)


Copyright © 2004.-2007. nyantarou All Rights Reserved.