Sziasztok! Kaptam egy csodálatos feladatot, nevezetesen alakítsak ki egy intranetes webkiszolgálót Ubuntu 16.04 LTS alapokon. PHP fejlesztőként elég nagy kihívást jelent számomra ez a dolog, de már sikerült felraknom apache2-mysql-php szentháromságot, mellé phpMyAdmin, Samba. Amivel problémám akadt, az maga az intranetes alkalmazás, amely a szervezeti Active Directory-ból azonosítja a felhasználót és ellenőrzi az alkalmazás jogosultságát (IE és Chrome esetén automatikus, Firefox esetén user-passwd ellenében). Eddig egy win2012-es szerveren fut apache2.2 alatt az alkalmazás és a $_SERVER['PHP_AUTH_USER'] alapján azonosít. A kérdésem a lenne, hogy mit kell ahhoz telepítenem és konfigurálnom, hogy az Ubuntu szerverem is képes legyen a szervezeti Active Directory-hoz hozzáférni legyen szó Apache-ról, vagy Samba-ról. Köszönöm előre is. MTeddy

bartasziliEgy leírás: https://wiki.samba.org/index.php/Authenticating_Apache_against_Active_Directory

OFF Ez a hack régi vágyam. Egy rövid ideig én vagyok minden témacsoport utolsó hozzászólója. Elnézést!

Ennyivel később: egy hónap

Megoldottam! (Heureka!) Röviden: A Kerberos a mi barátunk ebben az esetben. Bővebben: Telepíteni és konfigurálni kell: 1. krb5-user kliens könyvtárat. Ezt fel kell konfigurálni a windows-os rendszergarázdák által megadott adatokkal. (Active directory szerver nevek, tartománynév) 2. Óra szinkronizálás a DC szerverrel, az ntpdate segítségével (itt nem árt, ha előzetesen beállítod az időzónádat is Európa-Budapest-re). Ha nem egyezik a két gép órája, nem működik az authentikáció! Kipróbáltam. 3. Megkérsz egy ráérős domain admint, hogy némi sör ellentételezéseképpen generáljon neked egy keytab fájlt. Itt azonosítod be azt a usert, akinek joga van lekérdezni az AD-ból más felhasználók adatait. Érdemes itt egy technikai usert létrehozatni a domain adminnal. Megköszönöd a segítségét és örök hálád kifejezése mellett a söröket átadod. 4. mod_auth_kerb és mod_auth_gssapi modulok telepítése után az Apache2 sites-available mappájában szerkeszted azt a site config fájlt, amelyhez szükséges az authentikáció. Ha minden jól megy, egy Apache restart után a webszerverre, site-ra feljövő Internet Explorer és Chrome böngészők automatikusan be fogják azonosítani a usert és a $_SERVER['PHP_AUTH_USER'] és $_SERVER['REMOTE_USER'] változókba lerakja a felhasználónevet. Ezzel a usernévvel meg később már PHP-ból, LDAP lekérésekkel megtudhatjuk róla a jogosultságait (AD csoportjait), vagy bármely más adatát. Amiből dolgoztam, illetve számomra a legérthetőbb formában jelenítette meg az információkat: https://active-directory-wp.com/docs/Networking/Single_Sign_On/Kerberos_SSO_with_Apache_on_Linux.html Nagyjából ennyi.

Ennyivel később: 4 év