database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 2320 게시물 읽기
No. 2320
LDAP에서 패스워드가 틀린것 같습니다만..
작성자
수하(lnx4u)
작성일
2007-02-22 11:48
조회수
7,449

시스템 인증을 LDAP로 하려고 하는데 며칠째 시도하고 있지만..

제대로 풀리지 않네요..


조그마한 힌트라도 있으시면....도움 부탁 드립니다.


제가 설치하려고 한 ldap는 

suse 9.3에 포함되어 있는것입니다.


패키지 ================

nss_ldap-234-3

openldap2-2.2.23-6

yast2-ldap-2.11.0-3

openldap2-devel-2.2.23-6

pam_ldap-176-3.2

ldapcpplib-0.0.3-30

yast2-ldap-client-2.11.11-3

openldap2-client-2.2.23-6.6

=========================



/etc/ldap.conf==============

host 127.0.0.1

ldap_version 3

base dc=jjang,dc=sok

rootbinddn cn=Manager,dc=jjang,dc=sok

scope one

pam_filter objectclass=posixaccount

pam_login_attribute uid

pam_member_attribute gid

pam_password md5

nss_base_passwd         ou=People,dc=jjang,dc=sok?one

nss_base_shadow         ou=People,dc=jjang,dc=sok?one

nss_base_group          ou=Group,dc=jjang,dc=sok?one

pam_min_uid 1001

pam_max_uid 65000

pam_password md5 <-- 이부분를 멀로 할지 상당히 고민 했습니다만...




/etc/openldap/slapd.conf=====

include         /etc/openldap/schema/core.schema

include         /etc/openldap/schema/corba.schema

include         /etc/openldap/schema/misc.schema

include         /etc/openldap/schema/cosine.schema

include         /etc/openldap/schema/inetorgperson.schema

include         /etc/openldap/schema/nis.schema

include         /etc/openldap/schema/openldap.schema

include         /etc/openldap/schema/yast.schema


pidfile         /var/run/slapd/slapd.pid

argsfile        /var/run/slapd/slapd.args

modulepath      /usr/lib/openldap/modules


access to dn.base=""

        by * read

access to dn.base="cn=Subschema"

        by * read

access to attr=userPassword

                by * auth

                by self write


access to attr=shadowLastChange

        by self write

        by * read

access to *

        by * read

 

database bdb

suffix "dc=jjang,dc=xxx"

rootdn "cn=Manager,dc=jjang,dc=xxx"

rootpw {MD5}R7zlx09Yn0hn29V+nKn4CA==

directory /var/lib/ldap

index objectClass,uid,uidNumber,gidNumber eq

index cn,mail,surname,givenname eq,subinitial

password-hash {MD5}

 



/etc/pam.d/system-auth===

auth required /lib/security/pam_env.so

auth sufficient /lib/security/pam_unix.so likeauth nullok

auth sufficient /lib/security/pam_ldap.so use_first_pass

auth required /lib/security/pam_deny.so

account required /lib/security/pam_unix.so

account sufficient /lib/security/pam_localuser.so

account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] /lib/security/pam_ldap.so

password required /lib/security/pam_cracklib.so retry=3

password sufficient /lib/security/pam_unix.so nullok md5 shadow use_authtok

password sufficient /lib/security/pam_ldap.so use_authtok

password required /lib/security/pam_deny.so

session required /lib/security/pam_limits.so

session required /lib/security/pam_unix.so

session optional /lib/security/pam_ldap.so



/etc/pam.d/passwd

auth required /lib/security/pam_stack.so service=system-auth

account required /lib/security/pam_stack.so service=system-auth

password required /lib/security/pam_stack.so service=system-auth

auth sufficient /lib/security/pam_ldap.so

auth required /lib/security/pam_pwdb.so shadow nullok

account sufficient /lib/security/pam_ldap.so

account required /lib/security/pam_pwdb.so

password required /lib/security/pam_cracklib.so retry=3 minlen=4 dcredit=0 ucredit=0

password sufficient /lib/security/pam_ldap.so use_authtok

password required /lib/security/pam_pwdb.so use_authtok nullok md5 shadow



=== 이상이 설정파일입니다.

그리고 /etc/ldap.secert 파일도 설정하였습니다.


현재 문제는 

1. getent passwd | grep ldapuser 를 찾으면 검색이 됩니다(ldapuser는 /etc/passwd파일에는 없고 ldap에만 있는 사용자 입니다.) . 로그도 정상적으로 올라 옵니다.

그런데 id ldapuser -> no such user 라고 나옵니다. -> ldap 로그에 아무것도 나오지 않습니다.

하지만 finger ldapuser 라고 하면 해당 유저 정보가 나옵니다. -> 이때는 ldap 를 검색하는 로그가 올라 옵니다.



2. telnet 이나 ssh로 접근을 했을때 ldap에 있는 유저로 로긴시도하면


Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=

Feb 22 11:40:10 jjang slapd[6474]: conn=3 fd=11 ACCEPT from IP=127.0.0.1:52027 (IP=0.0.0.0:389)

Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=0 BIND dn="cn=Manager,dc=jjang,dc=sok" method=128

Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=0 BIND dn="cn=Manager,dc=jjang,dc=sok" mech=SIMPLE ssf=0

Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=0 RESULT tag=97 err=0 text=

Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=1 SRCH base="ou=People,dc=jjang,dc=sok" scope=1 deref=0 filter="(&(objectClass=shadowAccount)(uid=ldapuser))"

Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=1 SRCH attr=uid userPassword shadowLastChange shadowMax shadowMin shadowWarning shadowInactive shadowExpire shadowFlag

Feb 22 11:40:10 jjang slapd[6474]: conn=3 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=


위와 같이 정상적으로 검색은 하는것 같으나 패스워드가 맞지 않는것 같습니다.



phpldapadmin이나. 윈도우용 ldapadmin으로 접속해서 해당 사용자의 패스워드를 보면 두 프로그램에서 보이는 패스워드는 동일하나.

ldapsearch 에서 찾아지는 패스워드가 서로 다르게 나옵니다.


phpldapadmin  & ldapadmin 의 패스워드 : {MD5}jMr3fDM3Lp11hDiJEesU4Q==

ldapsearch로 찾았을때 콘솔에서 보여지는 패스워드: e01ENX1qTXIzZkRNM0xwMTFoRGlKRWVzVTRRPT0=

패스워드알고리즘을 어디에서 어떻게 맞춰줘야 하는지 ...도무지 모르겠습니다.


조그만 힌트라도 도움 부탁 드립니다.

감사 합니다.

이 글에 대한 댓글이 총 1건 있습니다.

음 한번 crypt 방식으로 다 맞추어 보시면 어떤런지요.
그냥 육감이었습니다.

그럼

송상준(sjsong)님이 2007-02-22 21:04에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2324[질문] 매칭룰이 없어서 두개이상 추가가 되지 않는 경우 [1]
문태준
2007-03-14
6565
2323ldap c 라이브러리를 이용 TLS 통신을 하고 싶습니다. [4]
곽승훈
2007-03-14
6909
2321LDap으로 게시판작성시 적당한 스키마가 무엇이 있나요? [2]
ssukai
2007-03-13
7835
2320LDAP에서 패스워드가 틀린것 같습니다만.. [1]
수하
2007-02-22
7449
2319ldapsearch 에서 데이타를 찾을 수가 없습니다만; [2]
손형석
2007-02-20
6884
2317아래글에 이어서... [2]
이정환
2007-01-31
10442
2316LDAP에서 CRL 관련 질문입니다. [5]
이정환
2007-01-31
7223
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다