9 Registret//Registry en översikt och en del tips



Relevanta dokument
22 Användarnas hemmamappar

21 De tre viktigaste kontona: Administratör//Administrator, Gäst/ /Guest och System//System

7 Microsofts grupphanteringsmodell i Windows NT-domäner

23 Användargrupper: lokala, globala och specialgrupper

en översikt Användarkonton i Windows-familjen Användarkonton i Windows NT Workstation och Windows NT Server

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

15 Granskning//Auditing

En kort guide för registereditorn

Registry Viewer. Registry structure Searching the registry Reports

28 Inloggningsskript, profiler och systemprinciper//system Policies

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

13 Inbyggda verktyg för nätadministration

Grundkurs 1 IKT Filhantering

27 Samspel mellan lokal behörighet och delningsbehörighet för utdelade

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

14 Användarkonton och kontoprinciper

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Författare Version Datum. Visi System AB

INNEHÅLLS FÖRTECKNING

Användarhandbok. Nero BackItUp. Ahead Software AG

FLEX Personalsystem. Uppdateringsanvisning

Bengans datorhörna WINDOWSTIPS

Kom igång med. Windows 8. DATAUTB MORIN AB

1 Översikt Vad är kontokoder? Konto/Mapp uppbyggnad Tillgång till Kontokoder Område Kontokoder...5

24 Användarrättigheter//User Rights

Administrationsmanual ImageBank 2

Manual licenserver. Installations och konfigurations-manual för Adtollo licenserver

Manual - Storegate Team

ARX på Windows Vista, Windows 7 eller Windows 2008 server

25 Lokal behörighet//local Security (lokal säkerhet, NTFS-behörighet)

ONEDRIVE ÖVERBLICK Vad är OneDrive?... 2 Molnet?... 2 Två typer av OneDrive... 2 Hitta sin OneDrive för företag... 3

Memeo Instant Backup Snabbguide. Steg 1: Skapa ett gratis Memeo-konto. Steg 2: Anslut din lagringsenhet till datorn

Installationsguide, Marvin Midi Server

Storegate Pro Backup. Innehåll

12 Sammankopplade domäner// Trusts

Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing

Installera SoS2000. Kapitel 2 Installation Innehåll

TIS-Web startguide 3.6. TIS-Web Startguide

Flytt av. Vitec Mäklarsystem

JobOffice SQL databas på server

Uppdatering till Windows 8.1 steg för steg-guide

Innehåll. Installationsguide

7 Mamut Client Manager

Innehåll. 7. Hur vet jag vilken storlek på licensen jag har?... 19

Installationsanvisningar VISI Klient

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Din guide till. Byte av databas. Från MSDE till SQL Express

Telia Connect för Windows

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppdatering till Windows 8.1 steg för steg-guide

Visma Proceedo. Att logga in - Manual. Version 1.3 /

ANVÄNDAR-GUIDE för Bränneriets LAN

Lathund för BankID säkerhetsprogram

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

IT-system. BUP Användarmanual

2 Arbetsgrupp eller Windows NTdomän: vilken passar bäst?

Manual - Phonera Online Backup

Instruktion till. PigWin PocketPigs. Del 1 - Installation

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data

Installation och konfiguration av Matematikhuset 3.0 (skollicens) Installation via Group Policy och konfigurering av dataplacering

Nyheter i. Solen Pro/SolenX 6.5

Användarmanual för Pagero Kryptering

Telia Centrex IP Administratörswebb Handbok

Instruktion: Trådlöst nätverk för privata enheter

Lathund för Novell Filr

Skicka SMS/e-post påminnelser från Microsoft Excel

Innehåll i detta dokument

Välkommen som användare av medietekniks och informatiks publika studentserver

Skapa din egen MediaWiki

29 Operativsystem på användarnas maskiner (klienterna)

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT)

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB

OBS! FÖRSÖK INTE INSTALLERA PROGRAMVARAN INNAN DU HAR LÄST DET HÄR DOKUMENTET.

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet.

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Installationsguide för FAR Komplett Offline 2.1.2

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 25

Startanvisning för Bornets Internet

Scan Station Pro 550 Administration och serviceverktyg för Scan Station

Mac OS X 10.6 Snow Leopard Installationshandbok

Instruktion: Trådlöst utbildningsnät orebro-utbildning

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet.

Manual - Storegate Team

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual

JAWS Nätverksauktorisering

11 Domän- och serverlistorna// Browse Lists

Använda Office 365 på en iphone eller en ipad

Windows 10 systemverktyg

Mobilus får inte användas under tiden uppdateringen genomförs.

Konfigurering av eduroam

Installationsanvisning - Kopplingen mellan GK96 och golf.se -

Börja med git och GitHub - Windows

1. Säkerhetskopiera den eller de byråer du har arbetat med via i Visma Klient.

Licenshantering i HogiaLön Plus

LEX INSTRUKTION LEX LDAP

Handhavande manual problemhantering

Installation av M7005 och till M7005 hörande serverprogram

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Transkript:

9 Registret//Registry en översikt och en del tips Registret//Registry i Windows NT är en samlande central för inställningar, information och data angående datorn och dess användare. I den finner du alla inställningar som tidigare versioner av Windows sparade i.ini-filer och på andra sätt. q Registret//Registry är Windows NT:s inställningsdatabas q Registret//Registry är den enda inställningsdatabasen i Windows NT q Registret//Registry är uppdelat i inställningar för hela datorn, alla användare och även för varje användare q Inställningar återfinns i värden (parametrar) Struktur i Registret//Registry Huvudträden Registret//Registry har en uppbyggnad som i mångt och mycket påminner om mappträd på disk. Skillnaden består i att det finns ett fast och oföränderligt antal huvudträd i Registret//Registry ungefär som om det endast funnes några fasta rotmappar under c: på en disk. Struktur för huvudträden i Registret//Registry. 265

9 Registret//Registry en översikt och en del tips Nycklar och undernycklar Under huvudträden finner vi nycklar och undernycklar. De har mycket stora likheter med mappar och undermappar. Liksom för mappar finns det ingen fast gräns för hur många nivåer av undernycklar det kan finnas. Nyckelnivån i Registret//Registry. Värden i Registret//Registry Vi fortsätter liknelsen med mappträd och märker att nycklar (mappar) kan innehålla både värden (filer) och undernycklar (undermappar). I stället för benämningen parameter kommer du att stöta på värde//value (registereditorerna använder begreppen värde, namn på värde och innehåll i värdet). Det är nästan alltid innehållet i värdena som är intressant, men ibland är det själva närvaron av ett värde (att det finns i Registret//Registry) som är viktigt. (Det senare fallet påminner mycket om konstruktionen #ifdefined variable i c/c++.) 266

Struktur i Registret//Registry Värden i Registret//Registry. Ange sökvägar i Registret//Registry Microsoft har tagit fasta på den stora likheten mellan mappträd och Registret//Registry, bl.a. när man anger ett visst värde eller nyckel i registret. För att beskriva plats i Registret//Registry används samma skrivsätt som för sökvägar: Huvudträd\Nyckel\ Undernyckel\Värde. För att underlätta brukar jag använda flera rader: I verkligheten Huvudträd\ Nyckel\ Undernyckel\ Värde Låt oss titta på en bild av Registret//Registry från en verklig Windows NT 4.0-dator. Du ser samma indelning som ovan, först huvudträden, sedan nycklar, undernycklar och sist värden. Först måste du veta att det finns två olika registereditorer. Den gamla, RegEdt32.Exe, som alltid funnits med i Windows NT och den nya, RegEdit.Exe, som är en klon av den registereditor som finns i Windows 95/98. De ser mycket olika ut när du startat dem (se nedan för mer information). 267

