Roumdcube + LDAP users

Hi!

Lészen Wheezy, rajta Openldap, PAM hozzá heggesztve. Roundcube 0.9 frissen feltéve, Dovecot-on keresztül látja is a maildirt és minden jónak tűnne, de az első bejelentkezéskor hibásan képezi a felhasználó e-mail címét, pl. kisbela@domain.hu. Ugyanis bejelentkezésnél a userid-t kérem tőle (pl. kisbela) és a jelszavát. A tényleges e-mail címe pedig az LDAP-ban van bela.kis@domain.hu.
Persze a beállításoknál át lehet ezt írni - a "Megjelenített név"-hez hasonlóan, ami szintén nem jó-, de a felhasználók számossága miatt ez nem kivitelezhető.

A kérdésem az, hogy hol kell(ene) beállítani, hogy ezeket az "alap" információkat az LDAP-ból vegye? Mely paraméterek körül nézelődjek.

Az tiszta, hogy a címjegyzéket tehetném LDAP-ba, de nekem az jó helyen van SQL-ben, de a usereknek maradniuk kell LDAP-ban.

Minden tippet, javaslatot előre is köszönk!

Hozzászólások

hasonló cipőben járok én is (roundcube 0.8.6, ldap auth, ldap címjegyzék (közös) és sql címjegyzék (saját))
én beélesítettem egy modult, ami első loginkor megkérdezi az usert, hogy írja be a nevét/mélcímét, ha nem stimmel a rendszer által felajánlott
ami persze lehet hibátlan is, mert van egy másik modul, ami egy fájlból kiolvassa a pontos infókat
a fájlt pedig óránként legenerálom, egy sima ldap lekérdezés, két oszlop, név és e-mail cím, soronként egy user

a pluginok nevei:
- virtuser_file
- new_user_dialog

Szerintem ezt a terméket keresitek:

https://github.com/korylprince/virtuser_ldap_roundcube

(igen, tényleg kb. 20 sor PHP kód...)

Arra vigyázzatok, hogy a PHP kisbetűsre konvertálja az attributumneveket, így pl. a "fullName" attributum helyett "fullname"-t adjatok meg a konfigban. (vagy, strtolower("fullName")-t, ahogy én szoktam)

Köszönöm a tippet bevált!
Azért ráment pár órám, hogy megfejtsem hogy mit és hogyan kellene, ezért ide leírom (aztán még lesz kérdésem):

/var/www/config/main.inc.php
$rcmail_config['plugins'] = array('virtuser_ldap');

Majd a fenti linkről letöltött anyagot bele kell másolni a plugins/virtuser_ldap mappába, a jogosultságokra odafigyelni.

config.inc.php
<?php
$rcmail_config['ldapauth']['url'] = 'ldap://127.0.0.1/';
$rcmail_config['ldapauth']['basedn'] = 'ou=Users,dc=cegnev,dc=hu';
$rcmail_config['ldapauth']['binddn'] = 'dc=cegnev,dc=hu';
$rcmail_config['ldapauth']['bindpw'] = 'ldap-password';
//$rcmail_config['ldapauth']['userattr'] = 'samAccountName';
$rcmail_config['ldapauth']['userattr'] = 'cn';
//$rcmail_config['ldapauth']['userfilter'] = '(&(objectClass=person)(mail=*)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))'; #last part is f$
// Attributes mapped to create user identity
$rcmail_config['ldapauth']['attr_name'] = 'displayname';
$rcmail_config['ldapauth']['attr_mail'] = 'mail';
$rcmail_config['ldapauth']['attr_user'] = 'cn';
?>

És itt lenne két kérdésem, amit nem értettem teljesen meg:
1. Mi az a "samAccountName"? Amíg át nem írtam 'cn'-re, nem is volt jó.

2. Az LDAP most kifejezetten samba-ra lett készítve és ebből kellett kiszedni az értékeket. A 'userfilter'-t sem igazán értettem - anyi van meg, hogy szűrne valamit - valaki esetleg felvilágosítana, hogy mit is akart ott a kedves szerző, mire gondolt?

Már csak azért is kérdezem, mert szeretném megérteni.

Előre is köszönöm!

Egerváry Gergely-nek pedig külön köszönet a linkért!