2020. október 29., csütörtök

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Számítógépek menedzselése DRBL/Clonezilla SE-vel

Hogyan készíts fel 40 gépet az érettségire 1 óra alatt!? Ízelítő a DRBL/Clonezilla SE + DRBL-Winroll lehetőségeiből.

[ ÚJ TESZT ]

A központi menedzsment

Úgy telepítettem a másolandó munkaállomást, hogy létrehoztam rajta egy Tanulo felhasználót is az Admin mellett, majd kialakítottam számára a vizsgához, de lényegében az oktatáshoz is megfelelő szoftverkörnyezetet. Ez csupán annyit jelent, hogy telepítettem, és aktiváltam a megfelelő programokat, valamint kiraktam a szükséges ikonokat a tálcára és a Start menübe.

Ahhoz, hogy minden vizsgázó egyedi felhasználónevet kapjon, elég lesz ennek a Tanulo felhasználónak az átnevezése minden egyes gépen, valami egyedire.

A csodafegyverek

A központi menedzselés megvalósításához alapvetően három programot fogunk használni. Mindhárom előkerült már a leírásban, és kicsit meg is ismerkedtünk velük. Itt most újra bemutatom ezeket részben azért, hogy meglegyenek egy helyen is, másrészt pedig azért, mert ki kell még egészíteni a leírást néhány dologgal az „olajozott” működés érdekében.

Hirdetés

dcs (drbl-client-switch)

A dcs egy karakteres felületű, menüvezérelt program, amivel az image-ek másolása mellett számos más funkciót is megvalósíthatunk. Az egyikre láthattunk is már példát épp az előző fejezetben, amikor „Wake-on-LAN” funkció segítségével „felébresztettük” a gépeket.
Ha most épp be vannak kapcsolva, akkor próbáljuk kikapcsolni azokat a „shutdown – Kliens leállítása most” funkció segítségével! Ez a menüpont ugyanott található, ahol a „Wake-on-LAN”.

Nos, nem fog menni.

A dcs ugyanis alapértelmezés szerint az Administrator, azaz a Windows beépített rendszergazdájának küldi ki a parancsokat, így neki próbálja elküldeni a poweroff utasítást is az SSH kapcsolaton keresztül. Ahhoz, hogy működjön, ezt meg kell változtatnunk.

Módosítani kell a szerver /etc/drbl/drbl.conf fájljában az MSWIN_ADMIN_ID értékét. Esetemben ez így néz ki:

MSWIN_ADMIN_ID="Admin"

Nem kell semmit újraindítani, ezután már az Admin felhasználónak küldi ki a dcs a parancsokat.

scp (secure copy)

Mind szintaktikáját, mind működését tekintve ugyanolyan, mint a sima copy vagy cputasítás.

scp kapcsolók forrás cél

Fájlokat, könyvtárakat másol a hálózaton lévő hostok között a forrásból a célba. Az átvitelhez és a hitelesítéshez SSH kapcsolatot használ, így ugyanazt a biztonságot nyújtja.

A forrásban és a célban is meg lehet adni egy felhasználónevet és egy host nevet @-cal elválasztva egymástól, majd utánuk következik az elérési út és a fájlok megadása egy kettőspontot követően. Tehát valahogy így:

felhasználónév@host:elérésiút

Erre is láttunk már példát a 4. fejezet vége felé, amikor a publikus kulcsot másoltuk át a szerverről a klónozásra előkészített munkaállomásra. Ez volt az az utasítás:

scp /root/.ssh/id_dsa.pub Admin@192.168.64.60:/home/Admin/.ssh/authorized_keys

Itt nincsenek kapcsolók, a forrás egy helyi mappában található fájl (/root/.ssh/id_dsa.pub), a cél viszont a 192.168.64.60 IP című gépen van, ahová Adminként másolunk.

drbl-doit

Talán ez a legfontosabb és leghasznosabb parancs a három közül. Ez tulajdonképpen utasítást küld egy, néhány, vagy akár az összes munkaállomásnak egyszerre. Szintaktikája:

drbl-doit opciók parancs

A parancs működéséről érdemes tudni néhány dolgot. Először is, mielőtt a drbl-doit kiküld egy utasítást egy kliensnek, megpingeli (és itt egy újabb gyönyörű szó :) ). Ha nem kap választ, folytatja a következő klienssel. Kivéve, ha megadjuk neki a -n vagy a -b opciót.

Másrészt azt is szem előtt kell tartani, hogy a parancs, amit megadunk, egy Cygwin konzolon fog futni. Ez azt jelenti, hogy az aktuális mappánk a rendszergazda saját mappája lesz, tehát esetemben a „C:\cygwin\home\Admin”.