9 Registret//Registry en översikt och en del tips Huvudträden Struktur för huvudträden i Registret//Registry som de kan ses i RegEdit.Exe. I bilden ser du huvudträden i Windows NT: q HKey_Classes_Root q HKey_Current_User (HKCR) (HKCU) q HKey_Local_Machine (HKLM) q HKey_Users q HKey_Current_Config q HKey_Dyn_Data När du startar RegEdt32.Exe på samma dator ser du detta: Huvudträden såsom de visas i RegEdt32.Exe. Den synligaste skillnaden (förutom de olika sätten att visa samma information) är att huvudträdet HKey_Dyn_Data inte alls visas i RegEdt32.Exe. Förmodligen finns inte detta huvudträd i Windows NT det visas eftersom RegEdit.Exe skrevs för 268

Struktur i Registret//Registry Windows 95 och där finns HKey_Dyn_Data som huvudträd. Något liknande gäller för HKey_Current_Config. Det finns visserligen i Windows NT 4.0, men det används inte fullt ut. I stället använder Windows NT nycklar i HKey_Local_Machine. Det finns inget sätt att lägga till egna huvudträd utan vi är hänvisade till de befintliga. Nycklar och undernycklar Nyckelnivån i Registret//Registry (i RegEdit.Exe). I bilden ser du huvudträdet HKey_Local_Machine med fem nycklar (Hardware, SAM, Security, Software och System). Undernycklarna till en av dem, System, visas också (åtta stycken, Clone, ControlSet001,.. Select, Setup). När en nyckel visas med ett plustecken (i RegEdit.Exe) till vänster om mappsymbolen finns det ytterligare undernycklar. 269

9 Registret//Registry en översikt och en del tips Värden i Registret//Registry Nu är vi nere på lägsta nivån i Registret//Registry. Värden visas till höger. Undernyckeln i bilden innehåller fem namngivna värden. Som du ser i bilden finns det fem namngivna värden i den öppna nyckeln. Du ser också att de är märkta med olika bilder till vänster om värdets namn, de visar vilken typ av data som kan lagras i värdet (mer nedan). I bilden ser du en fördel med RegEdit.Exe: den visar längst ned i fönstret vilken nyckel som är öppen, i detta fall HKey_Local_Machine\ System\ CurrentControlSet\ Services\ Abiosdisk\ Vad betyder HKey Detta HKey som står i början av namnen på huvudträden betyder Handle to Key. Förmodligen blev du inte klokare av den upplysningen, men programmerare använder ofta handtag//handles i sina program. Microsoft hoppades säkert när de fann på 270

Struktur i Registret//Registry Registret//Registry att den som använder Windows NT aldrig skulle behöva titta in i själva Registret//Registry och därför spelade det inte så stor roll vad huvudträden heter. Tyvärr kom denna förhoppning på skam, men då var det för sent att ändra. Därför heter huvudträden alla något med HKey. Just de namn som huvudträden har finns i stödfiler för programmerare. I filen WinReg.H (stödfil för c- och c++-programmerare) hittar vi följande rader: #define HKEY_CLASSES_ROOT (( HKEY ) 0x80000000 ) #define HKEY_CURRENT_USER (( HKEY ) 0x80000001 ) #define HKEY_LOCAL_MACHINE (( HKEY ) 0x80000002 ) #define HKEY_USERS (( HKEY ) 0x80000003 ) #define HKEY_PERFORMANCE_DATA (( HKEY ) 0x80000004 ) #if(winver >= 0x0400) #define HKEY_CURRENT_CONFIG (( HKEY ) 0x80000005 ) #define HKEY_DYN_DATA (( HKEY ) 0x80000006 ) #endif /* WINVER >= 0x0400 */ Ett par intressanta saker finner vi i dessa deklarationer. Huvudträden HKey_Current_Config och HKey_Dyn_Data har båda tillkommit efter Windows NT 3.51: if (WinVer >= 0x400). Dessutom, vad används HKey_Performance_Data till? Den syns aldrig i registereditorerna. Enligt TechNet används den av Resursövervakaren//Performance Monitor när den ansluter till en annan dator över nätverket. Värdena innehåller olika typer av data Värdena i Registret//Registry kan vara av flera olika datatyper. De vanligaste datatyperna är text, heltal och binärvärden (av godtycklig längd). Datatypen är viktig för att kunna spara rätt information i värdet. Ibland lägger du till värden, med på förhand kända namn, i Registret//Registry som ett befintligt program skall använda då är det mycket viktigt att datatypen stämmer med det som programmet förväntar sig. Beroende på vilken av registereditorerna du använder ges du tillgång till olika många datatyper: Datatyp Namn i RegEdit Namn i RegEdt32 Text String Reg_SZ Heltal DWord Reg_DWord 271

9 Registret//Registry en översikt och en del tips Datatyp Namn i RegEdit Namn i RegEdt32 Binärvärden av godtycklig Binary Reg_Binary längd I RegEdt32 får du tillgång till ytterligare två datatyper: Datatyp Text med miljövariabler//environment variables Namn i RegEdt32 Reg_Expand_SZ Null-terminerad sträng som innehåller miljövariabler (ex. %SystemRoot%), vid användning ersätts namnet med aktuellt värde på miljövariabeln, ex. c:\winnt. Datatyp Flera strängar/ord tillsammans (med åtskiljare) Namn i RegEdt32 Reg_Multi_SZ Flera godtyckliga strängar efter varandra. Null-tecken används för att skilja dem åt, två null-tecken avslutar. Null-tecknen läggs in av RegEdt32. Du kan stöta på flera datatyper i Registret//Registry Under dina turer runt i Registret//Registry kommer du säkert att stöta på flera datatyper än dem du sett ovan. Huvudträdet Hardware innehåller en hel del intressanta datatyper. Dessa datatyper är inte underligare än dem du kan hantera i registereditorerna, de är helt enkelt tillgängliga för den som skriver program/drivrutiner för Windows NT. För dem står dessa datatyper till buds: Datatyp Reg_Binary Reg_DWord Innebörd Binärt värde (innebörden bestäms av den som skriver programmet). 32 bitar, (Double Word). Motsvarar Long i Visual Basic 5.0. Reg_DWord_Little_Endian 32 bitar. Motsvarar Long i Visual Basic 5.0 på Intel-maskiner. Reg_DWord_Big_Endian 32 bitar. Motsvarar Long på datorer där det mest signifikanta ordet (word) lagras först (tvärtom mot Intel-maskiner). 272

