Courier-imap AD-vel

Fórumok

Hello!

Mukodik ez vhogyan?

Vinyo csere es a linux szerver AD-be leptetese utan probalnek AD-s userrel bejelentkezni, de nem sikerul.
A linuxra be tudok lepni AD-s es helyi userrel is.

Regebben mukodott szepen a linuxon letezo userekkel.

Hozzászólások

De az hogy a linux rendszeredbe mi authentikál az más, mint hogy a szolgáltatás mit használ az authentikációra.
Az hogy te józsikaként belépsz a rendszerbe, nem ugyanaz, mint ha bélaként használni akarod a levelezést. Attól, hogy a courier ugyanazon a gépen fut, az még nem a linux login-t fogja haszni automatikusan, ráadásul itt nem is lép a felhasználó a gépre, csak a szoláltatást éri el.

Eddig meg nem sikerult, itt tartok, ezt mondja a syslog:

===
Aug 10 15:06:14 deb-pet imapd: Connection, ip=[::ffff:127.0.0.1]
Aug 10 15:06:14 deb-pet authdaemond: received auth request, service=imap, authtype=login
Aug 10 15:06:14 deb-pet authdaemond: authldap: trying this module
Aug 10 15:06:14 deb-pet authdaemond: selected ldap protocol version 3
Aug 10 15:06:14 deb-pet authdaemond: binding to LDAP server as DN 'cn=user, o=domain, c=nev'
Aug 10 15:06:14 deb-pet authdaemond: ldap_simple_bind_s failed: Invalid credentials
Aug 10 15:06:14 deb-pet authdaemond: selected ldap protocol version 3
Aug 10 15:06:14 deb-pet authdaemond: binding to LDAP server as DN 'cn=user, o=domain, c=nev'
Aug 10 15:06:14 deb-pet imapd: LOGIN FAILED, user=imap_user, ip=[::ffff:127.0.0.1]
Aug 10 15:06:14 deb-pet imapd: authentication error: Input/output error
Aug 10 15:06:14 deb-pet authdaemond: ldap_simple_bind_s failed: Invalid credentials
Aug 10 15:06:14 deb-pet authdaemond: authldap: TEMPFAIL - no more modules will be tried
===

ezt irtam bele az authldaprc-be:

===
LDAP_URI ldap://gepnev.domain.nev
LDAP_BASEDN o=domain, c=nev
LDAP_BINDDN cn=user, o=domain, c=nev
LDAP_BINDPW user_pwd
===

ez meg az authdaemonrc idevago sora:

authmodulelist="authldap"

Mi nem tetszik neki?

Erre azert azt szokas mondani, hogy tanuljon meg logot olvasni...

Ami viszont inkabb egetvero ostobasag, es sikitozni kezdtem, amikor meglattam, az a "o=domain, c=nev". Ilyen allat AD alatt nincs, a domain vege ugy alakul, hogy dc=mittudomain,dc=com (vagy hu, vagy org, vagy ami tetszik)
A masik, hogy a userek AD-nal default NEM a globalis nevterben vannak, hanem legalabb a CN=Users alatt. Vagyis a binddn total alap konfiguraciot feltetelezve: CN=hermit,CN=Users,DC=mittudomain,DC=com, ahol a DC=mittudomain,DC=com az AD Domain DNS neve (nem, ismetlem NEM annak a domainnek a neve, amire a gep hallgat, vagy ami ra mutat, vagy amit kitalalsz). Ezt a dcpromo soran adtak meg, es egyebkent az ADUC (Active Directory Users & Computers)-ben ott figyel a fa tetejen.

A jovore nezve: tessek mindenkinek megtanulni, hogy LDAP-nal a DN nem olyan, hogy majd en kitalalom, hogy az LDAP mi alapjan talaljon meg egy objektumot nekem, a DN ugyanugy az objektum attributuma, mint a tobbi, es kutya kotelesseged erre a nevre hivatkozni amikor egy objektumot szolitasz meg (adott esetben authentikacio celjabol), kulonben az LDAP szerver azt fogja mondani, hogy "Hulye vagy, Sanyi". (Win2k3 alatt) tessek felrakni a support tools-t, es abbol elinditani az adsiedit.msc-t, abban meg lehet tekinteni mindenkinek a DN-jet, sot, meg mintha vagolapra is lehetne tenni valahogy. Win2k8 ala is biztos van ugyanilyen stuff.

Sohaj: de hianyzik egy olyan funkcio az ADUC-bol, hogy context menubol lehetne vagolapra tenni az adott objektum DN-jet... faraszto, hogy mindenki valami total random modon szeretne hivatkozni az objektumara, persze sikertelenul, es mindig el kell magyarazni, hogy ez igy hulyeseg...
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Ez az "o=domain, c=nev" volt az eredeti konfigban, azert is hagytam bent. Nem gondoltam volna hogy ez nem jo...

