- 468 名前:462-466 mailto:sage [04/11/22 02:10:45]
- >>467
遅くなって申し訳ありません。レスありがとうございます。 fingerとgetpwentのソースを追いました。 途中で以下のような関数を呼び、 __nss_compat_getpwent_r(void *retval, void *mdata, va_list ap) そいつがldapの関数を呼んで(関数ポインタにまかれて何の関数かわかりませんでした) struct passwd構造体にアカウント情報を入れるようです。 大学ので行うときちんと格納される以下のように格納 __nss_compat_getpwent_r:USER=Axxyyz1 __nss_compat_getpwent_r:PASS=x __nss_compat_getpwent_r:UID=16011 __nss_compat_getpwent_r:GID=10000 __nss_compat_getpwent_r:CHANG=(null) __nss_compat_getpwent_r:CLASS= __nss_compat_getpwent_r:GECOS=nana shi __nss_compat_getpwent_r:HOMEDIR=/home/students/Axxyyz1 __nss_compat_getpwent_r:SHELL=/bin/csh __nss_compat_getpwent_r:EXPIRE=(null) __nss_compat_getpwent_r:FIELDS=(null) で、成功を返します。 家から大学、家から自前のLDAPの場合は以下です。(値が入ってないところは略しました) __nss_compat_getpwent_r:USER=Axxyyzz (データベースに格納されている最後のユーザー) __nss_compat_getpwent_r:PASS=x で、失敗を返します。
|

|