Viktigaste delarna och deras hemvist Datatyp Reg_Expand_SZ Reg_Link Reg_Multi_SZ Reg_None Reg_Resource_List Reg_SZ Innebörd Null-terminerad sträng som innehåller miljövariabler (ex. %SystemRoot%). Strängen är Unicode eller ANSI beroende på vilken version av API:erna man använder. Symbolisk länk i Unicode-format. Flera nullterminerade strängar efter varandra. Dessa avslutas med två null-tecken. Icke definierad datatyp. Resursbeskrivning för en drivrutin. Nullterminerad sträng. Unicode eller ANSI beroende på vilken version av API:erna som använts. Viktigaste delarna och deras hemvist Registret//Registry har rykte om sig att vara hemligt. Jag brukar säga att Registret är hemligt på samma sätt som en påse är hemlig: påsen som sådan är inte särskilt hemlig, men innehållet i den kan vara det. Så är det med Registret också, det är dess innehåll och hur det används som kan uppfattas som en smula hemligt. Flera ställen i Registret är dock så lättillgängliga att du tjänar på att känna till dem, om inte annat så för att motverka känslan av hemlighetsmakeri. Sökväg i Registret//Registry HKey_Classes_Root (HKCR) HKey_Current_User (HKCU) HKLM\Hardware HKLM\SAM och HKLM\Security Innehåll Koppling filtillägg program. COM-registreringar (OLE och ActiveX). HKCR är en pekare till HKLM\Software\Classes Inställningar för aktuell användare (den inloggade användaren) Inställningar för utrustningen (maskinvaran) (Security Accounts Manager). Kontodatabasen 273

9 Registret//Registry en översikt och en del tips Sökväg i Registret//Registry HKLM\Software HKLM\ Software\ Microsoft\ Windows NT\ CurrentVersion\ Innehåll Inställningar för alla program Inställningar för Windows NT HKLM\ Inställningar för Windows (gemen- Software\ samt med Windows 95/98) Microsoft\ Windows\ CurrentVersion\ HKLM\ System\ CurrentControlSet\ Services\ HKey_Classes_Root (HKCR) Inställningar för alla enheter/- /devices och tjänster//services Trädet HKey_Classes_Root upptas till största delen av kopplingar mellan filtillägg och program samt information om COM-objekt (OLE och ActiveX). Trädet HKey_Classes_Root (HKCR) har faktiskt sitt ursprung i Windows 3.1. Redan på den tiden fanns det ett register som innehöll information om kopplingar mellan filtillägg och program samt OLE-information. I Windows NT och Windows 95 har 274

Viktigaste delarna och deras hemvist denna information utökats att även innehålla information om OLE 2 och ActiveX. Det är i detta träd vi finner information om ActiveX-servrar med mera. I HKCR finns information om ActiveX-servrar, i bilden syns delar av denna information för Microsoft Excel. Trädet HKCR är inget eget träd, det är helt enkelt en pekare till HKLM\Software\Classes (öppna gärna båda och jämför). HKey_Current_User (HKCU) Delträdet HKey_Current_User med sina nycklar. Delträdet HKey_Current_User innehåller inställningar för den inloggade användaren (om det inte är någon användare inloggad används HKey_Users\.Default). HKCU används för att spara inställningar för de olika användarna. Det är här som fönsterstorlekar, aktuella inställningar 275

9 Registret//Registry en översikt och en del tips och annat sparas. Vi behöver inte bry oss om att det finns olika användare av en viss dator. Inställningar som ditt program ändrar i huvudträdet HKey_Current_User kommer automatiskt att hamna i rätt användares profil eftersom HKey_Current_User bara är en pekare till användarens inställningar i HKey_Users. När en användare loggar in läses hennes registerdel från %SystemRoot%\Profiles\ användarnamn\ntuser.dat. Nyckeln HKey_Users\.Default finns i %SystemRoot%\Profiles\Default User\NtUser.Dat. Om du ansluter till en annan Windows NT-dator över nätverket kommer du att märka att den senast inloggade användarens registerträd fortfarande är inladdat i Registret på den datorn. HKey_Local_Machine (HKLM) Delträdet HKey_Local_Machine är avgjort det intressantaste i Windows NT. Delträdet HKey_Local_Machine innehåller inställningar för hela datorn, sådana som inte ändrar sig per användare. Det finns fem nycklar (jämför bilden): q Hardware q SAM q Security q Software q System Fyra av nycklarna motsvaras av filer på disk, det är endast Hardware som inte lagras i fil. (Jämför filnamn i mappen %SystemRoot%\System32\Config.) 276

Viktigaste delarna och deras hemvist Hardware Nyckeln Hardware innehåller, som väntat, inställningar för och information om utrustningen i datorn, inbyggd såväl som kringutrustning. På Inteldatorer byggs Hardware av NTDetect.Com vid systemstart, på RISC-datorer finns all information i batteriminne. Det är sällan man behöver ändra någonting i Hardware, särskilt som alla ändringar försvinner vid nästa avslut. SAM (Security Accounts Manager) och Security SAM och Security utgör tillsammans kontodatabasen och inställningar för kontoprinciper. För att kunna studera dessa nycklar måste du ändra behörigheterna till dem eller använda specialkontot System//System (mer om det när vi studerar behörigheter i Registret//Registry senare i kapitlet). Jag vill avråda från att ändra behörigheterna till nycklarna SAM och Security eftersom det inte är alldeles lätt att räkna ut vad de skall vara. Datorn från vilken bilden nedan är tagen fungerar visserligen utmärkt med de nya behörigheterna, men kontodatabasen på den omfattar vanligtvis inte tusentals skarpa användarkonton och grupper. Nycklarna SAM och Security. Som du ser i bilden verkar Security innehålla en pekare till 277

9 Registret//Registry en översikt och en del tips SAM, men jag är inte säker på att det endast är en pekare för om man studerar filerna SAM och Security (i %SystemRoot%\ System32\Config) ser man mycket information som verkar dubblerad. Måhända är det så att alla konton och alla grupper är dubblerade, jag vet faktiskt inte. Software Nyckeln Software innehåller inställningar för programvara på datorn, även inställningar för Windows NT. Här lagras information om installerade program, sådan information som att programmet finns på datorn, i vilken mapp det är installerat och kanske information som behövs för att avinstallera programmet. Det är alltså information som inte är knuten till en viss användare som sparas under HKey_Local_Machine\Software (information för varje användare sparas i HKCU\Software). Några intressanta undernycklar: Microsoft\ Windows\ CurrentVersion\ I denna undernyckel (som är ny för Windows NT 4.0) finner vi inställningar som handlar om Windows i Windows NT. Jag tolkar den som Windows 95/98-delen av Windows NT, alltså sådant som tillkommit med nya skalet och är gemensamt för Windows NT 4.0 och Windows 95/98. En litet skojig nyckel finns här: Microsoft\ Windows\ CurrentVersion\ Run\ Här kan du lägga till egna värden med valfria namn och ange programnamn som innehåll (jämför med värdet SystemTray som redan finns där). Programmen kommer sedan alltid köras när någon loggar in. Att lägga till ett värde här är samma som att lägga till en genväg till programmet i den delade programgruppen Autostart//Startup, med den skillnaden att den inte syns där. En annan intressant nyckel: Microsoft\ Windows NT\ 278

