[PHP-users 34195] Re: php向けのpam関連の関数は?

Tatsuya Matsuyama tatsuya @ kk-okamoto.jp
2008年 12月 15日 (月) 17:48:20 JST


松山です。
レスありがとうございます。

> -----Original Message-----
> > rpmが簡単に手に入り、日本語の記事も充実したpam関数ってないものでしょ
> うか?
>
> 軽く探してみましたけど、やはりちょっと見当たりませんねぇ。
>

やはり、ないんですよネ。

結局、以下の手順でpam_authでやりました。
# かなり手順を省いて書いてあります。

0.rpm版の以下のphpを全て削除
->依存関係があるので全て削除
php-mssql-4.3.2-26.ent.1
php-odbc-4.3.2-48.ent
php-pgsql-4.3.2-48.ent
php-pam_auth-5.0.4_0.4-1mdk
php-4.3.2-48.ent
php-devel-4.3.2-48.ent

1.pam_authのsrpmからソースを取出し、
phpのソースコードのext/以下にコピー

2.
./buildconf
./configure --with-pam_auth --with-mssql --以下オプションは省略
-> rpm版のphp が吐いたconfigureオプションをほぼそのまま採用しました。

make
make install

3.apacheを再起動。

4.samba, pamの設定を適宜行う
/etc/pam.d/php
# note: both an auth and account entry are required
auth            sufficient      /lib/security/pam_winbind.so
account         sufficient      /lib/security/pam_winbind.so

->pam_winbind.soはsambaのファイルです。
->sambaはrpm版をそのまま使っています。

5./etc/freetds.confを適宜設定する。



このやり方は、ログイン画面でドメイン・ユーザーの
パスワードを正しく入れた人だけ、
pam_authで判定して、次の処理へ移るコードになっています。

Windows2000server上のSQLserver2000へのアクセスは、
phpからfreeTDS経由でmssql_関数を使って
■SQLserver■のユーザー(とパスワード)でアクセスしています。

WindowsクライアントからLinuxで動くApache+phpを間に挟んで
バックエンドのSQLserverを使っているので、
このような変則技になっています。

ありがとうございました。






PHP-users メーリングリストの案内