Ha egy elérési útban a gyökérkönyvtárra (/) hivatkozunk, akkor az valójában a C:\Cygwin mappát fogja jelenteni. Tehát pl. a /home/Admin valójában C:\cygwin\home\Admin lesz.

Szerencsére használhatóak a windowsos elérési utak is, tehát pl. az előző példánál maradva a C:/cygwin/home/Admin is ugyanazt a mappát fogja jelenteni.

A Cygwin konzol használatából adódóan, ami egyébként egy bash shell, nem fogja ismerni az összes windowsos parancsot. Nincs pl. copy. Ez nem túl fájdalmas, hiszen van helyette cp, de ha mégis valamelyik Windows parancsot szeretnénk használni, akkor azt így kell:

dtbl-doit opciók cmd /c parancs

Vagyis lényegében el kell indítanunk a Windows parancsértelmezőjét.

Néhány fontos opció:

-h "IPcímek"

Ezzel az opcióval megadhatjuk, hogy melyik gépekre kerüljenek kiküldésre a parancsok. Az IPcímek-et idézőjelek közé kell tenni, és szóközzel kell elválasztani egymástól.
Ha ezt a kapcsolót elhagyjuk, akkor az összes, a DRBL-ben konfigurált munkaállomásnak kiküldi a parancsot végrehajtásra.

-u felhasználónév

Használatával a felhasználónév nevű felhasználó jogosultságával lesznek végrehajtva az utasítások.

-p jelszó

A -u opcióban megadott felhasználó jelszava. Mivel mi már „bűvészkedtünk” a publikus kulcsokkal, erre nekünk nincs is szükségünk.

-w

Wake-on-LAN, vagyis felébreszti a megadott munkaállomásokat.

-n és -b

Ha megadjuk ezeket, akkor a parancsok kiküldése előtt nem fogja megpingelni a klienseket.

--help

Na, ezt nem mondom meg mit csinál ;o)

Most pedig frissen szerzett tudásunk birtokában, fogjunk hozzá az utolsó két feladat megoldásának!

Forrásfájlok felmásolása

Ezzel kezdem, mert ez lesz az egyszerűbb.

Ha van CD/DVD meghajtó a szerverben, akkor tegyük be abba a forrásokat tartalmazó CD-t, és tulajdonképpen onnan már indulhat is a másolás. A következő lépést nem kell végrehajtani.

Nekem viszont nincs optikai olvasóm a szerverben, ezért nekem először fel kell másolnom a forrásokat oda.

Mi sem egyszerűbb ennél! Jobb híján tegyük be azt a CD-t valamelyik munkaállomásba! Én az A15-ös gépbe tettem, csak hogy ne mindig az A01-essel kezdjem (á, nem, ennél sokkal praktikusabb okai vannak, de ezt most hagyjuk). Ennek a munkaállomásnak az IP címe 192.168.64.15.

Így most a forrásfájlok a munkaállomáson az E:\Forrasok mappában találhatóak. A gépeken két partíció van, ezért lett a CD/DVD meghajtó betűjele E:

Valahogy így történik a másolás:

scp -r Admin@192.168.64.15:e:/Forrasok/ /home/joe

A -r paraméter hatására az scp átmásolja a megadott mappában található mappastruktúrát a fájlokkal együtt (rekurzívan bejárja azt).

A Forrasok mappa tehát átkerül a szerver /home/joe mappájába.

A parancs végrehajtásának eredménye az alábbi képernyőképen követhető:

Az utasítás kiadása után figyelmeztet a rendszer, hogy az A15-ös hosttal nem biztonságos a kapcsolat. Ez azért van, mert még előtte sosem kapcsolódtunk SSH-n keresztül ehhez a munkaállomáshoz. Csak a „yes” választ fogja elfogadni, az „y” nem elég. Gépeljük be és Enter!

Ezután már végrehajtódik a másolás.

A következő lépés a források felmásolása a munkaállomásokra.

Erre a következő utasítást használhatjuk:

scp -r -o StrictHostKeyChecking=no /home/joe/Forrasok Admin@192.168.64.3:C:/Users/Tanulo/Desktop

A -o StrictHostKeyChecking=no paraméterre azért van szükség, hogy ne kérdezzen folyton rá az SSH kapcsolat megbízhatóságára, mint az előbb.

Az utasítás kimenete pedig itt látható:

Ez a parancs tehát az A03 (192.168.64.3) munkaállomás Tanulo felhasználójának asztalára fogja átmásolni a Forrasok mappát.

Ez csak egy gép. Hogyan kerül ez fel a többi gépre is!?

