001-004729
[Linux版の現象]64bit版のRed Hat Enterprise Linux 4の環境で、認証データベースにLDAPを使用していると、ガルーンにログインできない。
- 種別
- 不具合
- 機能
-
- 認証
- 再現バージョン
-
- 3.1.0
- 3.1.1
- 3.1.2
- 改修バージョン
- 3.1.3
- 公開日
- 2011-07-13
- 更新日
- 2011-10-31
詳細
【準備】
- バージョン 3.1.0以降のガルーンを次のどちらかの環境にインストールします。
- 64bit版Red Hat Enterprise Linux AS (v.4)
- 64bit版Red Hat Enterprise Linux ES (v.4)
- ガルーンにLDAP認証を設定します。
例:
- システム管理画面で、[基本システムの管理] [認証] > [認証データベース] > [認証データベースを追加する]の順にクリックします。
- LDAPを選択し、[次へ]をクリックします。
- 認証データベースの内容を入力し、[追加する]をクリックします。
- システム管理画面で、[基本システムの管理] > [認証] > [ログイン認証] > [標準認証] > [変更する]の順にクリックします。
- 認証データベースに、追加した認証データベースを選択し、[変更する]をクリックします。
- システム管理画面で、[基本システムの管理] [認証] > [認証データベース] > [認証データベースを追加する]の順にクリックします。
【再現手順】
- ガルーンのアプリケーション画面にログインします。
→現象発生:
次のエラーが発生し、ログインできません。
例:
--------------------
Fatal error: Call to undefined function ldap_connect() in /var/www/cgi-bin/cbgrn/code/plugin/grn/common/authentication/repository/ldap.csp on line 281
--------------------
補足:
- システム管理画面からは、ログインできます。
回避/対応方法
【対応方法】
- ガルーンのインストールされている端末で「/usr/lib/libsasl2.so.2」が存在することを確認します。
例:
# ls /usr/lib/ | grep libsasl2.so.2 - 「/usr/local/cybozu/openldap/lib/libsasl2.so.2」を削除するか、別名に変更します。
例:
# mv /usr/local/cybozu/openldap/lib/libsasl2.so.2 /usr/local/cybozu/openldap/lib/bk_libsasl2.so.2 - 「/usr/lib」以下のライブラリが使用されていることを確認します。
例:
# ldd /var/www/cgi-bin/cbgrn/extensions/ldap.so
実行結果の例:
# ldd /var/www/cgi-bin/cbgrn/extensions/ldap.so
linux-gate.so.1 => (0xffffe000)
libldap-2.3.so.0 => /usr/local/cybozu/openldap/lib/libldap-2.3.so.0 (0xf7fc6000)
liblber-2.3.so.0 => /usr/local/cybozu/openldap/lib/liblber-2.3.so.0 (0xf7fbd000)
libssl.so.0.9.8 => /usr/local/cybozu/openssl/lib/libssl.so.0.9.8 (0xf7f7d000)
libcrypto.so.0.9.8 => /usr/local/cybozu/openssl/lib/libcrypto.so.0.9.8 (0xf7e5c000)
libc.so.6 => /lib/tls/libc.so.6 (0xf7d10000)
libresolv.so.2 => /lib/libresolv.so.2 (0xf7cfc000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xf7ce8000)
libdl.so.2 => /lib/libdl.so.2 (0xf7ce4000)
/lib/ld-linux.so.2 (0x56555000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7cb3000)