Viktigaste delarna och deras hemvist CurrentVersion\ Under denna finner du inställningar för många delar av Windows NT, ex. alla teckensnitt, alla tidzoner, lista över de profiler (med användarkontots SID) som varit laddade, lista över installerade hotfix-paket m.m. Den kanske intressantaste undernyckeln är: Microsoft\ Windows NT\ CurrentVersion\ WinLogon\ Här finner du ett antal värden som är populära att ändra, ex. LegalNoticeCaption och LegalNoticeText (se vidare nedan). Under Windows NT 3.51 och tidigare fanns det ett värde i denna nyckel vid namn CacheLastController. I den sparades namnet på den domänkontrollant som senast hanterade inloggningen. Tyvärr användes denna information så korkat att Windows NT 3.51 alltid kontaktade samma domänkontrollant, oavsett om nya tillkommit (så länge den var tillgänglig). Följden blev att nya reservdomänkontrollanter inte avlastade befintliga vad gällde Windows NT-datorers inloggning. Tack och lov har detta värde försvunnit i Windows NT 4.0. System De för Windows NT:s drift viktigaste inställningarna återfinns i HKLM\System. Ett bevis för detta utgörs av det faktum att filen System har en tvilling vid namn System.Alt. Vid varje förändring av HKLM\System skrivs ändringarna till båda filerna. Skulle något gå på tok kan Windows NT välja System.Alt vid omstart. Ingen annan av Register-filerna har detta skydd. Dock bokför Windows NT all aktivitet i de andra filerna genom att skriva en journalfil med filtillägget.log. De finns tillsammans med Register-filerna i %SystemRoot%\System32\Config. 279

9 Registret//Registry en översikt och en del tips HKey_Local_Machine\System är mycket viktig för operativsystemet. Vid installation av nya enheter//devices i på datorn kommer Windows NT att spara inställningarna som de såg ut före installationen, för att kunna gå tillbaka till de senast fungerande inställningarna. Windows NT gör detta genom att spara alla inställningar för enheter//devices och tjänster//services i s.k. Control Sets. Upp till fyra olika ControlSet påstås det kunna finnas (jag har aldrig sett fler än tre på en dator), numrerade ControlSet001 ControlSet004. De inställningar som används just nu återfinns alltid i CurrentControlSet. Denna pekar på ett av de ControlSet som finns. Vilket som används framgår av värdet: System\ Select\ Current Information om vilket ControlSet som motsvarar CurrentControlSet finns i HKLM\System\Select En fråga som uppstår är hur Windows NT kan veta om en viss uppsättning inställningar (ControlSet) fungerar eller inte? Det kriterium Microsoft valt är huruvida någon kunnat logga in eller inte. Har någon kunnat logga in efter en förändring anses inställningarna fungera och kan alltså sparas i ett ControlSet. Skall du installera mycket utrustning samtidigt i en server är det viktigt att du tar en enhet i taget och loggar in mellan gångerna. (Det går visserligen att ändra så att inloggning inte blir det 280

Sök i Registret//Registry med RegEdit styrande, men det är enklare att faktiskt logga in, tycker jag.) HKey_Users Trädet HKey_Users innehåller alltid två underträd:.default och den senast inloggade användarens underträd. HKey_Users innehåller alltid två underträd:.default och den senast inloggade användaren. Som du ser i bilden är det SID:en för användarens konto som förekommer i Registret//Registry, inte användarkontots namn. Sök i Registret//Registry med RegEdit När det gäller att söka i Registret//Registry är RegEdit.Exe mycket bättre än RegEdt32.Exe. Sökfunktionen når du genom Sök//Find i menyn Redigera/ /Edit eller snabbkommandot Ctrl+F. I båda fallen visas en dialogruta där du anger att du vill söka efter en sträng (det kan vara en del av en längre sträng) i en eller flera av: q Namn på nycklar q Namn på värden q Innehåll i värden (data) Du kan även ange att RegEdit skall leta tills den finner hela strängen, inte endast en del. 281

9 Registret//Registry en översikt och en del tips Dialogruta för att söka i Registret//Registry. För att fortsätta sökningen trycker på du på knappen Sök nästa//find Next eller F3. Börja söka på rätt ställe Registret//Registry genomsöka alltid uppifrån och ned, sökningen börjar aldrig om från början. Det är med andra ord att du börjar söka på rätt ställe, i rätt huvudträd. Till en början föreslår jag att du helt enkelt markerar den översta nivån, Den här datorn//my Computer, och börjar alla dina sökningar därifrån. För att spara tid kan du hoppa över de två första huvudträden, HKey_Class_Root och HKey_Current_User, de är ju endast pekare till andra delar av Registret//Registry Sökningen fortsätter alltid med nästa huvuträd När du söker i Registret//Registry kommer du snart att märka att RegEdit alltid fortsätter med nästa huvudträd, oavsett hur djupt ned i ett ovanliggande träd du just sökt. Detta är en stor skillnad mot att söka efter filer i ett mappträd. Bilden försöker visa att när en träd är genomsökt fortsätter RegEdit med nästa. 282

Verktyg för att styra inställningar i Registret//Registry Sök alltid i CurrentControlSet aldrig ControlSet001, 002,... Mycken viktig information finns i hklm\system\currentcontrol- Set. När du söker i Registret//Registry kommer RegEdit självklart att söka även i ControlSet001, ControlSet002, men låt den söka vidare tills den hittar information i CurrentControlSet, så slipper du undersöka vilken av de andra som CurrentControlSet pekar på. Verktyg för att styra inställningar i Registret//Registry Det finns ett flertal olika sätt att hantera inställningar i Registret/ /Registry, det finns ett enda officiellt: Kontrollpanelen//Control Panel. I det längsta bör du hålla dig till Kontrollpanelen//Control Panel, den fungerar även de dagar då du inte är på topp. Ändringar i Registret//Registry sker på ett av dessa sätt: q Administratörer ändrar med hjälp av Kontrollpanelen//Control Panel q Program och tjänster som körs hanterar egna inställningar q Administratörer/användare ändrar med hjälp av registereditorerna, RegEdit.Exe/RegEdt32.Exe. q Administratörer/användare ändrar med hjälp av register-filer (.reg-filer) q Administratörer/användare ändrar med hjälp av verktyg i Resource Kit eller andra verktyg Minns skillnaden mellan RegEdit och RegEdt32 vad gäller nätverk: RegEdit kan inte ändra inställningar i Registret//Registry på en annan Windows NT-dator över nätverket. Register-filer,.reg-filer Det finns ett mycket elegant sätt att ändra inställningar, eller lägga till nya, i Registret//Registry. Med hjälp av.reg-filer som innehåller en beskrivning av en del av Registret//Registry kan du ändra många inställningar samtidigt. En annan fördel med.regfiler är att du kan tillverka och testa dem på en annan Windows NT-dator så du vet att de är felfria innan du ändrar något på dina produktionsservrar. 283