Ezt az egy utasítást szépen betesszük egy shell scriptbe, és lemásoljuk a sorát 39-szer, vagy annyiszor, ahány gépre fel kell rakni a forrást, majd módosítjuk az IP címeket.

Ha ügyesen csináljuk, minden érettségi vizsga előtt csak be kell tennünk a lemezt ugyanabba a munkaállomásba (vagy a szerverbe), és le kell futtatnunk ezt a scriptet.

Azonnal ellenőrizhetjük is, hogy minden fájl felkerült-e minden gépre, mert ha ismét lefuttatjuk a scriptet, akkor kapunk egy csomó „Permission denied” hibaüzenetet, és a másolás már egyszer sem fog megtörténni.

Én a forrásokat be szoktam másolni a „Dokumentumok” mappába is. Ha már minden gépen fent van, akkor ezt egyszerűen megtehetjük, csak ki kell adni a

cp -r C:/Users/Tanulo/Desktop/Forrasok C:/Users/Tanulo/Documents

utasítást minden gépre, amit a drbl-doit segítségével könnyen megtehetünk. Három gépre mutatom:

drbl-doit -h "192.168.64.1 192.168.64.2 192.168.64.3" -u Admin cp -r C:/Users/Tanulo/Desktop/Forrasok C:/Users/Tanulo/Documents

Mint láthatjuk, itt már nem kell soronként külön írni az egyes gépekre az utasítást, hiszen minden gépnek ugyanazt a parancsot adjuk ki, ugyanazokkal a paraméterekkel.

Egyéni felhasználónevek létrehozása

Ez egy kicsit kacifántosabb lesz, de csak azért, mert „nem gondolkodtunk előre”. Valójában inkább azért, mert logikusan szerettem volna felépíteni az anyagot, és erről ott kellett volna írnom, ahol a feladat megoldásához szükséges eszközök még nem álltak a rendelkezésünkre.

Egy Windows 10-es munkaállomáson át lehetne nevezni a Tanulo felhasználót a következő parancssori utasítással:

wmic useraccount where name=”Tanulo” rename name=”Tanulo-A01”

Nekünk azonban az a célunk, hogy ezt központilag kiadva, egyszerűbb és gyorsabb módon oldjuk meg, anélkül, hogy le kellene ülni minden egyes gép mellé.

Logikusan össze lehet rakni az előbbiekből, hogy a drbl-doit segítségével ezt simán meg lehet oldani. Csakhogy az alábbi utasítás nem fog működni:

drbl-doit -h ”192.168.64.1” -u Admin wmic useraccount where name=”Tanulo” rename name=”Tanulo-A01”

Sokféleképpen próbálkoztam már vele, de sehogyan sem tudtam megoldani ebben a formában, ezért azt találtam ki, hogy ezt az utasítást beteszem egy batch fájlba paraméterezhető módon, és azt hívom meg a drbl-doit segítségével. Így már működni fog.

Tehát szükségünk lesz egy batch fájlra, amit felmásolunk minden munkaállomásra.
A fájl tartalma a következő:

wmic useraccount where name=”Tanulo” rename name=”%1”

A neve pedig legyen renuser.bat!

Parancssorból a következő képpen használható:

renuser.bat Tanulo-A01

Ez át fogja nevezni a Tanulo felhasználót Tanulo-A01-re.

Hozzuk létre ezt a batch fájlt a szerverünkön a saját könyvtárunkban (pl. én a /home/joe-ban), és másoljuk át minden munkaállomásra a C:\cygwin mappába:

scp /home/joe/renuser.bat Admin@192.168.64.1:c:/cygwin
scp /home/joe/renuser.bat Admin@192.168.64.2:c:/cygwin
scp /home/joe/renuser.bat Admin@192.168.64.3:c:/cygwin

Ha ezt a batch fájlt már az image-elés előtt felmásoljuk, akkor természetesen ezt a lépést kihagyhatjuk, hiszen úgy már az image-ekkel felkerül a gépekre.

Ezután egy megfelelő shell script segítségével átnevezhetjük az összes felhasználót a kívánt nevekre. Pl.:

drbl-doit -h "192.168.64.1" -u Admin cmd /c c:/cygwin/renuser.bat Tanulo-A01
drbl-doit -h "192.168.64.2" -u Admin cmd /c c:/cygwin/renuser.bat Tanulo-A02
drbl-doit -h "192.168.64.3" -u Admin cmd /c c:/cygwin/renuser.bat Tanulo-A03

Mint látható, itt is kell használnunk a cmd.exe-t, mert egy windowsos batch fájlt futtatunk, és nem egy bash scriptet.

Ezzel elő is készítettük a gépeket az érettségire.

Azóta történt

Hirdetés

Copyright © 2000-2020 PROHARDVER Informatikai Kft.