Kijavitottam, most ott tartok, hogy megtalalja a usert, de nem adja vissza hozza az uid-t:

===
Aug 12 13:09:01 deb-pet authdaemond: using search filter: (samaccountname=hermit)
Aug 12 13:09:01 deb-pet imapd: LOGIN FAILED, user=hermit, ip=[::ffff:127.0.0.1]
Aug 12 13:09:01 deb-pet authdaemond: one entry returned, DN: CN=Vnev Knev,CN=Users,DC=**,DC=**
Aug 12 13:09:01 deb-pet authdaemond: authldaplib: refuse to authenticate hermit: uid=0, gid=0 (zero uid or gid not permitted)
Aug 12 13:09:01 deb-pet authdaemond: authldaplib: sysusername=, sysuserid=0, sysgroupid=0, homedir=, address=hermit, fullname=Vnev Knev, maildir=, quota=, options=
Aug 12 13:09:01 deb-pet authdaemond: no password to compare against!
Aug 12 13:09:01 deb-pet authdaemond: authldap: REJECT - try next module
Aug 12 13:09:01 deb-pet authdaemond: FAIL, all modules rejected
===

Az AD-ben letezo usereknek linuxon megvan a sajat uid-juk.
Kiprobaltam pam-mal is:

===
Aug 12 13:55:31 deb-pet imapd: Connection, ip=[::ffff:127.0.0.1]
Aug 12 13:55:31 deb-pet authdaemond: received auth request, service=imap, authtype=login
Aug 12 13:55:31 deb-pet authdaemond: authpam: trying this module
Aug 12 13:55:32 deb-pet authdaemond: authpam: sysusername=hermit, sysuserid=, sysgroupid=10000, homedir=/home/domain/hermit, address=hermit, fullname=, maildir=, quota=, options=
Aug 12 13:55:32 deb-pet authdaemond: pam_service=imap, pam_username=hermit
Aug 12 13:55:32 deb-pet authdaemond: dopam successful
Aug 12 13:55:32 deb-pet authdaemond: Authenticated: sysusername=hermit, sysuserid=, sysgroupid=10000, homedir=/home/domain/hermit, address=hermit, fullname=, maildir=, quota=, options=
===

Bar itt sincs sysuserid es nem is mukodik, de lehet hogy nem is kellene ldap hozza?
Szoval kezdem nem erteni.

Meg1x osszefoglalva: debian gep domainben sambaval, regi (domain tagsag elotti) imap-os leveleket kellene elerni webmail-lel. A linux tarolja a domain usereket, de gondolom a jelszot az AD-bol kellene kiszedni. Vagy esetleg vmit nem jol gondolok?

Most jon az a pont, amit mar regen meg kellett volna lepni: pasztazz be valahova egy authldaprc-t, mert ez igy nem megy. Az a gond, hogy total nem ertesz az LDAP-hoz, es szerintem a jelszo attributumot is rosszul konfigoltad be, de ez csak tipp.

Egyebkent meg vezessuk be azt, hogy amikor pasztazod a logot, akkor el is olvasol minden egyes sort. Hatha rajossz, hogy mi a gond, es akkor celszeruen fogsz kerdezni meg keresni.

Egyebkent meg igen, lehet pam-hoz is authentikalni, csak akkor nem tudod megadni a maildir helyet pl. az mindenkepp a /home/valami/Maildir mappa lesz, meg ilyen kedvessegek vannak. Szoval, jo ez az LDAP meg a AD, csak ossze kell loni oket.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Az teny, hogy kb. 5 eve nincs lehetosegem ldap-vel, de meg linux-szal sem foglalkozni... :-(

A logot megneztem, es le is irtam (nincs uid) amit ott lattam.

Egyebkent meg csak akkor kerdezek itt, amikor mar nincs tovabbi otletem.

Az authldaprc tartalma:

===
LDAP_URI ldap://gepnev.domain.local:389
LDAP_PROTOCOL_VERSION 3
LDAP_BASEDN cn=Users, dc=domain, dc=local
LDAP_BINDDN cn=hermit, cn=Users, dc=domain, dc=local
LDAP_BINDPW user_pwd
LDAP_TIMEOUT 5
LDAP_MAIL samaccountname
# LDAP_GLOB_UID vmail
# LDAP_GLOB_GID vmail
LDAP_HOMEDIR homeDirectory
LDAP_MAILDIR mailbox
LDAP_DEFAULTDELIVERY defaultDelivery
LDAP_FULLNAME cn
LDAP_CRYPTPW userPassword
# LDAP_UID uidNumber
# LDAP_GID gidNumber
LDAP_DEREF never
LDAP_TLS 0
===

Ha jól tudom az AD-ben nincs sima uid attribútum. Ha jól emlékszem, akkor a cn, vagy samaccountname, vagy ldapdisplayname attribútum az amit uid-re kell map-elni.
De túl sok a HA. :)