9 Registret//Registry en översikt och en del tips Innehållet är.reg är mycket likt.ini-filer i Windows, med ett undantag: de måste märkas i början med ordet RegEdit4. När väl detta är gjort är allt annat likt vanliga.ini-filer, det går t.o.m. att skriva kommentarer efter semikolon, ;. Låt oss se på ett exempel. Nedan kommer du att finna ett sätt att undertrycka utdelning av de dolda diskresurserna på Windows NT-datorer (c$, d$, e$,, admin$). Detta sker genom att lägga till värdet AutoShareWks/AutoShareServer på rätt ställe i Registret//Registry. En.reg-fil för att göra arbetet ser ut så här: REGEDIT4 ; Adds AutoShareWks/AutoShareServer to the Registry and ; sets their value to 0 = Off. ; ; 10 May 1998 Rolf Åberg [HKey_Local_Machine\System\CurrentControlSet\Services\LanmanServer\ Parameters] "AutoShareWks"=dword:0 "AutoShareServer"=dword:0 (Läs mer om dessa värden tidigare i kapitlet.) Det går bra att ange datatyp för värdet. Står det endast ett minustecken, -, efter lika-med-tecknet tas värdet bort från Registret//Registry. När.reg-filen är upprättad behöver du endast dubbelklicka på den för att RegEdit.Exe i bakgrunden skall läsa och tolka dess innehåll, filtillägget.reg är registrerat på RegEdit.Exe. Det går också bra att ange filen som kommandoradsargument till programmet: (RegEdit registerfil.ext. Eftersom det är RegEdit.Exe som sköter inläsningen från.regfiler är vi begränsade till de tre datatyper som RegEdit.Exe kan hantera. Detta ställer till problem när man vill läsa in flerradiga textvärden (Reg_Multi_SZ) och även strängar som skall innehålla miljövariabler (Reg_Expand_SZ). Dessa måste anges som hexvärden och varje bokstav/tecken skrivas som en byte med två hextecken (tack för det ). Datatyp (namn i.reg-fil) Format String Value/Reg_SZ Text inom citattecken: " " (inget namn) 284

Verktyg för att styra inställningar i Registret//Registry Datatyp (namn i.reg-fil) Format DWord Value/Reg_DWord Heltal i hexadecimalt format (dword) Binary Value/Reg_Binary (hex) En följd av byte-värden, skrivna med två hex-tecken. Varje byte (par av hextecken) åtskiljs av kommatecken. Radbyte anges med ett omvänt snedstreck sist på raden Var noga med blandningen av små och stora bokstäver, ibland fungerar det inte som tänkt om det inte står med samma blandning av små och stora bokstäver som angivet (någon gång står det fel i anvisningarna ). Omvända snedstreck, \, i sträng-värden måste dubbleras, om du skriver en sökväg måste alltså alla omvända snedstreck dubbeltecknas. Står det endast två citattecken före lika-med-tecknet (där värdets namn skall stå) hamnar det som står efter lika-med-tecknet som förvalt//default värde för nyckeln i Registret//Registry. Verktyg i Resource Kit för att hantera Registret//Registry Det finns ett flertal verktyg i Microsoft Windows NT Resource Kit för att hantera Registret, de bästa är RegBack/RegRest för att säkerhetskopiera och återlagra säkerhetskopia. Andra verktyg som kan användas för att ändra och läsa i Registret//Registry är REXX, KiXtart och Perl. Läs mer om dem i kapitel 16. Verktyg från andra Två verktyg som jag haft stor nytta av är Registry Monitor for Windows NT från Systems Internals och DumpACL från Somarsoft. Registry Monitor for Windows NT är gratis och kan hämtas från http://www.sysinternals.com, DumpACL kan fritt utvärderas under 30 dagar, http://www.somarsoft.com är dess webb-ställe. 285

9 Registret//Registry en översikt och en del tips Registry Monitor for Windows NT (NTRegMon) Huvudfönstret i Registry Monitor for Windows NT (NTRegMon). Registry Monitor for Windows NT (NTRegMon) fungerar som en bandspelare: den spelar in all hantering (all) av Registret//Registry. Uppgift om vilket program eller tjänst som läser, skriver eller ändrar i Registret//Registry, tillsammans med vad som hanteras och resultatet av denna hantering bokförs. Efter inspelning kan du filtrera eller spara resultatet på fil och läsa i ett annat verktyg. Den kan hjälpa till att ge en god förståelse för hur program och tjänster använder Registret//Registry. Dump Access Control Lists (DumpACL) Huvudfönstret i DumpACL. Med verktyget Dump Access Control Lists, DumpACL, kan du skaffa dig total överblick över alla behörighetslistor. Frank Ramos, som skrivit DumpACL, har givit den kunskap om: 286

Säkerhetskopiera Registret//Registry q Lokal behörighet (NTFS-behörighet) q Behörighet i Registret//Registry q Behörighet för skrivare q Behörighet för delade resurser Dessutom kan DumpACL användas för att visa information om användarkonton, grupper, kontoprinciper, användarrättigheter//user rights och tjänster. Säkerhetskopiera Registret//Registry Windows NT:s eget program för säkerhetskopiering, Backup (NTBackup.Exe), kopierar Registret//Registry om man samtidigt kopierar något annat på samma disk som Registret//Registry finns, oftast c:. Verktyget RegBack.Exe från Resource Kit är ett alldeles utmärkt verktyg för att säkerhetskopiera Registret//Registry. Till skillnad från Windows NT:s eget program, Backup, kan RegBack säkerhetskopiera Registret//Registry till disk. Det finns också en mängd kommersiella program för säkerhetskopiering: CA/Cheyenne ARCserve, Cristie PC-BaX, Legato Networker, Seagate Backup Exec, m.fl. Saker man kan göra genom att ändra i Registret//Registry Flera av tipsen nedan kommer från min kunder, kolleger och från eget rotande i Registret//Registry, många andra finns dokumenterade i en utmärkt artikel i TechNet vid namn Guide to MS Windows NT 4.0 Profiles and Policies. (Du finner den i MS BackOffice and Enterprise Systems/MS BackOffice/MS Windows NT Server/Technical Notes.) Ange kontonamn och lösenord för automatisk inloggning När nyckeln Microsoft\ Windows NT\ CurrentVersion\ WinLogon\ 287

9 Registret//Registry en översikt och en del tips innehåller värdena AutoAdminLogon, DefaultPassword och DefaultUserName med rätt inställningar kommer Windows NT automatiskt logga in med det användarnamn som anges i DefaultUserName och det lösenord som anges i DefaultPassword. Värdet AutoAdminLogon skall vara 1. Samtliga tre är av typen String Value/Reg_SZ. Gissningsvis finns redan DefaultUserName, du måste lägga till AutoAdminLogon och DefaultPassword. Du slår av automatisk inloggning genom att sätta innehållet i AutoAdminLogon till 0 eller genom att helt ta bort detta värde. Håller du ned Skift-knappen när Windows NT går över i grafikläge kommer du att kunna logga in på vanligt sätt. Flytta delade resurser från en server till en annan Genom att exportera nyckeln HKey_Local_Machine\ System\ CurrentControlSet\ Services\ LanmanServer\ Shares\ och dess undernyckel Security kan du flytta all information om utdelade mappar (med behörighetslistor) från en dator till en annan. Du måste själv se till att mapparna finns på den andra datorn. Slå av de automatiska resurserna, C$, Admin$, m.fl. I en miljö där säkerheten sitter i främsta rummet kanske man önskar slå av de automatiskt utdelade resurserna på Windows NTdatorer. Alla Windows NT-datorer delar automatiskt ut rotmappen på alla lokala hårddiskar och den mapp som Windows NT är installerad i för åtkomst av Administratörer//Administrators. Dessa resurser har alltid ett dollartecken som avslutning vilket gör att de inte syns och därför tänker man inte på dem som en säkerhetsrisk. Intressant nog är det olika namn på värdena för Windows NT Workstation och Windows NT Server. Deras plats i Registret//Registry är dock densamma: HKey_Local_Machine\ 288

