[Sysadmins] ldap+odbc+mysql
Vladimir Cherednichenko
=?iso-8859-1?q?che_=CE=C1_red-team=2Eorg=2Eua?=
Вт Май 16 21:26:59 MSD 2006
Hi
Есть не стандартная задача, поднять ldap с бакендом в sql, делалось по
примерам
http://www.openldap.org/faq/data/cache/978.html
http://www.flatmtn.com/computer/Linux-LDAP.html
google
Но ничего не завелось, в логах cldap-a такое:
==>backsql_get_db_conn()
May 16 19:23:55 radius slapd[28129]: ==>backsql_open_db_conn(4294967295)
May 16 19:23:55 radius slapd[28129]: backsql_open_db_conn(4294967295):
SQLConnect() to database "ldap" failed.
May 16 19:23:55 radius slapd[28129]: Return code: -1
May 16 19:23:55 radius slapd[28129]: Native error code: 0
May 16 19:23:55 radius slapd[28129]: backsql_get_db_conn(): could not
get connection handle -- returning NULL
May 16 19:23:55 radius slapd[28129]: backsql_db_open(): connection
failed, exiting
May 16 19:23:55 radius slapd[28129]: backend_startup_one: bi_db_open
failed! (1)
#slaptest -v
WARNING: No dynamic config support for database sql.
config file testing succeeded
Вручную ODBC конектится
# isql ldap ldap der_paroll
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
Когда используется бакенд hdb ldap работает.
Установлены пакеты:
- libunixODBC-2.2.11-alt2.2
- unixODBC-2.2.11-alt2.2
- mysql-connector-odbc-3.51-alt1
- libldap2.3-2.3.21-alt1
- libldap-2.2.27-alt1.1
- openldap-2.3.21-alt1
- openldap-doc-2.3.21-alt1
- openldap-servers-2.3.21-alt1
- MySQL-client-5.0.20-alt1
- libMySQL-5.0.20-alt1
- MySQL-server-5.0.20-alt1
Конифиги:
/etc/odbc.ini
[ODBC Data Sources]
ldap = MySQL LDAP DSN
[ldap]
Driver = MySQL
Database = ldap
User = ldap
PWD = der_paroll
Server = 1.2.3.4
Port = 3306
ReadOnly = no
Socket = /var/lib/mysql/mysql.sock
[ODBC]
InstallDir=/usr/lib
/etc/odbcinst.ini
[ODBC Drivers]
MySQL = Installed
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc.so
Setup = /usr/lib/libodbcmyS.so
/etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/dhcp.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /var/run/slapd.pid
argsfile /var/run/slapd.args
loglevel -1
modulepath /usr/lib/openldap
moduleload back_sql.la
moduleload back_hdb.la
database sql
suffix "dc=sql,dc=RU"
rootdn "cn=root,dc=sql,dc=RU"
rootpw secret
dbname ldap
dbuser ldap
dbpasswd der_paroll
subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)"
insentry_stmt "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval)
VALUES (?,?,?,?)"
has_ldapinfo_dn_ru no
Есть подозрение что гдето нестыковка с chroot-ом ldap-a и ODBC... хотя
ODBC-шные файлики и либы я ему закинул.
Устал бороться, памажите кто-нибуть...., как его победить.
Может кто сталкивался.
--
WBR, Vladimir Cherednichenko
R.E.D Team | Admin
Ukraine | Kiev
Подробная информация о списке рассылки Sysadmins