Update:
Ezt találtam AD és UID vonatkozásában:
http://technet.microsoft.com/en-us/library/cc736896%28WS.10%29.aspx

Mindenesetre valamit fel kell map-elned mindenképpen, mint uid attributum.

Jujj, ezt meg olvasni is fajdalmas volt. Az UID egy _szam_ attributum, te meg itt szovegeseket akarsz linkelni ra (az osszes felsorolt ertek sztringet tartalmaz mar csak a neve alapjan is).
Amit meg kell tenni, az a UNIX szolgaltatasok feltelepitese (van ilyen Identity Services for Unix, vagy mi a rak a neve) a Win2k3 R2 es afeletti rendszerekre, onnantol van uidNumber, gidNumber, homeDirectory attributumod.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

aham...ahogy azt a linkelt ms doksi le is írta.
Nagyjából, valamennyire, sejtés szinten, homályban tapogatózva, azt hiszem hallottam róla, hogy az uid egy szám. Bár ugye maga az uid az ldap schema szerint egy DirectoryString és az uidNumber az Integer, így nagyon is lehetséges uid-re másik string típusú attribútumot map-elni. De hagyjuk mert még a végén megint hatalmas ostobaságok fogják a számat elhagyni. Bocsi mester.

Az LDAP definicio szerint igen, csak sajnos a linuxot baromira nem erdekli az LDAP protokoll, o megszokta, hogy szamot var ottan. Egyebkent valoban, rosszul irtam, termeszetesen az uidNumber attributumra gondoltam, a Linux is ezt varja, ezt fogja providalni a Identity Services for Unix vagy mi a me'nko".
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

1) maskor hasznald a code bbCode taget lecci
2) Nem tudom, eszrevetted-e, hogy az AD egy LDAP szerver - ugy mellesleg. Szoval folyamatosan LDAP szerverrel foglalkozol, csak nem tudsz rola. :-)

Now, back to problem...
- LDAP_MAIL samaccountname... hat ize. Van rendes mail attributuma is annak a szerencsetlen objektumnak, illene azt hasznalni.
- LDAP_CRYPTPW userPassword - ez csak akkor mukodhet ha legalabb Win2k3 R2 van fenn, es fenn van hozza a Unix-os tamogatas (Windows components-be van, kell hozza az SFU is.
- ugyanez igaz a homeDirectory valtozokra is.
- Se LDAP_UID/LDAP_GID, se LDAP_GLOB_UID/LDAP_GLOB_GID nincs kitoltve. Ez igy nagyon nem jo, valami UID erteket providalni kell. A Unixos cuccok adnak is majd, a jelenlegi LDAP_UID beallitas jo is lesz hozza.
- LDAP_MAILDIR - na ilyen allat viszont nincsen. Ezt kommentezd ki, es allitsd be az imap konfigjaban valami fixre.
- LDAP_DEFAULTDELIVERY defaultDelivery - ilyen allat sincs, kommentezd ki, csak bajod lesz

Amire figyelj:
- A homeDirectory az IMAP szerverre nezve lokalisan van ertelmezve. En a helyedben inkabb virtual hostingot csinalnek, bar arra, hogy kitanuld, mi-hogy mukodik, a jelenleg kialakulofelben levo konfig is tokeletes.
- Sose hagyd meg egy LDAP-pal kapcsolatos konfigba defaulton amit nem ertesz, hogy mi az. Az LDAP egyebkent se egy egyszeru protokoll, rengeteget lehet szopni vele, de ha meg raadasul total ertelmetlensegek vannak a konfigban, akkor az mar mazochizmus,

A PAM konfigjat nem csak tesztelni kellett volna, hanem figyelmesen at is olvasni, ugyanis az pont egy olyan konfigfajl, ahol a kommentekben nagyon sok minden le van irva kozertheto nyelven (tudtommal meg a debian se szedi ki a kommenteket a fajlbol). Ajanlom figyelmedbe.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

"En mondom neki, fel is tettem a courier-authlib-ldap csomagot, de nem akarja, azert is kerdeztem hogy ez mukodhet-e igy."
Es be is konfiguraltad a megfelelo fajlokat? Az authdaemonrc-be megmondtad, hogy mit szeretnel authentikalasra hasznalni (ertsd: felvetted az ldap-ot)?

Mukodni mukodhet, mert erre van kitalalva, de hogy neked mukodik-e az itt a kerdes. Ha nem, akkor mondd el, mi nem megy, mert igy nehez segiteni.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

howtoforge-on nezz korul.

--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.