Saker man kan göra genom att ändra i Registret//Registry System\ CurrentControlSet\ Services\ LanmanServer\ Parameters\ För Windows NT Workstation heter värdet AutoShareWks, för Windows NT Server skall den ha namnet AutoShareServer. Båda är av typen DWord Value/Reg_DWord. Innehållet 0 innebär att de dolda diskresurserna inte delas ut, innehållet 1, eller frånvaron av värdena, medför att de dolda diskresurserna delas ut för åtkomst över nätverket. Tänk på att detta beteende är motsatt hur många andra värden uppför sig. Det är ingen fara att ha båda på en Windows NT-dator, AutoShareWks har ingen verkan på Windows NT Server (och AutoShareServer ingen verkan på Windows NT Workstation). Notera att denna inställning endast gäller diskresurser (c$, d$, e$,, admin$). Resursen för named pipes, ipc$, påverkas inte (denna används av flera program för åtkomst över nätverket, ex. Kontohanteraren för domäner//user Manager for Domains och Serverhanteraren//Server Manager). Ändringar som (kanske) gör filsystemet snabbare Många hoppas finna Windows NT:s huvudkran i Registret//Registry, den kran som man bara behöver öppna helt för att datorn skall bli dubbelt så snabb. Jag tror inte att det finns en sådan kran, men du kanske vill prova ändringarna nedan för att se vilken effekt de får på filhanteringen på dina servrar? Inte upprätta korta filnamn i NTFS Värdet HKey_Local_Machine\ System\ CurrentControlSet\ Control\ FileSystem\ NtfsDisable8dot3NameCreation styr om NTFS skall upprätta korta filnamn (för att kunna stödja klienter som endast kan hantera korta filnamn) eller inte. Datatypen skall vara DWord Value/Reg_DWord. Om den har 289

9 Registret//Registry en översikt och en del tips värdet 0 eller inte finns innebär det att Windows NT upprättar korta (8.3-namn) på NTFS-volymer. Värdet 1 gör att korta filnamn inte tillverkas för filer på NTFS-volymer. Inte hålla reda på tid för senaste hantering av filer Närhelst Windows NT öppnar en fil uppdateras tiden för senast åtkomst. Genom att slå av denna uppdatering kan filsystemet bli något snabbare (försumbart om servern inte hanterar ett stort antal filer). Värdet NtfsDisableLastAccessUpdate i HKey_Local_Machine\ System\ CurrentControlSet\ Control\ FileSystem\ styr detta beteende. Den är av typen DWord Value/Reg_D- Word. Som vanligt, om den inte finns eller dess innehåll är 0 är funktion frånkopplad. Sätts dess innehåll till 1 kopplas den på, d.v.s. Windows NT slutar uppdatera uppgiften om senaste filåtkomst. Göra Windows NT Workstation mer lik en server När Mark Russinovich och Bryce Cogswell undersökte skillnaderna mellan Windows NT Workstation och Windows NT Server upptäckte de att Windows NT Workstation kan göras bättre på olika serveruppgifter genom att ändra i Registret//Registry. Värdena och hklm\ System\ CurrentControlSet\ Control\ Session Manager\ Memory Management\ LargeSystemCache hklm\ System\ CurrentControlSet\ Services\ 290

Skydda Registret//Registry mot förlust genom att kopiera det till andra datorer LanmanServer\ Parameters\ Size motsvarar egenskaperna för tjänsten Server i Windows NT Server. Egenskaperna för tjänsten Server nås genom Egenskaper/ /Properties för Nätverket//Network Neighbourhood (eller Nätverk//Network i Kontrollpanelen//Control Panel). Egenskaper//Properties för tjänsten Server. Tabellen sammanfattar värdenas inställningar: LargeSystemCache Size Motsvarar 0 1 Minimera minnesanvändning/- /Minimize Memory Used 0 2 Balanserad//Balance 1 3 Prioritera fildelning/- /Maximize Throughput for File Sharing 0 3 Prioritera nätverksprogram/- /Maximize Throughput for Network Applications Skydda Registret//Registry mot förlust genom att kopiera det till andra datorer När en Windows NT Server-dator går sönder är det ganska snabbt gjort att installera om Windows NT Server på den (om det skulle behövas). Mindre snabbt är det att installera om alla andra program och tillägg. Det bästa är naturligtvis om du har en säkerhetskopia av hela systemet, både Windows NT Server, med Registret//Registry, och alla installerade program. 291

9 Registret//Registry en översikt och en del tips Ett mycket snabbt sätt att återställa Registret//Registry fås om du säkerhetskopierar Registret//Registry med hjälp av verktyget RegBack.Exe (från Microsoft Windows NT Resource Kit) och sedan kopierar filerna till andra servrar. Du kan låta alla servrar innehålla kopior av Registrets filer från alla andra servrar och automatisera hela förloppet med hjälp av kommandofiler som körs vid ett viss klockslag (när servrarna i övrigt är litet belastade). Behörigheter i Registret//Registry Registret//Registry är ett av de fyra ställen där du kan studera behörigheter och själv ange behörigheter till olika delar. När du installerar Windows NT åsätts olika delar av Registret olika behörighet. De två kanske intressantaste behörighetslistorna finns i HKLM\SAM och HKLM\Security. Vid installation görs behörighetslistan för dem så att administratörer inte får studera innehållet i undernycklar till dem, men får ändra i undernycklar och även upprätta nya undernycklar. Det är nämligen i HKLM\SAM och HKLM\Security som kontodatabasen finns. Gammal är äldst Det är endast RegEdt32.Exe, den gamla registereditorn, du kan använda för att hantera behörighet. Huvudfönstret i RegEdt32.Exe, menyn Säkerhet//Security. Som du ser i bilden påminner innehållet i menyn Säkerhet/ /Security väldigt mycket om motsvarande inställningar för lokal behörighet för mappar och filer. Liksom för lokal behörighet finns det granskning och uppgift om ägandeskap för nycklar i Registret//Registry, utöver behörighet. Det finns dock en stor skillnad mellan behörighet i Registret och lokal behörighet: i Registret kan man endast ange behörighet för hela nycklar, inte för enskilda värden i nycklarna. Det vill säga, behörighet för en viss nyckel i Registret gäller samtliga värden i 292

