Windows - Felhasználók szabályozása az XP üdvözlőképernyőjén

forráskód letöltése
A Windows XP is tartalmaz egy alapértelmezett rendszergazda (administrator) fiókot, de ez nem jelenik meg a bejelentkezéseket kezelő üdvözlőképernyőn. Vajon miért és hogy lehet láthatóvá tenni? Ugyanitt látható az is, hogy melyik felhasználónak hány elolvasatlan üzenete van. Honnan kéri ezt le a rendszer? Mi van, ha több levelezőprogram működik párhuzamosan? Cikkünkben választ adunk a feltett kérdésekre.
Cikkünkhöz mellékeltünk egy "ShowAdmin.reg" nevű registry állományt. Futtatása után megjeleníti az üdvözlőképernyőn a rendszergazdai fiókot, függetlenül attól, hogy az operációs rendszer magyar vagy angol.
A Windows XP sok megjelenítésbeli újdonságot hozott, közülük az egyiket az "Üdvözlőképernyő" ("Welcome Screen") jelenti, ahol egy egyszerű egérkattintással elvégezhető a bejelentkezés. Célja, hogy egyszerűbbé tegye a felhasználók rendszerbe jutását, de azért továbbra is rendelkezésre áll a jelszavas védelem is. Mindez otthoni vagy kisirodai hálózatokban érhető el. Ha Active Directory-hoz csatlakoztatjuk a munkaállomást, akkor előkerül a Windows NT/2000-nél megszokott CTRL+ALT+DEL lenyomására felszólító képernyő és be kell írnunk felhasználói nevet és jelszót is. Vajon miért nem lehet tartományba üdvözlőképernyővel bejelentkezni? Több oka is van:
  • Az üdvözlőképernyőn korlátozott számú ikon fér el, de az Active Directory-ban több száz vagy több ezer felhasználó is lehet.
  • Biztonsági szempontból rendkívül hátrányos, ha pusztán a számítógép bekapcsolásával megtudható, hogy hány és milyen bejelentkezési nevű felhasználói fiók található a tartományban. Igaz, hogy ezek védhetők jelszóval, de akkor már csak a jelszóra van szükség a tényleges bejelentkezéshez - akár hálózaton keresztül is.
Szintén biztonsági szempontból jelent kockázatot rendszergazdaként Internetezni és egyáltalán a számítógépet használni. Sok program a bejelentkezett felhasználó adataival éri el a rendszerobjektumokat és a rendszergazdának szinte mindenhez van hozzáférése. Ez az egyik oka annak, hogy az XP lehetőség szerint elrejti a fiókját és nem teszi ki az üdvözlőképernyőre sem. Sokan nem is tudják, hogy létezik és használható. Magyar XP-ben "Rendszergazda", angolban pedig "Administrator" néven érhető el. Hogy lehet bejelentkezni vele?
Egyik megoldás, hogy az üdvözlőképernyőn kétszer lenyomjuk a CTRL+ALT+DEL billentyűkombinációt és előhívjuk hagyományos bejelentkező ablakot. Beírjuk a rendszergazda nevet, jelszót és bejelentkezünk. Ez is egy megoldás, de célunk nem ez, hanem, hogy a többiek között jelenjen meg az ikonja. Ha biztonsági szempontból hátrányos a használata, akkor miért erőltetjük mégis? Programfejlesztőknek gyakran van rá szükségük, hogy rendszergazdaként és felhasználóként is kipróbálhassák alkalmazásaikat, telepítőkészleteiket. Munkájukat megkönnyíti, ha nem kell minden alkalommal begépelni az adatokat, hanem egy egyszerű egérkattintással bejelentkezhetnek.
Indítsuk el a REGEDIT.EXE segédprogramot és keressük meg a regisztrációs adatbázisban a következő kulcsot:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
Hozzunk létre a kulcson belül egy új duplaszó (REG_DWORD) bejegyzést. Neve magyar XP-ben legyen "Rendszergazda", angolban pedig "Administrator". Értéke legyen 1. Ha most kijelentkezünk láthatóvá és használhatóvá válik a rendszergazdai fiók az üdvözlőképernyőn. Beállításunk érvényes minden egyéb felhasználói fiók esetében. Nem jelennek viszont meg azok a fiókok, melyekkel nem lehet bejelentkezni, mert le vannak tiltva vagy nem léteznek.
Fordítsuk meg a módszert és rejtsünk el egy létező felhasználói fiókot. Járjunk el ugyanúgy, mint az előbb csak most a duplaszó értéke 0 legyen. Jelentkezzünk ki és eltűnik a kérdéses fiók.
Térjünk át a levelezésre. Minden fiók mellett megjelenik az üdvözlőképernyőn, hogy hány elolvasatlan üzenete van a felhasználónak. Vajon honnan származik az információ? Nem arról van szó, hogy a háttérben elindul az alapértelmezett levelezőprogram és a Windows megszámolja, hogy hány levelet nem olvasott el a felhasználó. Hanem még a kilépés előtt bekerülnek a regisztrációs adatbázisába a szükséges adatok és indításnál csak ki kell olvasni őket. Tallózzunk el a következő kulcshoz:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\UnreadMail
A kulcson belüli alkulcsokban e-mail cím szerinti megosztásban találhatók a felhasználókhoz tartozó levelezési információk. A "MessageCount" duplaszó tárolja az olvasatlan üzenetek számát, az "Application" pedig a felhasználó alapértelmezett levelezőprogramjának indítóállományát. Ha nem akarjuk, hogy megjelenjen az olvasatlan üzenetekre vonatkozó megjegyzés, kattintsunk az "UnreadMail" kulcsra a jobboldali egérgombbal és lépjünk az "Engedélyek" ("Permissions") menüre. Válasszuk ki a listában a "SYSTEM" bejegyzést és kattintsunk a "Teljes hozzáférés" ("Full Control") jelölőnégyzetre a "Megtagadás" ("Deny") oszlopban. Megjelenik egy figyelmeztető ablak, ahol kattintsunk az "Igen" ("Yes") gombra tudomásul véve a leírtakat. Ezután a SYSTEM felhasználó - tehát maga az operációs rendszer - nem fogja tudni olvasni az "UnreadMail" registry kulcsot és nem írja ki az elolvasatlan üzenetek számát. A leírtak az összes felhasználó esetében letiltják a megjelenítést. Ha csak egy felhasználóét akarjuk letiltani járjunk el ugyanígy csak az e-mail címével megegyező kulcson.