Pandora felhasználók Active Directory migrációja
Migráció előtti állapot ► Pandora felhasználok száma: ~6000 ► Linuxos KDC –k, Linuxos LDAP szerver ► Kliens gépek száma: ~500 ► Kliens gépek Operációs Rendszere: Linux és WindowsXp ► Kliens gépekre való bejelentkezés: Linux : Pandorás felhasználó, a KDC-k segítségével WindowsXP: hallgato nevű lokális felhasználó
A migráció szükségessé tévő okok ► A géptermet sok olyan személy is használta, akik nem voltak jogosultak rá ► Minden gépen, egy azonos felhasználó miatt közös dokumentumok ► Windows alól nem volt azonosítható, ha valaki vétet a Hálózati szabályzat ellen ► Kliens gépek nehézkes menedzselése
Migráció I. megvalósítása ► A kliens gépek több külön álló Active Directory tartományba való beléptetése ► Egy linuxos samba szerver segítségével egyirányú megbízási kapcsolat létrehozása az Active Directory-k és a Linux-os LDAP tartomány közt ► A kliens gépeken a hallgato felhasználó már nem lokális, hanem tartományi felhasználó
A megvalósítás után fellépő problémák ► A rendszer érzékeny a hálózat működésének mértékére A samba server NFS-es keresztül éri el az LDAP szervert Ha a DC nem éri el a samba szervert, nem lehet bejelentkezni. ► A pandorás felhasználókra nem lehet alkalmazni a csoport házirendeket ► A pandorás account –tal nem rendelkező de gépterem használatra jogosult hallgatók, még mindig egy egységes felhasználót használnak ► A külön álló tartományok miatt nincs központi felügyelet
Migráció II. megvalósítása ► Új Active Directory tartomány telepítése Linuxos DNS használatával ► A régi tartományok újratelepítése altartományként ► A fő tartomány DC-je Services For Unix telepítése. ► A Linuxos felhasználók importálása az Active Directory-ba egy külön szervezeti egységbe.
Migráció II. megvalósítása ► A gépek és a felhasználók külön-külön szervezeti egységekbe kerülnek ► Csoport házirendek meghatározása az egyes szervezeti egységekhez. ► A felhasználók felviteléhez webes alkalmazás létrehozása linux alatt PHP-ban ► Az alkalmazás Open-SSH-n keresztül kommunikál a DC-n található adduser scripttel
adduser script 1. változat ► DIM arg(2) ► DIM i ► DIM A ► i = 0 ► For Each A In Wscript.Arguments ► arg(i) = A ► i = i+1 ► Next ► Set objOU = GetObject("LDAP://OU=" & arg(0) &",dc=inf,dc=elte,dc=hu") ► Set objUser = objOU.Create("User", "cn=" & arg(1)) ► objUser.Put "sAMAccountName", arg(1) ► objUser.SetInfo ► objUser.SetPassword arg(2) ► objUser.AccountDisabled = FALSE ► objUser.SetInfo ► objUser.put "mail", arg(1) & ► objUser.SetInfo
Migráció után fellépő problémák ► Jelszó változtatás szinkronizációja ► Lokális felhasználói profile-ok miatt egyes laborokban hamar betelik a rendelkezésre álló disk terület ~8000 felhasználó vs. 800 MB szabad hely
Problémák orvoslása ► Jelszó változtatás Webes felület, de csak az Operátorok használhatják biztonsági okokból ► Lokális profile-ok Roaming-profile használata Distrubuted FileSystem használatával Mappa átírányítással Módosított adduser script használata
adduser script 2. változat ► Const ADS_PROPERTY_APPEND = 3 ► DIM arg(2) ► DIM intPrimaryGroupToken ► DIM i ► DIM A ► i = 0 ► For Each A In Wscript.Arguments ► arg(i) = A ► i = i+1 ► Next ► Set objOU = GetObject("LDAP://OU=" & arg(0) &",dc=inf,dc=elte,dc=hu") ► Set objUser = objOU.Create("User", "cn=" & arg(1)) ► objUser.Put "sAMAccountName", arg(1) ► objUser.SetInfo ► objUser.SetPassword arg(2) ► objUser.AccountDisabled = FALSE ► objUser.SetInfo ► objUser.put "mail", arg(1) & ► objUser.Put "profilePath", "\\inf.elte.hu\DFS\Roaming Profiles\" & arg(1) ► objUser.Put "homeDirectory", "\\inf.elte.hu\DFS\My Documents\" & arg(1) ► objUser.Put "homeDrive", "H:" ► objUser.SetInfo ► Set objGroup = GetObject("LDAP://cn=Tanulok Users,ou=tanulok,dc=inf,dc=elte,dc=hu") ► objGroup.GetInfoEx Array("primaryGroupToken"), 0 ► intPrimaryGroupToken = objGroup.Get("primaryGroupToken") ► objGroup.PutEx ADS_PROPERTY_APPEND,"member", Array("cn=" & arg(1) & ",ou=" & arg(0) & ",dc=inf,dc=elte,dc=hu") ► objGroup.SetInfo ► objUser.Put "primaryGroupID", intPrimaryGroupToken ► objUser.SetInfo
A pandora accounttal nem rendelkező, de laborhasználatra jogosult felhasználók ► Ezen felhasználók csak az Active Directory- ban léteznek, nekik nincs pandorás accountjuk ► Ilyen felhasználó hozzáadása az adduser script speciális változatával történik a DC-n
addbio script ► Const ADS_PROPERTY_APPEND = 3 ► DIM arg(2) ► DIM intPrimaryGroupToken ► DIM i ► DIM A ► i = 0 ► For Each A In Wscript.Arguments ► arg(i) = A ► i = i+1 ► Next ► Set objOU = GetObject("LDAP://OU=geobio,OU=tanulok,dc=inf,dc=elte,dc=hu") ► Set objUser = objOU.Create("User", "cn=" & arg(0)) ► objUser.Put "sAMAccountName", arg(0) ► objUser.SetInfo ► objUser.SetPassword arg(1) ► objUser.AccountDisabled = FALSE ► objUser.SetInfo ► objUser.put "mail", arg(0) & ► objUser.Put "profilePath", "\\inf.elte.hu\DFS\Roaming Profiles\" & arg(0) ► objUser.Put "homeDirectory", "\\inf.elte.hu\DFS\My Documents\" & arg(0) ► objUser.Put "homeDrive", "H:" ► objUser.SetInfo ► Set objGroup = GetObject("LDAP://cn=Tanulok Users,ou=tanulok,dc=inf,dc=elte,dc=hu") ► objGroup.GetInfoEx Array("primaryGroupToken"), 0 ► intPrimaryGroupToken = objGroup.Get("primaryGroupToken") ► objGroup.PutEx ADS_PROPERTY_APPEND,"member", Array("cn=" & arg(0) & ",ou=geobio,ou=tanulok,dc=inf,dc=elte,dc=hu") ► objGroup.SetInfo ► objUser.Put "primaryGroupID", intPrimaryGroupToken ► objUser.SetInfo