Fedora 17
Sponsored Link

Basic認証+PAM
2012/06/11
 
ある特定のページに対してアクセス制限をかけ、OSのユーザーで認証するようにします。 アクセスはSSL経由を要求するようにします。
[1] mod-auth-external および pwauth をインストールして設定します。
[root@www ‾]#
yum -y install httpd-devel pam-devel
[root@www ~]#
wget http://mod-auth-external.googlecode.com/files/mod_authnz_external-3.2.6.tar.gz

[root@www ~]#
wget http://pwauth.googlecode.com/files/pwauth-2.3.10.tar.gz

[root@www ~]#
tar zxvf mod_authnz_external-3.2.6.tar.gz

[root@www ~]#
cd mod_authnz_external-3.2.6

[root@www mod_authnz_external-3.2.6]#
apxs -c mod_authnz_external.c

[root@www mod_authnz_external-3.2.6]#
apxs -i mod_authnz_external.la

[root@www mod_authnz_external-3.2.6]#
[root@www ~]#
tar zxvf pwauth-2.3.10.tar.gz

[root@www ~]#
cd pwauth-2.3.10

[root@www pwauth-2.3.10]#
vi config.h
# 126行目:コメントにする

/*
#define SHADOW_SUN
# 134行目:コメント解除

#define PAM
# 281行目:変更 ( httpd の実行IDにする )

#define SERVER_UIDS
48
  /* user "
apache
" */
[root@www pwauth-2.3.10]#
vi Makefile
# 10行目:コメントにする

#
LIB= -lcrypt
# 14行目:コメント解除

LIB=-lpam -ldl
[root@www pwauth-2.3.10]#
make

[root@www pwauth-2.3.10]#
cp pwauth /usr/local/libexec/

[root@www pwauth-2.3.10]#
chmod 4755 /usr/local/libexec/pwauth

[root@www pwauth-2.3.10]#
[root@www ~]#
vi /etc/httpd/conf/httpd.conf
# 217行目あたりに追記

LoadModule authnz_external_module modules/mod_authnz_external.so
AddExternalAuth pwauth /usr/local/libexec/pwauth
SetExternalAuthMethod pwauth pipe
[root@www ~]#
vi /etc/pam.d/pwauth
# 新規作成

#%PAM-1.0
auth        include       system-auth
account     include       system-auth
session     include       system-auth

[root@www ~]#
vi /etc/httpd/conf.d/auth_pam.conf
# /var/www/html/test 配下を認証必須とする

<Directory /var/www/html/test>
    SSLRequireSSL
    AuthType Basic
    AuthName "PAM Authentication"
    AuthBasicProvider external
    AuthExternal pwauth
    require valid-user
</Directory>

[root@www ~]#
systemctl restart httpd.service
# テストページ作成

[root@www ~]#
vi /var/www/html/test/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Test Page for PAM Auth
</div>
</body>
</html>
  Webブラウザからテストページにアクセスしてみます。 すると設定通り認証を求められますので、OSのユーザーで認証します。
  アクセスできました。
関連コンテンツ
 
Tweet