Alapok és kezelés II. - A szervizek tulajdonságlapjai
A General (Általános beállítások) panel
A General fülön felül a rövid név, a normál név és a leírás mezők közül egyik sem túl izgalmas, bár a rövid név ismerete azért jól jöhet a parancssorban, hiszen pl. a szervizt leállító "net stop" parancs után ezt a formulát kell beírnunk, hacsak nem akarjuk idézőjelek közé a hosszú nevet bevésni.
A rövid név nem mindig logikus, erre jó példaként fel tudnám hozni az Indexing Service-t (cisvc), vagy a Windows Time szolgáltatást (w32time), viszont az
sc getkeyname
paranccsal bármelyik szerviz rövid nevét megkapjuk parancssorból is. Ezek alatt viszont máris láthatunk egy lényegesen érdekesebb dolgot a "Path to executable" sort megvizsgálva, elsőként mondjuk az Alerter szolgáltatásnál. A várt Alerter.exe állomány helyett (mint pl. a File Replication Service-nél az Ntfrs.exe) egy teljesen más állomány szerepel, konkrétan ez:
C:WINNTsystem32Svchost.exe -k LocalService
Sőt, pontosan ugyanezt az útvonalat látjuk pl. a Web Client szolgáltatásnál is, meg még 1-2 másik szerviznél is. Ez azért van, mert nem minden szerviz külön állomány, hanem léteznek olyan DLL-ekbe helyezett processzek is, amelyek azért ettől még szervizként operálnak. Ezek viszont csak az Svchost.exe égisze alatt tudnak futni. Feltűnő módon, több példányban is láthatjuk ezt az állományt pl. a Task Manager taszklistájában, amelynek a magyarázata az, hogy az Svchost.exe az operációs rendszer induláskor kisebb-nagyobb csoportokba gyűjti az ilyen processzeket és csoportonként egy-egy Svchost.exe példány futtatja a csoportba tartozó elemeket. Ezeket a csoportokat megtekinthetjük a regisztrációs adatbázisban a következő kulcs alatt:
HKLMSoftwareMicrosoftWindowsNTCurrentVersionSvchost
Az Alerter szerviz esetén tehát a "Local Service" jelenti a csoport nevét és a Registry alapján ide tartoznak (egy frissen telepített Windows Server 2003 alatt) még a következők is:
- Alerter
- WebClient
- LmHosts
- WinHttpAutoProxySvc
Ha ki szeretnénk nyomozni, hogy a taszklistában szereplő Svchost.exe-k közöl melyikhez tartozik a mi Alerter szervizünk, akkor ezt a csoport PID-je (Process IDentifier) alapján tehetjük meg. Indítsuk el a Task Managert és a Processes fül alatt láthatjuk is a többpéldányos Svchost.exe-t. Alapértelmezés szerint a PID nem látszik, de a View/Select Colums menüpont alatt kiválasztható. Az előző képen látható negyedik, a 896-os PID-et birtokló Svchost.exe a LocalService csoport példánya (ne tévesszen meg bennünket ugyanez a név a User Name oszlopban, az mást takar), konkrétan e mögé bújva működik az Alerter szolgáltatás. Hogy ez honnan derült ki?? A megoldáshoz futtassuk parancssorból a
tasklist /svc
parancsot (a Windows 2000-nél és az NT4-nél még Tlist.exe-nek hívták), és ekkor olyan összerendelést láthatunk, amelyben az Svchost.exe példányok és a csoport PID-ek mellett a különböző csoportok tagjai is ki vannak listázva (de csak az aktuálisan működők).
Ha továbbmegyünk a General panelen, akkor a szervizek indításával kapcsolatos opciókat láthatjuk. Három lehetőségünk van: Automatic, Manual, Disable. Szabadon váltogathatunk a szervizek ezen állapotai között, de csak óvatosan, mert egyrészt megbéníthatjuk vele az alkalmazásainkat, másrészt felesleges biztonsági rizikót generálhatunk viszonylag könnyedén. Egyébként, ha már a biztonság szóba jött, megfigyelhető pl. az a változás, hogy a Microsoft egyre kevesebb szervizt indít el gyárilag automatikusan az operációs rendszerek vagy a kiszolgáló alkalmazások tekintetében, és egyre többet tilt le. Végiggondolva ezt a törekvést, ez így helyesnek is tűnik, hiszen ez egy újabb pozitív dolog a "minimális szükségesség" elv mentén. Azonban megfelelő információ híján érdekes élményben :D lehet részünk pl. az Exchange 2003 Server új telepítése után (frissítésnél nem), mert alapból már a POP3 vagy IMAP szervizek is le vannak tiltva. De a Windows XP SP2 után is lesz ilyen élménye a kevéssé tájékozott üzemeltetőnek, hiszen a jelenlegi állás szerint a szervizcsomag pl. az Alerter vagy a Messenger szervizt szintén letiltja. Jöjjön viszont egy ömlesztett felsorolás azokról a szervizekről, amelyek Windows 2000-ben vagy az XP-ben automatikusan indulnak vagy manuálisan indíthatók voltak, ellenben a Windows Server 2003-ban le vannak tiltva (vagy egyszerűen csak nincsenek telepítve): Alerter, ClipBook, Distributed Link Tracking Server, IMAPI CD-Burning COM Service, Internet Connection Firewall and Sharing, Messenger, NetMeeting Remote Desktop Sharing, Network DDE DSDM, Network DDE, Remote Registry, Telnet, Terminal Services Session Directory, Themes, Web Client, Windows Audio, Windows Image Acquisition, IIS Admin, Simple Mail Transfer Protocol, World Wide Web Publishing. Szép kis lista!Természetesen, ahhoz hogy egy letiltott szolgáltatást elindíthassunk, először automatikus, vagy manuális állapotúvá kell tennünk, és majd csak ezután nyílik lehetőség a Start gombra bökni. Vannak olyan szervizek is (pl. az IISAdmin), amelyek viszont ideiglenesen megállíthatók a Pause funkcióval, ha viszont az ideiglenes megállítás oka megszűnik, akkor akár újraindíthatjuk vagy akár rávehetjük folytatásra is a Resume gombbal. A General panel alján egyébként arra is lehetőségünk van, hogy az adott szervizt paraméterezve indítsuk el.
Gál Tamás
gtamas@tjszki.hu