A cegnel eleg kaotikus az autentikalas... mondjuk leginkabb nincs semmi semmivel integralva, kb ahany eszkoz annyi user adatbazis. Szinte minden beszel LDAP-ot, gondoltam felrakork egy OpenLDAP szervert (vagy kettot, hogy tukor is legyen) es szepen lassan bekotok mindent arra. Csakhogy...
Mindenfele gepeink vannak, Linux, OS-X es persze Windows-ok, mar van egy Windows domain active directory-val is (ezt nem en csinaltam, talan Windows 2008 serverrel... ha ez szamit). Namost a problemam az, hogy ez hogy fog egyutt menni az en LDAP-ommal. Vagy hagyjam is az OpenLDAP-ot es hasznaljam kozvetlenul az AD-t? Ez utobbitol egy kicsit fazom, nem vagyok jartas a Windows vilagban igazan es amugy is, az OpenLDAP-ot jobban alakithatonak erzem, ha kesobb mas dolgokra is akarnam hasznalni...
Letezik olyan, hogy az AD kulso LDAP-bol (vagy kulso akarmibol) autentikaljon? Talan ez lenne a legjobb nekem... de felek ilyen nincs, vagy csak oriasi szivasok aran.
Esetleg szinkronizalhatnek is az OpenLDAP meg az AD kozott "kezzel", vagyis valami trigger alapjan. Ha modositja a user a jelszavat itt, akkor az modosul odaat is... (Szerintem jelszo szinkron eleg, nincs sok user, nem gond felvenni kezzel oket ket helyre, utana meg a jelszo szinkron kell csak.) Es ha ez mukodhet akkro melyik iranyba konyebb szinkronizalni? (A mindket irany tul mesesen hangzik.)
----------------------------------------------------------
update1 (2013.07.04.)
Na, halad a projekt... igerem ha keszen lesz irok valami kis howto-t, egyreszt mert erdekes, masreszt mert ahogy latom sokakat erdekel.
Nincs teljesen a kezemben a dontes... ugyhogy vegul az lett, hogy minden az AD-ben van, azt okositom fel UnixHomeDirectory, meg hasonlo atributumokkal userenkent. Szoval nincs meg egy LDAP, csak az AD-van, abban oldok meg mindent. A usernevek is egysegesek lesznek, de ott is hosszuakat kell hasznalnom (hosszu: keresztnev.vezeteknev), aminek nem orulok, de azota megbaratkoztam a gondolatal, ha mukodni fog a usereknek valoban egyszerubb lesz az elet (nem kell ketfelet megjegyezni, meg ertetlenkedni, hogy miert van ketfele).
Jelenleg "proof of concept" mar mukodik, vagyis egy AD userrel be tudok jelentkezni egy olyan Linux hostra amin ez a user lokalisan nem letezik, sot a userhez tartozo groupok is az AD-bol jonnek. Van meg nehany megoldando problema:
- A legnagyobb bajom, hogy az AD-hez nem sikerult anonymous modon csatlakoznom, vagy ugy egyaltalan az AD-hez valo hozzaferest nem nagyon tudom szabalyozni. Most felvettem egy user-t az AD-ba csak azert, hogy a Linuxos kliensek elerjek az LDAP-ot. Vegulis lehet, hogy ez jo igy, de mindket esetben (anonymous vagy user) jo lenne szabalyozni, hogy ezek az adminisztrativ userek mit ernek el az AD-ben, vegulis csak nehany agat kell tudniuk olvasni es ott sem feltetlenul minden attributumot.
- A userekhez kezzel kell felvenni a Unix tulajdonsagokat az AD-ben (pl a mar emlitett UnixHomeDirectory), raadasul annyira kezzel, hogy nem is lattam ra opciot, hogy a GUI tamogatna, konkretan a mar modositott usereknek a Unix tulajdonsagai sem jelennek meg a GUI-n. A kisebbik baj, hogy nem latszik, a nagyobbik, hogy kezzel kell csinalnom, mikozben minden ertek elore szamolhato. A kerdesem: letezik olyan, hogy egy userfelvetelre automatikusan elsuljon egy script, ami meg csinal vele ezt-azt?
- Az elozohoz reszben kapcsolodo problema, hogy nem lattam az AD user mar letezo atributumai kozott uidNumber-hez hasonlo azonositot (csak vaksi vagyok?), igy ezt jelenleg szamolnom kell, vagyis meg kell neznem az osszes mar felvett uidNumber-t es kivalasztani a kovetkezot. Vegulis nem akkora gond, ha az elozo pont teljesul (vagyis lesz automatikusan elsolu script), akkor megoldom, de mennyivel szebb lenne, ha csak az aktualis user objektumbol szarmaztathato lenne ez a szam
- Baj van meg az offline hasznalattal. Vagyis amikor egy Linuxos laptop user az irodaban belep a gepere (AD-bol autentikal, autorizal), majd kikapcsolja, hazamegy, ott bekapcsolja (ekkor az AD-t epp nem eri el) es szeretne belepni... Erre talaltam a libpam-ccreds ami a jelszo cache-elesre mar jo, de ugye nekem nem csak jelszo kellene, hanem homedir, meg login shell, stb. Raadasul azt se lattam meg, hogy mennyi ideig cache-el, vagy hogy ezt barmi modon kontrolalhatnam, pedig ez is fontos lenne, hogy akar hetekig tudjon valaki offline dolgozni.
Az AD egy Windows Server 2012 ha ez szamit valamit.
----------------------------------------------------------
update2 (2013.11.06.)
No, egész jól állok. Az eredeti cél már teljesült, vannak Linux klienseim amik az AD-ból autentikálnak. Most viszont már látok egy két dolgot amit majd még szeretnék megcsinálni...
Mindenesetre, ahogy igértem, az eddigiekből írtam egy howto-t, fogyasszátok egészséggel:
hup.hu/blog/traktor: howto: Linux klines Windows Active Directory domain-ben