Behörigheter i Registret//Registry nyckeln. För att fortsätta jämförelsen med lokal behörighet vore det som om man inte kunde ange lokal behörighet för enskilda filer utan endast för mappen som filerna finns i. På detta sätt påminner behörighet i Registret mer om delningsbehörighet än om lokal behörighet. Gruppen Alla//Everyone finns i många behörighetslistor När du studerar behörighetslistor i Registret//Registry kommer du att finna specialgruppen Alla//Everyone på en mängd ställen. Återigen: jag anser att Microsoft använder gruppen Alla//Everyone på alldeles för många ställen och ofta med alltför omfattande privilegier. Om du inte använder Service Pack 3 med Windows NT 4.0 (sec-fix (ett hotfix-paket) med Windows NT 3.51) ges Alla//Everyone sådan behörighet till Registret//Registry att en nätbuse på Internet lätt kan fylla Registret med så mycket skräp att datorn inte alls startar eller startar så långsamt att den blir oanvändbar. De behörighetslistor som finns i Registret//Registry är sådana att jag inte vill ge dig rådet att byta ut Alla//Everyone mot Användare//Users på alla ställen du finner gruppen Alla/ /Everyone. Skulle du göra detta och låta de nya behörighetsinställningarna fortplanta sig genom alla undernycklar kan något oväntat hända (om nu problem är oväntade). Den enda förändring jag tycker du skall göra är att byta ut Alla//Everyone mot Användare//Users för alla huvudträd, på den översta nivån. Var noga med att inte låta de nya behörigheterna fortplanta sig till alla undernycklar. En varning: använd inte verktyget RegSec.Exe från Resource Kit om du har svensk Windows NT (icke-amerikansk Windows NT). RegSec.Exe byter ut gruppen Everyone mot Administrators i behörighetslistorna för huvudnycklarna i Registret. Den använder gruppnamnen exakt som de skrivs, så om Everyone och Administrators inte finns (de heter ju Alla och Administratörer i svensk Windows NT) försvinner behörighetsposterna helt och utan behörighetsposter ingen åtkomst. Rusa nu inte iväg och prova detta, RegSec.Exe varnar inte så fort den startas börjar den arbeta. Alla//Everyone i Registret//Registry När du studerar behörighet i Registret//Registry på en Windows NT-dator kommer du att se gruppen Alla//Everyone i många behörighetslistor. På de allra flesta ställen har Alla//Everyone 293

9 Registret//Registry en översikt och en del tips tilldelats behörigheten Läsa//Read vilket innebär att de kan studera innehållet i Registret//Registry. Några intressanta behörighetsposter finner vi dock. I nyckeln HKey_Local_Machine\Software har Alla//Everyone tilldelats behörighet att upprätta egna undernycklar och tillsammans med behörighetsposten för Skapare ägare//creator Owner innebär detta att den som önskar kan skriva vad som helst till Registret//Registry på din Windows NT-dator. Skulle det hampa sig illa kan detta användas för en s.k. Denial Of Service-attack (Denial Of Service skulle kunna översättas med nedsatt funktion eller något annat det handlar om att datorbusar försöker få din dator att inte längre fungera som tänkt. Du kan tänka på Denial Of Usual Service)). Nu har denna typ av attack redan provats och om du lagt på Service Pack 3 för Windows NT 4.0 har detta problem försvunnit. (Lösningen kom också som ett hotfix-paket efter Service Pack 2.) Microsoft löste problemet genom att införa en ny nyckel i Registret//Registry: HKey_Local_Machine\ System\ CurrentControlSet\ SecurePipeServers\ winreg\ Behörighetslistan till denna nyckel (alltså behörighetslistan i Registret//Registry) styr vilka grupper som kan ansluta till Registret//Registry på datorn. Skulle det inte vara praktiskt för dig att lägga på Service Pack 3 finns det ett enklare sätt att stänga ute dem som inte är användare i domänen (eller annan domän som domänen har en domänkoppling till). Genom att ändra på tilldelningen av användarrättigheten Åtkomst till den här datorn från nätverket//access This Computer from the Network kan endast de som är era egna användare kan komma åt datorerna i domänen. Om ni byter ut gruppen Alla//Everyone mot den globala gruppen Domänanvändare//Domain Users (lokala gruppen Användare//Users i Microsofts modell) i listan över dem som åtnjuter detta privilegium kommer endast de konton som, via medlemskap i en global grupp, är medlemmar i den lokala gruppen Användare//Users att beredas tillträde till datorn. 294

Behörigheter i Registret//Registry Upprätta nyckeln winreg på egen hand Skulle du vilja upprätta nyckeln winreg på egen hand i Registret/ /Registry markerar du nyckeln HKey_Local_Machine\ System\ CurrentControlSet\ SecurePipeServers\ Välj Redigera.Ny nyckel//edit.add Key i RegEdt32.Exe (den gamla det är bara den som förstår behörighetslistor i Registret//Registry) och skriv in namnet winreg (du behöver inte ange någon klass). (Om du inte finner SecurePipeServers kolla först att du är i rätt del av Registret//Registry och lägg sedan till den). Behörighetslistan för winreg är mycket enkel: Administratörer//Administrators: Fullständig behörighet/- /Full Control Nyckeln winreg innehåller ett enda värde och en undernyckel. Värdet har namnet Description, är av type Reg_SZ och du kan ge den värdet Registry Server. Undernyckeln i winreg används för att ge tillstånd att hantera utvalda delar av Registret//Registry. Undernyckeln heter AllowedPaths (tillåtna sökvägar i Registret/ /Registry) och ger möjlighet att hantera värden och undernycklar som finns i dessa sökvägar. Behörighetslistor vid vägs ände, så att säga, styr sedan vad användaren faktiskt kan göra. Nyckeln AllowedPaths innehåller också ett enda värde, med namn Machine, datatyp är Reg_Multi_SZ och dess innehåll sätts, av Microsoft, till: System\CurrentControlSet\Control\ProductOptions<radbrytning> System\CurrentControlSet\Control\Print\Printers<radbrytning> System\CurrentControlSet\Services\Eventlog<radbrytning> Software\Microsoft\Windows NT\CurrentVersion<radbrytning> System\CurrentControlSet\Services\Replicator I detta fall är det bättre att använda RegEdt32.Exe eftersom RegEdit.Exe inte förstår datatypen Reg_Multi_SZ. I RegEdit.Exe visas AllowedPaths som ett binärvärde vilket gör det svårt att ändra. 295

9 Registret//Registry en översikt och en del tips Studera behörigheter för HKLM\SAM och HKLM\Security Installationsprogrammet i Windows NT åsätter följande behörighet för HKLM\SAM: Alla//Everyone Administratörer/- /Administrators System//System Läsa//Read Fullständig behörighet//full Control Fullständig behörighet//full Control Behörighetslista för HKLM\SAM efter installation. Jag gissar att posten för specialgruppen Alla//Everyone finns där enbart för att alla skall kunna studera Registrets innehåll (se att nyckeln SAM finns i HKLM). En nivå under börjar det egentliga Registret och där har endast Administratörer//Administrators och System//System behörighet: Administratörer/- /Administrators System//System Särskild behörighet//special Access Fullständig behörighet//full Control Behörighetslista för HKLM\SAM\SAM efter installation (samma behörighetslista gäller för HKLM\Security). Behörighetslistorna ovan gör att nycklarna HKLM\SAM och HKLM\Security ser något lustiga ut i RegEdt32.Exe, för en 296

Behörigheter i Registret//Registry inloggad medlem av gruppen Administratörer//Administrators: Kanske ser du att HKLM\SAM\SAM och HKLM\Security är grå? HKLM\SAM ser ut som en vanlig nyckel (gul färg i Reg- Edt32.Exe), men både HKLM\SAM\SAM och HKLM\Security är grå. Grå färg i RegEdt32.Exe är en signal att vi inte kommer vidare, ned, i den nyckeln. Låt oss därför studera behörighetsposten för Administratörer//Administrators genom att dubbelklicka på den i behörighetslistan: Behörighet Skriva DAC//Write DAC Läsa//Read Control Innebörd Behörighet att ändra behörighetslistan (Discrete Access Control List) Behörighet att studera både behörighetslistan och uppgift om ägandeskap (här måste sägas att det engelska begreppet är otydligt och att den svenska översättningen lämnar en del övrigt att önska) 297

