저는 홈 네트워크의 나머지 부분에서 사용하는 것과 동일한 LDAP 서버를 사용하여 OpenBSD 서버가 사용자를 인증하도록 하려고 합니다. Get Password에는 예상대로 LDAP 서버의 사용자가 나열되지만 이들 중 어느 하나로도 로그인할 수 없습니다.
내 /etc/login.conf에는 다음 내용이 있습니다.
#
# ldap
#
ldap:\
:auth=-ldap:\
:x-ldap-server=kaitain.cory.albrecht.name,389,plain:\
:x-ldap-basedn=ou=People,dc=cory,dc=albrecht,dc=name:\
:x-ldap-filter=(&(objectclass=posixAccount)(uid=%u)):\
:tc=default:
그러나 사용자를 테스트하려고 하면 다음과 같은 결과가 나타납니다.
root@opensecrets:/etc# /usr/libexec/auth/login_-ldap -d -s login cory ldap
Password:
load_ssl_certs says:
cacert none
cacertdir none
usercert none
userkey none
parse_server_line buf = host
parse_server_line port == NULL, will use default
parse_server_line mode == NULL, will use default
host host, port 389, version 3
setting cert info
clearing ssl set
ldap_open(host, 389) failed
host failed, trying alternates
ldap_open failed
reject
그리고 로그에 다음 줄이 있습니다
Dec 17 15:30:19 <auth.warn> opensecrets.cory.albrecht.name opensecrets login_ldap: ldap_open(host, 389) failed
Dec 17 15:30:19 <auth.warn> opensecrets.cory.albrecht.name opensecrets login_ldap: ldap_open failed
/etc/login.conf의 ldap 부분이 읽히지 않는 방식을 상기시켜줍니다. login.conf에서 포트 389를 38389로 변경해도 가짜/테스트 로그인의 출력은 변경되지 않습니다.
login.conf가 완전히 구문 분석되지 않는 원인을 파악하는 방법을 전혀 모릅니다. 쉬운 일이었으면 좋겠지만 잊어버리면 매우 당황스러울 것입니다.
답변1
login_ldap, ypldap 및 ypind를 설치하도록 안내하는 거의 모든 웹페이지에는 한 가지가 빠져 있는 것으로 나타났습니다. /etc/login.conf는 termcap 형식의 파일이므로 실제로 결과 /etc/login.conf.db 파일에서 구성을 보려면 login_ldap 루틴에서 "cap_mkdb login.conf"를 실행해야 합니다. 이는 termcap 형식을 사용하지만 이를 rtadvd와 같은 데이터베이스 파일로 컴파일할 필요가 없는 다른 프로그램과 다릅니다.
이 단계가 포함된 유일한 페이지는 다음과 같습니다.이건 탈마스카에서 온 거야(링크는 이제 중단되었습니다.) 거의 모든 다른 연습은 다음에서 시작된 것으로 보입니다.이것은 헬리온 프라임에서 나온 것입니다.(지금은 링크가 끊어졌습니다.) cap_mkdb를 사용해야 한다는 언급은 없습니다.