私は、ホームネットワークの残りの部分で使用されているのと同じ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をインストールするように指示するほとんどすべてのWebページには1つの欠落があることがわかりました。 /etc/login.confはtermcap形式のファイルなので、実際に/etc/login.conf.dbファイルで構成を表示するには、login_ldapルーチンで "cap_mkdb login.conf"を実行する必要があります。これはtermcap形式を使用しますが、それをrtadvdなどのデータベースファイルにコンパイルする必要がない他のプログラムとは異なります。
この手順を含む唯一のページは次のとおりです。これはタルマスカから来ました。(リンクは現在中断されています。)他のほとんどすべての練習は、次から始まったようです。これはヘリオンプライムからのものです。(今はリンクが壊れています。)cap_mkdbを使用する必要はありません。