[LDAP-Users:410] Re: スクリーンセーバでロックされると、再ログインできない

toshi hirasawa toshi_hirasawa @ guitar.ocn.ne.jp
2009年 1月 17日 (土) 11:01:40 JST


おはようございます。

ユーザアカウントhirasawaではなんどやってもだめなので、
テストアカウント ldapuserがつくってあったのを思い出したので、こちらで 
やってみましたと

結果からいうと、うまくいきます。

クライアントから ldapsearch -x -D 
"uid=ldapuser,ou=People,dc=hirasawa,dc=private" -W  "uid=ldapuser"
を叩いて、聞かれたパスワードにはldapuserのパスワードをいれる
とこんな感じになります

bash-3.2$ ldapsearch -x -D 
"uid=ldapuser,ou=People,dc=hirasawa,dc=private" -W "uid=ldapuser"    < 
こちらはOK
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: uid=ldapuser
# requesting: ALL
#

# ldapuser, People, hirasawa.private
dn: uid=ldapuser,ou=People,dc=hirasawa,dc=private
objectClass: account
objectClass: posixAccount
uid: ldapuser
cn: ldapuser
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/ldapuser
userPassword:: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
bash-3.2$
bash-3.2$
bash-3.2$ ldapsearch -x -D 
"uid=hirasawa,ou=People,dc=hirasawa,dc=private" -W "uid=hirasawa"    
  < こちらはだめだめ
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
bash-3.2$


菊池さん含め、皆さんのおしゃっていたとおりでした。
(LDAPの正しい挙動がよくわかっていなかったため、ぐるぐるおなじところをま 
わってしまいました
みなさん、もうしわけございませんでした。)

で、原因ですが........

2つのアカウントの差ってなんだろう?と考えてみたのですが、
 差1)  hirasawaのLDAPのLDIFはmigrateツールでつくったが、ldapuserは自前 
でLDIFを書いた

    migrateツールの元データはクライアントから抽出しましたと。
       
     
 差2) hirasawaのパスワードは比較的複雑で, ldapuserは単純(関係ないっ 
すよね 笑)


 でも、hirasawaでも再認証してくれたときも一時期あったんですが、あれって 
夢?わたしの勘違い?



---------- 手順的には ----------------------------------

手順的には
1)hirasawaでログイン
2)hirasawaでロックするとだめだめであることを確認
3)hirasawaからログアウト

rootで以下の前準備

4)root権限で/home/ldapuserディレクトリを作成
5)chmod 1000:1000 ldapuser する


ここから本番で
1)ldapuserでログイン
2)ロックして再度認証されることを確認

これだとうまくいくですよ

一応、ロック後の再認証(うまくいっているとき)のログをはりつけておきます。

Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 fd=99 ACCEPT from 
IP=192.168.1.15:45378 (IP=0.0.0.0:389)
Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 op=0 BIND dn="" method=128
Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 op=0 RESULT tag=97 err=0 
text=
Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 op=1 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 op=1 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 op=1 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:30 cent5-30 slapd[12434]: conn=290 fd=99 closed (connection 
lost)
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 fd=99 ACCEPT from 
IP=192.168.1.15:45379 (IP=0.0.0.0:389)
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=0 BIND dn="" method=128
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=0 RESULT tag=97 err=0 
text=
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=1 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uidNumber=1000))"
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=1 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=1 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=2 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixGroup)(gidNumber=1000))"
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=2 SRCH attr=cn 
userPassword memberUid uniqueMember gidNumber
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=2 SEARCH RESULT 
tag=101 err=0 nentries=0 text=
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=3 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=3 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=3 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=4 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=4 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=4 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=5 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=5 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:35 cent5-30 slapd[12434]: conn=291 op=5 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=6 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=6 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=6 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=7 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=7 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=7 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 fd=100 ACCEPT from 
IP=192.168.1.15:45380 (IP=0.0.0.0:389)
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=0 BIND dn="" method=128
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=0 RESULT tag=97 err=0 
text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=1 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 filter="(uid=ldapuser)"
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=1 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=2 BIND 
dn="uid=ldapuser,ou=People,dc=hirasawa,dc=private" method=128
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=2 BIND 
dn="uid=ldapuser,ou=People,dc=hirasawa,dc=private" mech=SIMPLE ssf=0
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=2 RESULT tag=97 err=0 
text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=3 BIND anonymous 
mech=implicit ssf=0
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=3 BIND dn="" method=128
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=3 RESULT tag=97 err=0 
text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=8 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=8 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=8 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=9 SRCH 
base="dc=hirasawa,dc=private" scope=2 deref=0 
filter="(&(objectClass=posixAccount)(uid=ldapuser))"
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=9 SRCH attr=uid 
userPassword uidNumber gidNumber cn homeDirectory loginShell gecos 
description objectClass
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 op=9 SEARCH RESULT 
tag=101 err=0 nentries=1 text=
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 op=4 UNBIND
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=291 fd=99 closed (connection 
lost)
Jan 17 10:25:37 cent5-30 slapd[12434]: conn=292 fd=100 closed








toshi hirasawa さんは書きました:
> おはようございます。
>
> みなさまにはいろいろとご迷惑おかけしております。
>
> 我流で勉強したので、もうなにがなんだか状態ですが、
> クライアントからサーバにたいして3つのパターンでldapsearchをかけてみま 
> した。
>
>
>
> [hirasawa @ cent5-8 ~]$ ldapsearch -x "uid=hirasawa"
> とやるとACLの制限をかけていないので、パスワードを含めて、uid=hirasawa 
> の 情報をひっぱれる
>
>
>
> [hirasawa @ cent5-8 ~]$ ldapsearch -x -D 
> "cn=Manager,dc=hirasawa,dc=private" -W  "uid=hirasawa"
> Enter LDAP Password:     < rootdnのパスワードをいれる
> とやると、当然ひっぱれる。
>
> で、ここからが疑問なのですが、
> wiresharkを見たところ、つぎのようなオペレーションと等価なのかな?とお 
> もったんですが、
> 私の考えはまちがっていますか?
>
>
> [hirasawa @ cent5-8 ~]$ ldapsearch -x -D 
> "uid=hirasawa,ou=People,dc=hirasawa,dc=private" -W  "uid=hirasawa"
> Enter LDAP Password:
> ldap_bind: Invalid credentials (49)
> [hirasawa @ cent5-8 ~]$
>
> 、Invalid credentialsがもどってきますが、これが通るようにすれば、問題 
> 解 決?に
> なりませんかね?
>
> と、素人考えですが、突っ込みをお願いいたします。
>
>
> 平澤
>
>




LDAP-Users メーリングリストの案内