[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:25198] Re: PAM, pam_ldap



としです。

私も、そんなに詳しいわけではありませんが...f(^^;;;

KATOH Yasufumi wrote:

>(1) PAM のドキュメント
>PAM のドキュメントって最新のものはどこかにないのでしょうか?
>  http://www.kernel.org/pub/linux/libs/pam/
>とか,ソースに同梱されているドキュメントは知っています.でもどちらも書
>かれた日が結構前のようで,なんか違うような...  
>
私も、過去に色々漁ってみたのですが、PAM に関しては、ドキュメントの
整備があまり良くなさそうです。

"Linux PAM" で google 先生に聞いてみた範疇では、↓等が参考になると
思います。

http://corvus.kek.jp/~manabe/pcf/pam.htm
http://www.jp.redhat.com/manual/Doc9/rhl-rg-ja-9/ch-pam.html
http://www.linux.or.jp/JF/JFdocs/User-Authentication-HOWTO/pam.html

>(2) password の記述
>Plamo Linux Expert の LDAP 認証の例を見ると,
>  password required   /lib/security/pam_cracklib.so retry=3
>  password sufficient /lib/security/pam_unix.so use_authtok md5 shadow
>  password sufficient /lib/security/pam_ldap.so use_first_pass
>とあります.
>
>(2)-1 use_authtok と try_first_pass の違いは何でしょう? 上記の例の
>      use_authtok を try_first_pass に変えたらどうなりますか?
>      # 特に違いがないような...  
>
use_authtok と、try_first_pass の違いは、
try_first_pass は、その時点で、既に(旧新)パスワードが未
入力ならば、プロンプトを出して入力するのに対し、
use_authtok は、その時点で新パスワードの入力が無ければ
エラーになります。
#確かそのはず...。

で、use_authtok を try_first_pass に変えたらどうなるか、
ですが、pam_cracklib.so の時点で、旧新パスワードが入力
済みになりますから、お察しの通り、特に違いはありません
です。
#試しに自分の Plamo マシンでも試してみました(^^;;

>(2)-2 pam_ldap.so のパラメータとして use_first_pass が与えてありますが,
>      ここは try_first_pass ではないのでしょうか? use_first_pass を与
>      える意味は?  
>
pam_ldap.so は、パスワードデータを LDAP サーバに反映
する事が主眼ですが、「パスワード文字列の強度」に関す
る責任は、pam_cracklib.so にあります。

なので、pam_cracklib.so を最初に定義し、ユーザが入力
するパスワード文字列の強度を上げておき、それを、
pam_ldap.so が、use_first_pass を定義する事により使え
る様にしています。

もちろん、この部分も、try_first_pass でも構いません。
その方が、pam_cracklib.so を無くしても動く様になるはず
ですので、利便性は良いかと思います。

この辺は、まぁ、個人的な嗜好と言いますか、
pam_cracklib.so が無いとエラーになる様に組み立てた感覚
ですね。

try_first_pass と、use_first_pass と、use_authtok の
違いをまとめると、以下の様になります。

try_first_pass
もし、その時点で、旧新パスワードが未入力なら、
入力をユーザに促す(プロンプトが出る)
→旧新パスワードが入力済みなら、それを使う。

use_first_pass
もし、その時点で、旧新パスワードが未入力なら、
エラーとなる。
→旧新パスワードが入力済みなら、それを使う。

use_authtok
もし、その時点で、新パスワードが未入力なら、
エラーとなる。
→新パスワードが入力済みなら、それを使う。

Linux-PAM のソースを読んだ限りでは、↑に挙げた動作に
なるはずですが...、間違っていたらご指摘頂けると嬉しい
です。

>(3) session の記述
>同じく Plamo Linux Expert の例を見ると,
>  session required /lib/security/pam_limits.so
>  session required /lib/security/pam_unix.so
>とあります.ここの pam_unix はログイン成功時なんかにログを残す機能があ
>るんだと思いますが,pam_ldap で認証が成功すると
>| login(pam_unix)[3060]: authentication failure; logname= uid=0 euid=0
>| tty=pts/3 ruser= rhost=localhost
>なんてログが残ります.何か他に設定する場所があるのでしょうか?  
>
ぎょぎょ(?_?;;。

うーん。でも謎です。Linux-PAM の pam_unix のソースを見る限り
では、上記のメッセージは、session 前の、ユーザ認証時には出る
可能性があるのですが、session の段階では出ないはずなのです。

session の段階で出るとすれば、

| login(pam_unix)[7975]: session opened for user tosihisa by (uid=0)

の様に、"session" がキーワードとしてつくはずなのですが、
この様なログは出ていませんでしょうか...?

ではこれにて。

Follow-Ups
[plamo:25202] Re: PAM, pam_ldap, KATOH Yasufumi
References
[plamo:25192] PAM, pam_ldap, KATOH Yasufumi

[検索ページ] [メール一覧]
Plamo ML 公開システム