9 Registret//Registry en översikt och en del tips Den särskilda behörighet som tilldelats Administratörer//Administrators. Administratörer//Administrators har alltså behörighet att studera behörighetslistor och se vem som anges som ägare till en nyckel i HKLM\SAM\SAM och HKLM\Security. (Genom att ändra denna lista kan man se att samma behörighetslista gäller för samtliga nycklar under HKLM\SAM\SAM och HKLM\Security.) En medlem av denna grupp får alltså inte ändra något innehåll, endast behörighetslistan. Nu kanske du ställer dig frågan: om en administratör inte får ändra i Registret där kontodatabasen finns, hur kan hon då upprätta nya konton och grupper? Svaret är: det kan hon inte. All kontohantering sköts av ett ombud, nämligen specialkontot System//System. Specialkontot System//System används alltid för ändringar i kontodatabasen Ägandeskapet av olika nycklar i Registret//Registry har en intressant historia att berätta. Specialkontot System//System anges som ensam ägare av alla de nycklar som upprättas under installation för kontona Administratör//Administrator och Gäst//Guest och de inbyggda lokala och globala grupperna samt specialgrupperna. Vi vet ju att närhelst en medlem av gruppen Administratörer//Administrators upprättar en nyckel anges hela gruppen som ägare och vi vet att specialkontot System är medlem av gruppen Administratörer//Administrators. Förmodligen hamnade Microsoft i ett Moment 22-fall: specialkontot System 298

Behörigheter i Registret//Registry används för att upprätta de inbyggda kontona och grupperna när detta sker finns endast System och inga grupper (själva specialkontot System måste vara hårdkodat så att säkerhetsansvariga delar i Windows NT känner igen det, ex. Security Reference Monitor). En ledtråd som talar för detta är att konton och grupper upprättade efter installation alltid anger Administratörer//Administrators som ägare, även om den som upprättar kontot är med i Kontoansvariga//Account Operators eller Privilegierade användare//power Users. Det är alltså kontot System som används för att verkligen upprätta användarkonton, grupper och alla andra förändringar av kontodatabasen. Dock anges det faktiska kontonamnet i Loggboken//Event Viewer där ser du alltså vilket konto som givit System//System i uppdrag att ändra i kontodatabasen. Använda specialkontot System//System för att studera behörigheter i Registret//Registry Skulle du vilja studera behörigheterna i kontodatabasen (HKLM\SAM\SAM och HKLM\Security) går det utan att först förändra dem. För att göra det använder vi kontot System//System som har Fullständig behörighet//full Control till hela kontodatabasen. Windows NT-tjänsten Schedule (startar jobb/uppdrag en viss tid med kommandot AT) låter vi starta kommandotolken (Cmd.Exe) åt oss. Ett krav är att Windows NT-tjänsten Schedule använder specialkontot System//System, vilket den gör om du inte ändrat dess inställningar. Starta först själv en kommandotolk (du kan också använda WinAT eller Soon från Resource Kit) och ge följande kommando: at hh.mm /interactive cmd.exe /k I stället för hh.mm skriver du hur mycket klockan är om två minuter så att jobbet säkert körs idag. Skulle du få besked att Schedule inte är startad kan du starta den i Kontrollpanelen/ /Control Panel eller genom att skriva net start schedule i kommandotolken. Kontrollera gärna att kommandot lagts i körlistan genom att skriva at och sedan trycka Enter (i kommandotolken). När klockslaget anlänt kommer Windows NT att starta en ny kommandotolk med sitt eget fönster (växeln /interactive till at-kommandot åstadkommer detta). Eftersom tjänsten Schedule 299

9 Registret//Registry en översikt och en del tips använder specialkontot System//System är det detta konto som är inloggat i den nya kommandotolken. Starta nu RegEdt32.Exe genom att skriva RegEdt32 i den nya kommandotolken. RegEdt- 32.Exe är nu startad med specialkontot System//System som användare och du kan fritt studera behörigheter i nycklarna HKLM\SAM\SAM och HKLM\Security. Innan du börjar din resa genom kontodatabasen råder jag dig att ställa in RegEdt32.Exe i skrivskyddat läge, menyvalet Alternativ.Skrivskydd//Options.Read Only Mode. Var mycket noga med hur du avslutar: eftersom du använt en tjänst (Schedule) för att starta kommandotolken kommer dess fönster och alla program du startat från kommandotolken att finnas kvar efter utloggning. Tänk på vad som kan hända om en vanlig användare loggar in efter dig och hittar en massa spännande program startade. Behörighetsinställningar i Registret//Registry I Registret//Registry finns det endast tre sammansatta behörigheter: Läsa//Read, Fullständig behörighet//full Control och Särskild behörighet//special Access. Sammansatt behörighet Läsa//Read Fullständig behörighet/- /Full Control Särskild behörighet/- /Special Access Innebörd Avläsa innehåll i värden, studera undernycklar; få besked om förändringar i nyckeln, undernycklar och värden; studera behörighetslista och ägandeskap Samtliga delbehörigheter Här kan du fritt välja ur listan över delbehörigheter Delbehörigheter (Särskild behörighet//special Access) När jag studerar delbehörigheterna i Registret//Registry får jag alltid en känsla av främlingskap. Det känns som om jag inte hade där att göra. Känslan kommer av den något svårtydda listan över delbehörigheter: Delbehörighet Läsa värde//query Value Innebörd Läsa innehåll i värde 300

Granskning//Auditing av Registret//Registry Ange värde//set Value Ändra innehåll i värde Skapa undernyckel/- Upprätta undernyckel /Create Subkey Räkna upp undernycklar/- Studera undernycklars namn /Enumerate Subkeys Meddela//Notify Öppna en nyckel för att få besked om förändringar i nyckeln, undernycklar och värden (inget besked om nyckeln tas bort) Skapa länk//create Link Upprätta en länk (symbolic link) från en del i Registret till en annan) Ta bort//delete Ta bort en nyckel och dess värden Delbehörighet Innebörd Skriva DAC//Write DAC Behörighet att ändra behörighetslistan (Discrete Access Control List) Skriva ägare//write Owner Behörighet att ta ägandeskap Läsa//Read Control Behörighet att studera både behörighetslistan och uppgift om ägandeskap Du kommer att känna igen flera av dessa delbehörigheter i senare kapitel, när behörighet studeras mer ingående. Granskning//Auditing av Registret//Registry Liksom för mappar och filer i NTFS har du möjlighet att granska vad som händer i Registret//Registry. Återigen är det endast RegEdt32.Exe som kan användas. Du finner inställningar för granskning i menyn Säkerhet//Security, valet Granskning//Auditing. Som vanligt när det gäller granskning hamnar posterna i Windows NT:s händelsejournal och kan studeras med Loggboken//Event Viewer (loggen Säkerhet//Security). 301