19 rozdzial 18 2i5rflcqd4jdzgnd Nieznany

background image

Rozdział 18

Koncepcja Rejestru

Jeżeli zamierzamy poważnie zająć się administrowaniem serwerem
NT , musimy zapoznać się z Rejestrem - tj. przyjrzeć się bliżej jego
pracy i możliwościom modyfikacji.

W rozdziale niniejszym omówimy Rejestr systemu NT , wraz
z odczytywaniem i modyfikacją danych w nim zapisanych, a także
programy w rodzaju: Registry Editor (Edytor Rejestru) i Windows
NT Diagnostics
(Diagnostyka systemu Windows NT ).

Uwaga: Baza danych Rejestru systemu NT obejmuje tysiące pozycji.
Najlepszy opis każdego z

ustawień zawiera pierwsza książka

w pakiecie Windows NT Resource Kit, pt. Windows NT Resource
Guide.

Baza danych Rejestru systemu Windows NT

Windows NT przechowuje całą informację o swojej konfiguracji
w hierarchicznej bazie danych, zwanej Rejestrem (Registry). Rejestr
zawiera informacje o użytkownikach, aplikacjach, sprzęcie oraz
systemie operacyjnym i pełni funkcje analogiczne do plików typu
.INI

, z systemów Windows 3.x. W odniesieniu do nich zapewnia

również bardziej elastyczną ochronę konfiguracji i obsługę wielu
użytkowników.

Efektem niepoprawnych modyfikacji Rejestru będzie niestabilność
systemu operacyjnego lub - w gorszym przypadku - jego całkowita
niezdolność do załadowania się (boot). Chociaż Microsoft publikuje
wiele informacji związanych z obsługą Rejestru, jego modyfikacje
powinny być przeprowadzane tylko przez osoby z odpowiednią
wiedzą i doświadczeniem.

background image

696

Rozdział 18

Ostrzeżenie: Aby wprowadzać zmiany do Rejestru za pomocą
Edytora Rejestru musimy się nim (Edytorem) poprawnie
obsługiwać. Nawet jeśli w pełni rozumie się istotę wprowadzanych
zmian, istnieje możliwość popełnienia błędu wynikającego z faktu,
iż edytor nie kontroluje składni ani poprawności. Dlatego zawsze
powinniśmy mieć mieć na podorędziu aktualny, awaryjny dysk
naprawczy - ERD (Emergency Repair Disk) oraz znać metody
odtworzenia poprzedniej zawartości Rejestru.

Należy też stwierdzić, że odzyskanie prawidłowej zawartości
Rejestru jest znacznie łatwiejsze, niż naprawienie skutków błędnie
wprowadzonych zmian do plików .INI systemów Windows 3.x.
Ponadto, wg wielu opinii, nigdy nie należy wprowadzać zmian
bezpośrednio do Rejestru, gdyż większość z nich można dokonać
innymi, bezpieczniejszymi metodami. Jednak administrator
systemu i sieci musi wiedzieć, jak takie modyfikacje przeprowadzać,
gdyż wiązać się to będzie często z zapewnieniem normalnej jego
pracy.

Uwaga: Wiele osób byłoby zaskoczonych stwierdzeniem, że
w Windows 3.x również znajduje się Rejestr. Jednak odgrywa on
tam znacznie mniejszą rolę, niż to ma miejsce w Windows NT.
Rejestr w Windows 3.x zawiera jedynie informacje o klasach OLE
oraz skojarzenia między rozszerzeniami plików a

programami

użytkowymi.

Rola Rejestru w strukturze systemu

Na etapie założeń projektowych Windows NT uwzględniono
potrzebę skuteczniejszego - w

stosunku do Windows 3.x -

zarządzania konfiguracją. W rezultacie udostępnione zostały takie
funkcje, których nie mogłyby zapewnić pliki typu .INI:

!

Jeden zasób danych o konfiguracji. Jeżeli musieliśmy kiedyś

zarządzać systemem Windows 3.x z zainstalowanymi wieloma
pakietami oprogramowania, z

pewnością znane są nam

problemy z

wyszukiwaniem (skutecznie ukrytych) plików

konfiguracyjnych dla różnych części systemu operacyjnego
i pakietów. Zależnie od aplikacji, informacja mogła się

background image

Koncepcja Rejestru

697

znajdować w SYSTEM.INI, WIN.INI lub we własnym pliku
.INI

aplikacji, przechowywanych w

katalogach

C:\WINDOWS

, C:\WINDOWS\SYSTEM lub nawet we

własnym katalogu aplikacji. Co więcej, dane o konfiguracji dla
danej aplikacji mogły znajdować się nie w jednym, a w kilku
miejscach. Rejestr w

NT jest bazą danych rozwiązującą

radykalnie ten problem - aplikacje rejestrują tutaj ustawienia
konfiguracyjne w jednym miejscu.

!

O bsługa wielu użytkowników w jednym komputerze.

Dysponując tylko plikami .INI trudno jest zapewnić
użytkownikom zindywidualizowane zestawy opcji pracy.
W przypadku danych o konfiguracji, zapisywanych w plikach
typu .INI, wszyscy użytkownicy jednego komputera
zmuszeni byli dane te współdzielić, co miało oczywiście swoje złe
strony. Przyjęta w Windows NT koncepcja ochrony wymaga, by
każdy użytkownik miał przypisany własny (poufny) zestaw
parametrów. Windows NT umożliwia mu to - zarówno dla
funkcji systemu operacyjnego, jak i dla aplikacji.

!

Precyzyjna ochrona ustawień konfiguracyjnych.

W Windows 3.x wiele różnych parametrów konfiguracyjnych
ustawianych było w jednym pliku .INI. Aby zapewnić im
ochronę lub przynajmniej pewien stopień zarządzania
konfiguracją, należy wybrać jedną z dwóch metod: albo poddać
ochronie cały plik .INI (uniemożliwiając użytkownikom
wprowadzanie w nim zmian) lub nie poddawać go ochronie,
dopuszczając dowolne zmiany. Nie ma poza tym żadnego
stopniowania. Natomiast w przypadku Rejestru każdą pozycję
jego bazy danych można poddać ochronie, stosując tzw.
kontrolną listę dostępu - ACL (Access Control List). Zawiera
ona dokładne prawa dostępu do konkretnych wartości Rejestru,
przyznane dowolnemu użytkownikowi lub grupom. Umożliwia
np. administratorowi przyznawanie gościom dostępu z prawem
tylko do odczytu (read-only), a wyższy poziom dostępu -
użytkownikom z domeny.

!

Wielopoziomowa hierarchia. Jedno z ograniczeń plików

typu .INI wynika z faktu, iż umożliwiają one jedynie
hierarchię dwupoziomową. W ramach konkretnego pliku .INI
można podać tylko nazwę sekcji (section name) oraz - wewnątrz

background image

698

Rozdział 18

niej - wskazać pozycje (entries). Nie ma żadnej możliwości
zagnieżdżania sekcji. Np. w pliku SYSTEM.INI znajduje się
sekcja [boot], zawierająca kilka pozycji (shell,
network.drv

, sterowniki itd). System nie pozwalał nam

utworzyć nowej, podporządkowanej sekcji [boot], a jest to
niestety bardzo duże ograniczenie (zwłaszcza biorąc pod uwagę
rosnącą złożoność oprogramowania). Natomiast w Rejestrze
w Windows NT możemy tworzyć sekcje głęboko zagnieżdżone
i - tym samym - wprowadzać większą systematykę w organizacji
danych o konfiguracji.

!

Wprowadzenie wielu typów danych. Wszystkie pozycje

w plikach typu .INI można wpisywać tylko jako tekst
złożony ze standardowych znaków ASCII, istotnie ograniczając
ewentualne typy danych w plikach .INI i, w konsekwencji, ich
użyteczność. W przeciwieństwie do Windows 3.x, Rejestr NT
zezwala na używanie wielu typów danych - także binarnych.
Ponadto informacje można przechowywać tutaj w 16-bitowym
formacie Unicode, (zamiast w 8-bitowym ASCII).

Uwaga: Windows NT obsługuje również pliki typu .INI, zwłaszcza
dla programów nie korzystających z Rejestru. W szczególności
obsługa ta dotyczy 16-bitowych aplikacji Windows, gdyż do użycia
Rejestru niezbędny jest interfejs API Win32. Ponieważ Rejestr jest
też wykorzystywany przez Windows 95, Microsoft narzucił wszystkim
programistom - warunkując uzyskanie logo Windows 95 - obsługę
Rejestru (jako miejsca przechowywania informacji w tworzonych
przez nich aplikacjach).

Struktura Rejestru

Baza danych Rejestru ma format hierarchiczny, z

pięcioma

głównymi poziomami. Zanim przejdziemy do dalszych rozważań,
wyjaśnimy najważniejsze pojęcia:

!

Pozycja główna (Root key). Baza danych Rejestru obejmuje

pięć głównych pozycji. Zawierają one informacje związane albo
z konkretnym użytkownikiem, albo z komputerem. Pozycję
główną można porównać z napędami dyskowymi lokalnego
komputera (tzn. c:, d:, e:, f:).

background image

Koncepcja Rejestru

699

!

Pozycja podrzędna (Subkey). Każda pozycja główna zawiera

jedną lub więcej pozycji podrzędnych. Jeśli potraktować pozycję
główną jak dysk, wtedy pozycja podrzędna byłaby folderem albo
katalogiem. Każda pozycja podrzędna może mieć jedną lub
więcej podporządkowanych jej pozycji podrzędnych -
analogicznie do zagnieżdżonej struktury podkatalogów na dysku
twardym.

!

Wartość pozycji (Value Entry). Kontynuując analogię

z dyskiem, wartość pozycji można traktować jako plik. Pozycje
główne i podrzędne strukturalizują przechowywane informacje,
a wartości pozycji zawierają konkretne dane. Wartość pozycji
składa się trzech elementów: nazwy, typu danej i wartości
(z
ostaną one omówione w dalszej części tekstu).

!

Segregator. Zawiera każdy konkretny zestaw pozycji (razem

z pozycjami podrzędnymi i

wartościami pozycji) zawarty

w Rejestrze. Segregator jest przechowywany w jednym pliku,
w katalogu: %SystemRoot%\system32\config, razem
ze związanym z nim plikiem .LOG.

Uwaga: Terminy segregator Rejestru i pozycja główna Rejestru są
często mylone. Tymczasem różnica jest tutaj wyraźna: pozycje
główne są najwyższego poziomu i składają się z jednego lub kilku
segregatorów.

Pozycje główne w Rejestrze

Jak już wspomniano, Rejestr składa się z pięciu pozycji głównych,
z których każda reprezentuje poddrzewo Rejestru jako takiego.
Każda pozycja główna zawiera pozycje podrzędne i wartości, które
zawierają wszystkie dane o konfiguracji dla systemu NT i jego
użytkowników. T abela 18.1 zawiera opis pięciu pozycji głównych.

Tabela 18.1. Pozycje główne Rejestru

Pozycja główna

O pis

HKEY_LOCAL_MACHINE

Pozycja główna zawierająca najciekawsze
informacje - tzn. dane o sprzęcie (np.
typie procesora, architekturze magistral,

background image

700

Rozdział 18

Pozycja główna

O pis
karcie grafiki i

sprzętowej obsłudze

wejścia/ wyjścia) oraz dotyczące systemu
operacyjnego (np. dane o sterownikach
urządzeń, usługach, ochronie
i zainstalowanym oprogramowaniu).

HKEY_CLASSES_ROOT

Pozycja zbliżona funkcjonalnie do ograni-
czonego rejestru, dostępnego w Windows
3.x. Zawiera ona informacje
o skojarzeniach plików (tzn. skojarzenia
danego rozszerzenia nazwy z aplikacją),
a także działa jako zbiór klas OLE.
Stanowi ona wskaźnik do danych
przechowywanych w pozycji podrzędnej

HKEY_LOCAL_MACHINE\SOFTWARE\
Classes

.

HKEY_CURRENT_USER

Pozycja zawierająca informacje związane
z profilem

użytkownika aktualnie

zalogowanego do konsoli. Zawiera ona
wybrane przez użytkownika opcje
dotyczące systemu operacyjnego oraz
zainstalowanych na tym komputerze
aplikacji. Jest wskaźnikiem do pozycji
podrzędnych, przechowywanych dla
HKEY_USERS

.

HKEY_USERS

Pozycja zawierająca wskaźnik do
segregatora dla użytkownika aktualnie
zalogowanego do komputera z konsoli
oraz wskaźnik do segregatora - dla
użytkownika domyślnego. W

żadnym

z obu przypadków HKEY_USERS nie
zawiera profili dla tych użytkowników,
którzy logują się zdalnie.

HKEY_CURRENT_CONFI
G

Nowa pozycja główna, dodana w Windows
NT 4. Zawiera aktualne dane
o konfiguracji sprzętu, zgodnie z bieżącym
profilem sprzętu. Faktycznie wskazuje

background image

Koncepcja Rejestru

701

Pozycja główna

O pis
ona na te same dane, co pozycja
podrzędna:

HKEY_

LOCAL_MACHINE\SYSTEM\Curren
t
ControlSet\Hardware\Profile
s\Current

.

Uwaga: Zakres funkcjonalności w Windows NT 4 zmienił się dla

HKEY_USERS

. W poprzednich wersjach pozycja ta zawierała

profile dla wszystkich użytkowników, którzy zalogowali się do
komputera z konsoli. Zmiany funkcjonalności tego segregatora są
skutkiem modyfikacji wprowadzonych dla profili użytkowników
w Windows NT, i obecnie jego głównym celem jest zapewnienie
zgodności z tymi programami, które muszą z nim pracować.

Lokalizowanie pozycji w Rejestrze

Kiedy musimy wprowadzić do Rejestru zmianę, musimy znać
ścieżkę do wartości pozycji (tak jak ścieżkę dostępu do zasobu
dyskowego). Ścieżka Rejestru, służąca do lokalizacji zasobu, zawiera
następujące informacje:

!

nazwę pozycji głównej (root key)

!

nazwę kolejnych pozycji podrzędnych

!

nazwę wartości pozycji

Aby np. zlokalizować wartość dla aktualnej maksymalnej wielkości
Rejestru musimy dysponować następującymi informacjami:

!

nazwą pozycji głównej: HKEY_LOCAL_MACHINE

!

nazwami wszystkich pozycji podrzędnych:

SYSTEM

CurrentControlSet

Control

!

nazwą wartości pozycji: RegistrySizeLimit

Ścieżki Rejestru powinniśmy zapisywać następująco:

background image

702

Rozdział 18

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\RegistrySizeLimit

.

Uwaga: Powyższa wartość pozycji może nie istnieć w systemie. Jeśli
nie istnieje, domyślną maksymalną wielkością Rejestru jest 12 MB.
Pozycja ta może występować w komputerach pracujących pod
nadzorem Windows NT 4, w których system operacyjny został
zmodernizowany (upgraded) ze starszych wersji systemu Windows
NT Server. Może też pojawiać się, gdy zmianę maksymalnej
wielkości Rejestru wprowadzono w Systemowym Panelu Sterowania
(System Control Panel).

Znając powyższą ścieżkę możemy odnaleźć wartość pozycji. Dla
każdej wartości pozycji (value entry) określony jest typ danej (data
type
) i wartość (value). Jeżeli wartość pozycji już istnieje - aby
sprawdzić jej typ danej możemy skorzystać z Edytora Rejestru
(Registry Editor). Jeśli jednak chcemy utworzyć nową wartość
pozycji, powinniśmy znać („z góry”) prawidłowy typ danej. Na
przykład typem danej dla RegistrySizeLimit jest
REG_DWORD

, a dopuszczalnym zakresem wartości - przedział od

4MB do 102 MB.

Uwaga: Oto bardzo dobry przykład na to, kiedy nie należy
wprowadzać zmian za pomocą Edytora Rejestru. Granicę wielkości
rejestru (czyli Registry Size Limit) można ustawić w Systemowym
Panelu Sterowania (System Control Panel). W Edytorze Rejestru
można wpisać informację błędną, ponieważ nie przeprowadza on
żadnej weryfikacji nowych wartości. Na szczęście podanie tutaj
wartości zbyt dużej nie spowoduje poważnych problemów, zbyt
mała zostanie zignorowana a system automatycznie przyjmie
minimalną (dopuszczalną - 4 MB). Pamiętajmy jednak, że
w przypadku wielu innych wartości pozycji podanie informacji
nieprawidłowej może być przyczyną awarii systemu operacyjnego.

Wartość pozycji ustawia się często według następującego formatu:

name:data type:value

(nazwa:dana typ:wartość)

background image

Koncepcja Rejestru

703

Na przykład jeśli - do zmiany maksymalnej wielkości Rejestru na
20 MB - korzystamy z apletu

System Control Panel

(Systemowy

Panel Sterowania), pełna informacja dla wartości pozycji
RegistrySize Limit

miałaby postać:

RegistrySizeLimit:REG_DWORD:0x1400000

Uwaga: Edytor Rejestru przy wyświetlaniu liczb stosuje domyślnie
notację szesnastkową, o czym informuje przedrostek 0x w liczbie
0x1400000, równej w notacji dziesiętnej 20 971 520 (czyli 20
megabajtom). Pamiętajmy, że 1 megabajt wynosi 1024 razy 1024.
Edytor Rejestru może wyświetlać liczby w notacji dziesiętnej,
szesnastkowej lub dwójkowej.

Windows NT rozpoznaje pięć typów danych dla wartości pozycji
Rejestru.

Tabela 18.2. Typy danych dla wartości pozycji Rejestru

Nazwa Typu
Danej

O pis

REG_BINARY

Dwójkowy. T ego typu wartość pozycji zawiera
informację w

postaci zrozumiałej dla

komputera. Nigdy nie należy zmieniać
„ręcznie” tego typu informacji. Wiele wartości
pozycji typu REG_BINARY wiąże się
z systemową konfiguracją sprzętu i występuje
w pozycji

podrzędnej:

HKEY_LOCAL_MACHINE\HARDWARE

np.

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\
System\ComponentInformation

:

ComponentInformation:REG_BINARY:
00 00 00 00...

REG_DWORD

Podwójne słowo. Reprezentuje liczby długości
do 4 bajtów (tradycyjnie jedno słowo ma
długość dwóch bajtów). Domyślnie dane tego
typu wyświetla się w notacji szesnastkowej,
chociaż można ją zmienić na dwójkową lub
dziesiętną.

HKEY_LOCAL_MACHINE\SYSTEM\Current

background image

704

Rozdział 18

Nazwa Typu
Danej

O pis

ControlSet\Control\RegistrySizeLimit

używa typu danych

REG_DWORD:

RegistrySizeLimit:REG_DWORD:
0x1400000

REG_SZ

Czytelny tekst. Wartości pozycji tego typu
zawierają tekst w czytelnej postaci; wiążą się
często z opisem lub identyfikacją.

HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\WindowsNT\CurrentVersion\
RegisteredOwner

jest przykładem wartości pozycji, dla której
użyto typu REG_SZ:

RegisteredOwner:REG_SZ:Jan Kowalski

REG_EXPAND_SZ

Rozszerzalny

łańcuch danych. T yp

podobny do poprzedniego, z tym wyjątkiem, że
zawiera zmienną systemową, np:

HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\WindowsNT\CurrentVersion\
DevicePath

jest typu REG_EXPAND_SZ, a zdefiniowano ją
jako:

DevicePath:REG_EXPAND_SZ:%SystemRoot
%\Media

Kiedy pozycji tej użyje jakiś program, nie
otrzyma łańcucha:

%SystemRoot%\Media

,

ale

C:\WINNT

\

Media

(

jeżeli Windows NT

zainstalowano w katalogu C:\WINNT).

REG_MULTI_S
Z

Typ wielołańcuchowy. T ego typu wartość
pozycji zawiera listę wartości, oddzielonych
znakami pustymi (NULL). Na przykład:

HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\EventLog\
Application\Sources

jest typu:

REFG_MULTI_SZ

:

Sources:REG_MULTI_SZ:

WinsCtrs Winlogon Userenv

....

background image

Koncepcja Rejestru

705

Uwaga: Jest jeszcze szósty typ danych, używany w

Rejestrze,

a mianowicie

REG_FULL_RESOURCE_DESCRIPTOR

. Nie

podano go w tabeli 18.2, ponieważ wartości tego typu nie można
tworzyć ani poddawać edycji. Większość z nich występuje w pozycji
podrzędnej

HKEY_LOCAL_MACHINE\HARDWARE

. Na przykład:

HKEY

_

LOCAL_MACHINE\HARDWARE\DESCRIPTION\Syst

em\Configuration

Data

,

którą przedstawia rysunek 18.1 (widok Edytora Rejestru), jest typu

REG_FULL_RESOURCE_DESCRIPTOR

.

Uwaga: Maksymalny rozmiar dowolnej wartości pozycji Rejestru
wynosi 1MB.

Segregatory Rejestru

Segregator (hive) jest oddzielnym zestawem pozycji głównych,
podrzędnych i

wartości pozycji Rejestru. Każdy segregator

przechowywany jest w

oddzielnym pliku, w

katalogu

%

SystemRoot%\ system32\config

-

razem ze związanym

z

nim (segregatorem) plikiem typu .LOG. Rysunek 18.2

przedstawia okno Explorera

dla katalogu

%SystemRoot%\system32\config

oraz segregatory

Rejestru i ich pliki protokołów (log files).

Rys. 18.1. Nie

można zmieniać

istniejących

wartości typu

REG_FULL_

RESOURCE_

DESCRIPTOR

, ani

tworzyć nowych.

background image

706

Rozdział 18

Segregatory Rejestru przedstawiono wraz z ich plikami w tabeli
18.3.

Uwaga: Istnieje wartość pozycji Rejestru (której nie powinno się
zmieniać), wykorzystywana do wskazywania lokalizacji wszystkich
segregatorów Rejestru, a mianowicie:

HKEY_LOCAL_MACHINE\SYSTEM

\CurrentControlSet\Control\hivelis

t

.

Rys. 18.2.
Każdemu
segregatorowi
Rejestru
odpowiada
pewien plik oraz
związany z nim
plik typu

.LOG,

w katalogu

%SystemRoot%\s

ystem32\
config

.

background image

Koncepcja Rejestru

707

Tabela 18.3. Segregatory Rejestru i ich pliki

Segregator Rejestru

Związane pliki

HKEY_LOCAL_MACHINE\SAM

%SystemRoot%\System32\config\SAM

%SystemRoot%\System32\config\SAM.LOG

HKEY_LOCAL_MACHINE\SECURITY

%SystemRoot%\System32\config\SECURITY

%SystemRoot%\System32\config\SECURITY.LOG

HKEY_LOCAL_MACHINE\SOFTWARE

%SystemRoot%\System32\config\SOFTWARE

%SystemRoot%\System32\config\SOFTWARE.LOG

HKEY_LOCAL_MACHINE\SYSTEM

%SystemRoot%\System32\config\SYSTEM

%SystemRoot%\System32\config\SYSTEM.LOG

HKEY_USERS\.DEFAULT

%SystemRoot%\System32\config\DEFAULT

%SystemRoot%\System32\config\DEFAULT.LOG

HKEY_CURRENT_USER

%SystemRoot%\Profiles\%UserName%\NTUSER.DAT

%SystemRoot%\Profiles\%UserName%\NTUSER.LOG

Uwaga:

HKEY_LOCAL_MACHINE\HARDWARE

jest pozycją

dynamiczną, generowaną za każdym razem, gdy Windows NT jest
ładowany przez program identyfikacji sprzętu (

NTDETECT.COM

)

i jądro systemu NT. Chociaż technicznie rzecz ujmując pozycja ta
jest jednym z segregatorów Rejestru, to jednak przechowuje się ją
jako strukturę wewnątrz pamięci operacyjnej systemu, a nie na
dysku. W przypadku awarii żadne cenne dane nie zostaną utracone,
ponieważ pozycja ta jest rekonstruowana za każdym ładowaniem
systemu operacyjnego.

Uwaga: Czasem bardzo trudno jest przypisać pozycje główne
segregatorom Rejestru. Pamiętajmy, że nie wszystkie mają
odpowiadające im segregatory. Wynika to z faktu, iż pozycje
główne:

HKEY_CLASSES_ROOT

,

HKEY_CURRENT_USER

i

HKEY_CURRENT_ CONFIG

wskazują w rzeczywistości na dane

zachowane w innych segregatorach.

Odporność na awarie w plikach protokołów Rejestru

Każdy segregator (hive) Rejestru posiada odpowiadający mu plik
protokołu (zgodnie z

rysunkiem 18.2). Zadaniem plików

background image

708

Rozdział 18

protokołów jest zapewnienie stabilności bazy danych Rejestru -
nawet w sytuacji awarii systemu podczas uaktualniania Rejestru.

Realizując upgrade Rejestru, system NT zapisuje początek procesu
uaktualniania w protokole odpowiedniego segregatora. Proces ten
następnie jest kontynuowany - tzn. zmiana jest zapisywana wraz
z informacją niezbędną do przywrócenia poprzedniego (tj. przed
modyfikacją) stanu. Informacja ta jest zapisywana w protokole dla
każdej, uaktualnianej pozycji Rejestru. Po uaktualnieniu wszystkich
pozycji, zmiana zostaje potwierdzona i zapisana w protokole.
W tym momencie (dopiero w tym) transakcja zostaje zakończona.
Jeśli zanik zasilania lub awaria systemu wystąpi przed zaznaczeniem
transakcji jako zakończonej, to po ponownym załadowaniu
systemu (lub usunięciu awarii), system operacyjny użyje informacji
z pliku protokołu segregatora do przywrócenia bazy stanu
stabilnego.

Uwaga: Wiele osób może opacznie zrozumieć sens powyższego
opisu. Kiedy przeprowadzamy modyfikacje oddziałujące na wiele
pozycji Rejestru, system NT nie zapewni nas, że zostaną one
rzeczywiście wprowadzone. Gwarantuje on jedynie, że albo cała
transakcja zostanie zakończona pomyślnie, albo też w ogóle nie
zostanie wykonana.

Jeśli np. zmodyfikujemy istniejącą pozycję, a zasilanie komputera
zostanie wyłączone w czasie uaktualniania Rejestru, nie otrzymamy
nowej wartości ze starym datownikiem. Jeśli natomiast w trakcie
dodawania kilku użytkowników do listy ACL dla konkretnej wartości
pozycji Rejestru wystąpił zanik zasilania, efektem będzie albo
w ogóle nie uaktualniona lista ACL, albo lista ACL uaktualniona
poprawnie.

Segregator

HKEY_LOCAL_MACHINE\SYSTEM

odgrywa ważną rolę

w procesie ładowania systemu operacyjnego NT i nie można go
pozostawić (w tym czasie) w stanie niestabilnym. Odpowiednią
ochronę zapewnia utrzymywanie przez system NT drugiej
(zapasowej) jego kopii w

pliku o

nazwie:

%SystemRoot%\System32\ config\SYSTEM.ALT

.

Kiedy wprowadzamy zmiany w Rejestrze, dotyczące segregatora

HKEY_LOCAL_MACHINE\SYSTEM

, modyfikacji poddany zostanie

background image

Koncepcja Rejestru

709

najpierw główny segregator systemowy, a następnie segregator
zapasowy. Jeśli w trakcie uaktualniania segregatora zapasowego
zaniknie zasilanie, żadnych zakłóceń nie będzie, a po załadowaniu
system uaktualni segregator zapasowy tak - by stał się on znowu
dokładną kopią głównego segregatora systemowego. Jeżeli jednak
zanik zasilania wystąpi w

trakcie uaktualniania głównego

segregatora systemowego, wtedy przy ponownym ładowaniu system
operacyjny rozpoznaje, że segregator ten jest nieprawidłowy
i kontynuuje ładowanie z użyciem segregatora zapasowego (który
jest starszy niż główny systemowy, ale za to stabilny).

Odzyskiwanie Rejestru z użyciem ostatniej, poprawnej
konfiguracji

Większość niezbędnych do uruchomienia informacji system NT
przechowuje w

pozycji podrzędnej:

HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet

.

Jeśli

wprowadzimy (my albo program realizowany
w systemie) nieprawidłowe korekty do jednej z wartości tej pozycji
podrzędnej, wtedy system może nie załadować się lub - jeśli się
załaduje - uniemożliwi zalogowanie się.

W celu uniknięcia takich problemów NT utrzymuje kopie tej
pozycji podrzędnej w pozycjach:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002

.

Jeżeli Windows NT nie może załadować się po uruchomieniu,
a podejrzewamy, że ma to coś wspólnego z wprowadzoną ostatnio
do Rejestru zmianą lub zainstalowanym urządzeniem, wtedy
możemy zmusić NT do wykorzystania zapasowej wersji ustawień.
W tym celu trzeba nacisnąć - podczas ładowania - klawisz spacji
(pojawia się komunikat: Press spacebar NOW to invoke Last
Known Good Menu). W rezultacie utracone zostaną wszystkie
zmiany, poczynione w Rejestrze od ostatniego (pomyślnego)
zalogowania dowolnego użytkownika w systemie.

Uwaga: Ładowanie systemu operacyjnego uważać możemy za
pomyślnie zakończone, a informację dotyczącą ostatniej znanej
poprawnej konfiguracji jako uaktualnioną - dopiero po
(skutecznym) zalogowaniu użytkownika do konsoli systemu NT.

background image

710

Rozdział 18

Praca z Edytorem Rejestru

Registry Editor (Edytor Rejestru) jest głównym narzędziem,
znajdującym zastosowanie w bezpośredniej pracy z bazą danych
Rejestru. W rzeczywistości (chyba po to, aby życie nie było za
proste) Microsoft wyposażył Windows NT w dwa różne Edytory
Rejestru: REGEDT32.EXE i

REGEDIT.EXE

. Naturalnie

możemy używać obu tych narzędzi, niemniej jednak lepszym
rozwiązaniem w Windows NT będzie REGEDT32.EXE.

REGEDIT.EXE

jest wersją Edytora z Windows 95. Chociaż

cechuje go kilka interesujących właściwości, posiada także istotne -
zwłaszcza w pracy z NT - ograniczenia.

Uwaga: Już systemy Windows NT 3.5 i 3.51 wyposażone były w dwa
Edytory Rejestru. Oferowały one jednak wersję Edytora, znaną
z systemów Windows 3.x. Jednakże w Windows NT 4 wprowadzono
również Edytor Rejestru, znany z Windows 95, który wygląda
bardzo podobnie do wersji NT-owej, i za pomocą którego można
wykonywać większość potrzebnych czynności. W takiej sytuacji
administrator może mieć kłopoty z odczytaniem jego właściwej
wersji .

Co więcej, po modernizacji (upgrade) do Windows NT 4 -
z Windows 3.x, lub z Windows NT 3.x - pozostaje Edytor Rejestru
w

ograniczonej wersji dla Windows 3.x., również o

nazwie

REGEDIT.EXE

. Jeżeli chcemy dysponować Edytorem w wersji 95,

musimy skopiować go z instalacyjnego dysku NT (kopiując do
katalogu

%SystemRoot%

pliki

REGEDIT.EXE

,

REGEDIT.HLP i REGEDIT.CNT)

.

Wskazówka: Zmiany w

bazie danych Rejestru powinniśmy

wprowadzać tylko poprzez

REGEDT32.EXE

. Nie oznacza to, iż

REGEDIT.EXE nie

ma żadnych zastosowań.

Do najważniejszych zalet edytora REGEDIT.EXE zaliczyć
możemy:

!

Większe możliwości wyszukiwania. Program

REGEDIT.EXE

umożliwia wyszukiwanie z wykorzystaniem

background image

Koncepcja Rejestru

711

informacji z pozycji głównej (root key) lub podrzędnej (subkey),
wartości pozycji (value entry) lub nawet danych zawartych
w samej wartości (zgodnie z

rysunkiem 18.3). Znacznie

przewyższa to podstawową obsługę funkcji wyszukiwania
programu

REGEDT32.EXE

, który umożliwia tylko

wyszukiwanie pozycji głównych i

podrzędnych.

REGEDT32.EXE

nie pozwala nam nam na wyszukiwanie

z użyciem wartości pozycji lub samych wartości danych.

!

Kompletny, znany z Windows 95, interfejs użytkownika.

REGEDIT.EXE

wykorzystuje w

pełni interfejs znany

z Windows 95. Umożliwia on przeglądanie wszystkich pozycji
głównych w

jednym oknie (tak jak Explorer) -

w przeciwieństwie do REGEDT32.EXE, z interfejsem w stylu
Windows 3.x, wyświetlającym każdą pozycję główną (root key)
w oddzielnym oknie. Ponadto w programie REGEDIT.EXE
wykorzystuje się prawy klawisz myszy. Prawym klawiszem
myszy możemy kliknąć pozycję podrzędną - aby ją usunąć,
zmienić nazwę i wykonać wiele innych funkcji. Najważniejsze
jednak dla naszej wygody jest to, że kliknięcie pozycji
podrzędnej prawym klawiszem myszy udostępnia opcję

Copy

Key Name

(Kopiowanie nazwy pozycji), zgodnie z rysunkiem

18.4. Ułatwia ona kopiowanie pozycji podrzędnej do innego
miejsca, wykluczając pomyłki w jej zapisie.

Omawiając REGEDIT.EXE nie możemy pominąć jego
ograniczeń:

!

Brak interfejsu ochrony. Program REGEDIT.EXE

zaprojektowano do pracy z Windows 95, w którym nie ma
ochrony Rejestru. Dlatego REGEDIT.EXE nie umożliwia
modyfikacji ani przeglądania ustawień ochrony z Windows NT .
Oznacza to również, że nie można konfigurować nadzorowania
(audit) danych Rejestru.

Rys. 18.3.

REGEDIT.EXE

lepiej obsługuje

funkcję

wyszukiwania niż

REGEDT32.EXE

.

background image

712

Rozdział 18

!

Brak obsługi typów danych REG_MULT_SZ

i REG_EXPAND_ SZ. Windows 95 nie obsługuje typów
danych REG_MULT_SZ i REG_EXPAND_SZ. Innymi słowy,
stosując REGEDIT.EXE do przeglądania wartości pozycji tych
typów, uzyskamy je jako typ REG_SZ. Oczywiście programu
tego nie można używać do tworzenia wartości pozycji typu
REG_MULT_SZ

i REG_ EXPAND_SZ.

!

Tylko podstawowa obsługa drukowania. Wydruki

generowane przez program REGEDIT.EXE można uznać -
w najlepszym razie - za ,,przeglądowe’’. Inną jakość zapewnia
tutaj REGEDT32.EXE.

Utworzenie ikony Edytora Rejestru

Wcześniej wspomnieliśmy, że dla żadnej z wersji Edytora Rejestru
ikona nie jest tworzona domyślnie. Edytor Rejestru w wersji dla
Windows 95 uruchamiany jest zapisem: REGEDIT w polu menu

Start\Run

, a dla Windows NT - REGEDT32.EXE.

Aby utworzyć ikonę widoczną dla wszystkich użytkowników
logujących się do konsoli serwera NT należy:

1. Kliknąć prawym klawiszem myszy przycisk

Start

i wybrać

Open

All Users

(Otwarcie wszystkich użytkowników). Na ekranie

pojawi się okno Explorer-a.

2. Dwukrotnie kliknąć ikonę

Programs

(rysunek 18.5). Pojawi się

następne okno Explorer-a.

Rys. 18.4. W celu
skopiowania
z pełną kontrolą
literowania
i składni pełnej
nazwy pozycji
podrzędnej
( subkey) możemy
się posłużyć
prawym
klawiszem myszy.

background image

Koncepcja Rejestru

713

3. Dwukrotnie kliknąć ikonę

Administrativ e Tools

(Narzędzia do

administrowania). Pojawi się okno Explorer-a z istniejącymi
skrótami (shortcut) dla wielu narzędzi do administrowania
w systemie NT , zgodnie z rysunkiem 18.6.

4. Z menu

File

(Plik) wybrać

New

, a następnie

Shortcut

(skrót).

Pojawi się okno

Create

Shortcut

(Utworzenie skrótu).

5. W polu

Command

Line

(Linia komend) wpisać REGEDT32,

a następnie kliknąć przycisk

Next

(Następny). Operację

kończymy wybraniem

Finish

(Zakończenie).

6. Zamknąć wszystkie okna Explorera.

Rys. 18.5. All Users
zawiera ikonę
Programs, z często
używanymi
pozycjami menu
Start dla
użytkowników
logujących się do
konsoli systemowej.

Rys. 18.6. Folder

Administrative

Tools ( Narzędzia

do

administrowania)

zawiera skróty do

wielu często

używanych

narzędzi systemu

NT.

background image

714

Rozdział 18

Uwaga: Aby utworzyć skrót do Edytora Rejestru w wersji dla
Windows 95, należy powtórzyć powyższą procedurę, w punkcie
piątym wpisując

REGEDIT -

zamiast

REGEDT32

.

Praca z Edytorem Rejestru

T eraz rozumiemy już podstawowe pojęcia związane z Rejestrem
(Registry) i możemy rozpocząć kolejny etap rozważań, poświęcony
jego przeglądaniu i modyfikowaniu za pomocą Edytora Rejestru
(Registry Editor).

Uwaga: W

podrozdziale ograniczyliśmy się do programu

REGEDT32

, ponieważ to za jego pomocą należy Rejestr

redagować.

Otwórzmy edytor REGEDT32, używając skrótu utworzonego
w poprzednim podrozdziale, lub wpisując REGEDT32 - w polu

Start\Run

. Edytor po uruchomieniu wyświetla pięć pozycji

głównych (root key), każdą w

jej własnym oknie, zgodnie

z rysunkiem 18.8.

Rys. 18.7. Skrót

do narzędzia

REGEDT32

w menu

Start.

background image

Koncepcja Rejestru

715

Wskazówka: Jeżeli Rejestr ma być tylko przeglądany, bez
wprowadzania zmian, powinniśmy wybrać - dla zabezpieczenia
przed przypadkowymi zmianami -

Options\Read Only Mode

(Opcje\ Tryb tylko do odczytu).

Rozważmy teraz przykład ilustrujący pracę z Edytorem Rejestru.
Z reguły znajduje on zastosowanie (poza odczytem lokalizacji
różnych składników i elementów systemu) przy korygowaniu
ustawień domyślnych systemu NT - tj. przy ich adaptowaniu do
potrzeb konkretnego środowiska.

Przy każdym drukowaniu w

systemie NT , system domyślnie

generuje pozycje nadzoru (audit) w protokole systemowym (System
Log
), zgodnie z rysunkiem 18.9.

Rys. 18.8. Każda
pozycja główna
( root key)
wyświetlna jest
w jej własnym
oknie.

background image

716

Rozdział 18

W niektórych środowiskach takie działanie systemu może być
uciążliwe i lepiej je wyłączyć. Cóż, nie ma prostego sposobu na
dokonanie tej zmiany, przynajmniej za pomocą zwykłych narzędzi
do administrowania (takich jak Print Manager czy Printer
Wizards). T ak więc szukając jakiejś wskazówki na dysku CD
T echNet Microsoft-u - na temat wyłączenia procedury tworzenia
pozycji nadzoru drukowania (print audit) - znajdujemy artykuł
Q115841, zatytułowany „T urning Off Print Job Logging in the
System Log(Wyłączanie protokołowania zadań drukowania do
protokołu systemowego).

W artykule tym poproszeni zostaniemy o utworzenie nowej
wartości pozycji dla pozycji podrzędnej:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Print\Providers

,

a mianowicie:

EventLog:REG_DWORD:0

Zmianę tę wprowadzimy poniższą procedurą:

Uwaga: Realizacja tej procedury będzie możliwa tylko po
zalogowaniu się do systemu jako użytkownik z lokalnymi prawami
administrowania.

1. Uruchomić Edytor Rejestru.

Rys. 18.9. System

NT generuje

pozycje nadzoru

( audit) po każdym

sfinalizowanym

zadaniu

drukowania.

background image

Koncepcja Rejestru

717

Wskazówka: Zaraz po uruchomieniu edytora

REGEDT32.EXE

,

pozycje główne (root key) zostają wyświetlone każda w swoim
oknie, przy czym okna są ułożone w kaskadę (patrz rys. 18.8).
W celu polepszenia czytelności należy powiększyć (maximize) do
całego ekranu okno

Local Machine

(Lokalny

komputer),

wyświetlające pozycję

HKEY_LOCAL_MACHINE

. Widok okna po

powiększeniu przedstawia rysunek 18.10.

Uwaga: Zdolność do wyświetlania wielu okien dokumentów
w jednym oknie programu, tak jak w przypadku Edytora Rejestru,
nazywa się interfejsem MDI Windows (Multiple Document
Interface).

2. W strukturze drzewiastej Rejestru odszukać wartość pozycji

(value entry), podaną w artykule T echNet. Podwójnie kliknąć

SYSTEM

,

znajdujący się po lewej stronie pozycji

HKEY_LOCAL_MACHINE,

wyświetlanej w

oknie

Local

Machine

(Lokalny komputer). Drzewo należy dalej

przeszukiwać w opisany sposób, aż do znalezienia pozycji
podrzędnej (subkey):

HKEY_LOCAL_MACHINE\SYSTEM\

CurrentControlSet\Control\Print\Providers

(zgodnie

z rysunkiem 18.11).

3. Upewnić się, czy pozycja

Prov iders

po lewej stronie okna

została wybrana. Jeśli tak - pojawi się kilka wartości pozycji

Rys. 18.10. Okno
z pozycją główną,
powiększone dla
lepszej
czytelności.

background image

718

Rozdział 18

(entry value) po prawej stronie okna, wraz z szukaną EventLog
(protokół zdarzeń).

4. Nie należy się przejmować tym, że wartość pozycji EventLog

już istnieje, chociaż w

artykule z

bazy wiedzy T echNet

stwierdzono, że należy ją utworzyć. W artykułach tych często
można znaleźć informacje o systemie nie do końca zgodne ze
stanem faktycznym. Poza tym, po dokładniejszym przyjrzeniu
się temu artykułowi stwierdzimy, że jest on nieaktualny
i dotyczy wersji systemu NT w wersji 3.1 (kopia autora nosi datę
19 września 1994). W ten sposób ujawniamy dobitnie praktykę
firmy Microsoft, polegającą na ciągłym aktualizowaniu
domyślnych ustawień Rejestru. Chociaż wspomniany artykuł
istotnie się zdeaktualizował, czynności w nim opisane wciąż
prowadzą do pożądanego efektu.

Uwaga: Microsoft ciągle zmienia domyślne ustawienia wartości
w Rejestrze. Niemniej jednak, jeżeli rozumieć będziemy istotę zmian,
wtedy łatwo ustalimy kolejność czynności przy ich wprowadzaniu
do Rejestru.

5. Proponujemy, w ramach ćwiczeń, by Czytelnik usunął istniejącą

wartość pozycji (value entry) i odtworzył ją ponownie. Po
pierwsze należy zanotować aktualną wartość pozycji EventLog
(najprawdopodobniej wynosi ona 0x1f lub 31 w

notacji

dziesiętnej). Należy też zanotować jej typ, tzn. REG_DWORD.

Rys. 18.11.

Lokalizacja

pozycji

podrzędnej

( subkey)

HKEY_LOCAL_

MACHINE\SYSTE
M\CurrentContro

lSet\

Control\Print\

Providers.

background image

Koncepcja Rejestru

719

6. Kliknąć pozycję

Ev entLog

(protokół zdarzeń), po prawej

stronie okna oraz wybrać

Edit\Delete

lub nacisnąć klawisz

DELET E. Pojawi się komunikat z ostrzeżeniem, że wartość
pozycji zostanie usunięta.

7. Kliknąć

Yes

. Wartość pozycji zniknie z listy po prawej stronie.

8. A teraz proponujemy utworzyć nową wartość pozycji. Najpierw

należy się upewnić, że pozycja podrzędna (subkey)

Prov iders

jest ciągle podświetlona po lewej stronie okna, a następnie
wybrać

Edit\Add Value

(Edycja\Dodanie wartości). Pojawi się

okno dialogowe

Add Value

, zgodnie z rysunkiem 18.12.

9. W polu

Value

Name

(Nazwa wartości) wpisać EventLog.

10. Przejrzeć listę

Data Type

(T yp danej). Widać, że dla wartości

pozycji można wybrać jeden z pięciu typów danych (tabela
18.2). Należy wybrać typ REG_DWORD, zgodnie ze
wskazówkami zawartymi w artykule. Rysunek 18.13 ilustruje
okno dialogowe

Add

Value

z wpisaną informacją.

11. Kliknąć

OK

. Pojawi się okno dialogowe

DWORD

Editor

(EdytorDWORD), zgodnie z rysunkiem 18.14. Dane można
wpisać w notacji szesnastkowej, dziesiętnej lub dwójkowej.

Rys. 18.12. Okno
dialogowe Add
Value
wykorzystywane
jest do
podawania nazwy
wartości pozycji
( value entry)
i typu danej - dla
nowej wartości
pozycji.

Rys. 18.13.
W pisanie nazwy
wartości i typu
danej według
artykułu z bazy
wiedzy TechNet

background image

720

Rozdział 18

Ostrzeżenie: Okno DWORD Editor przyjmuje domyślnie notację
szesnastkową.

12. Wpisać 0 (zero) w polu

Data

(Dane), zgodnie ze wskazówkami

artykułu T echNet, i kliknąć

OK

.

Wartość pozycji (value entry) EventLog - czyli 0 - powinna się
teraz pojawić dla pozycji podrzędnej (subkey): HKEY_LOCAL_
MACHINE\SYSTEM\CurrentControlSet\Control\
Print\Providers (

zgodnie z rysunkiem 18.15).

Przekonajmy się teraz, przeładowując system, czy artykuł zawiera
aktualne informacje (skutek modyfikacji nie może być
natychmiastowy, ponieważ większość składników systemu
odczytuje ustawienia konfiguracyjne z Rejestru tylko przy starcie).
Wystarczy też zatrzymać i ponownie uruchomić spooler (program
wpisujący do kolejki) drukarki, bo to właśnie on generował dane do
protokołu zdarzeń. W linii komend należy wpisać komendę : net
stop spooler

, a następnie: net start spooler.

Rysunek 18.14

W oknie

dialogowym

DW ORD Editor

wpisujemy

czterobajtowe

wartości typu

DW ORD.

Rys. 18.15. Nowo

utworzona

pozycja EventLog

pojawia się po
prawej stronie

okna.

background image

Koncepcja Rejestru

721

Otwórzmy teraz jeden z

edytorów (WordPad lub NotePad),

wpiszmy kilka znaków i wydrukujmy tak utworzony dokument.
Sprawdzimy następnie, po otworzeniu Przeglądarki zdarzeń
i wyświetleniu protokołu systemowego (System Log), czy zawiera
on jakąś pozycję dla wysłanego właśnie zadania drukowania? Nie
powinien. A teraz przywróćmy stare ustawienie wartości pozycji

Ev entLog

- aby skontrolować, czy nadzorowanie zadań drukowania

zostało przywrócone. W tym celu powinniśmy:

1. Otworzyć edytor REGEDT32 (jeśli został zamknięty)

i odnaleźć wartość pozycji

Ev entLog

.

2. Podwójnie kliknąć wartość pozycji (value entry)

Ev entLog

.

Pojawi się okno

DWORD Editor

. Pole

Data

(Dane) powinno

zawierać wartość 0. T rzeba ją zmienić na 1f (tj. 31 w notacji
dziesiętnej), zgodnie z rysunkiem 18.16.

3. Kliknąć

OK

. Po prawej stronie okna Edytora Rejestru powinien

pojawić się zapis:

EventLog:REG_DWORD:0x1f

Sprawdźmy jeszcze, czy powyższe czynności spowodowały
przywrócenie nadzorowania zadań drukowania. W

tym celu

wpisujemy w linii komend: net stop spooler, a następnie:
net start spooler

.

Otwórzmy ponownie jeden z edytorów (WordPad lub NotePad),
wpiszmy kilka znaków i wydrukujmy taki dokument. Następnie
ponownie otwórzmy Przeglądarkę zdarzeń (Event Viewer)
i obejrzyjmy protokół systemowy (System Log). Jeśli nie
zamknęliśmy przedtem Przeglądarki, ekran zostanie uaktualniony
po naciśnięciu klawisza F5. Czy dla wysłanego zadania drukowania
została utworzona pozycja nadzoru zadania drukowania? Powinna -
zgodnie z rysunkiem 18.17.

Rys. 18.16.
Przywrócenie
starej wartości
pozycji EventLog,
tzn. ( w notacji
szesnastkowej) 1f.

background image

722

Rozdział 18

Wyszukiwanie informacji w Rejestrze

Znając już podstawowe zasady pracy z Edytorem Rejestru, możemy
przejść do trudniejszych zagadnień. Rejestr jest dużą i złożoną bazą
danych. Wyszukanie żądanej informacji nie zawsze jest łatwe,
zwłaszcza jeśli nie wie się dokładnie, gdzie jej szukać.

Na szczęście edytor REGEDT32 udostępnia, choć prymitywną,
funkcję wyszukiwania.

Uwaga: W przypadku wyszukiwania wartości pozycji (value entry),
dla której nie znamy żadnych rodzicielskich pozycji podrzędnych
(subkey), albo wyszukiwania wartości pozycji, dla której znana jest
tylko jej wartość danych, należy użyć edytora

REGEDIT

(tzn. wersji

dla Windows 95), ze znacznie bardziej rozbudowaną opcją
wyszukiwania.

W poprzednim przykładzie należało wyszukać pozycję podrzędną
(subkey):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\Print\Providers

. Zamiast przeszukiwać

strukturę wielu pozycji podrzędnych wystarczyłoby wówczas
skorzystać z

opcji

View \Find Key

(Przeglądanie\Wyszukanie

pozycji).

Po wybraniu

View \Find Key

pojawi się okno dialogowe

Find

(Wyszukiwanie) (rysunek 18.18).

Rys. 18.17.

Ustawienie

wartości pozycji

EventLog na 0x1f

nakazuje

spoolerowi

drukarki

generowanie

pozycji nadzoru

drukowania.

background image

Koncepcja Rejestru

723

Wskazówka: Komenda wyszukiwania korzysta z

aktualnej

lokalizacji w bazie danych Rejestru. Przeszuka ona tylko aktualnie
wybraną pozycję główną (root key) i to tylko od punktu wybranego
(po lewej stronie okna) z tą pozycją. Przeszukanie całej pozycji
głównej będzie możliwe po przewinięciu zawartości okna do góry
i wybraniu nazwy pozycji głównej - np.

HKEY_LOCAL_MACHINE

.

T ak więc, aby wyszukać pozycję podrzędną:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Print\Providers

,

można wybrać

View \Find Key

i wpisać -

w polu

Find w hat

(Co wyszukać) - Providers. Przeszukiwanie

przyspieszy wybranie opcji

Match w hole w ord

only

(wyszukiwanie tylko całych słów). Jeśli nie znamy dokładnej nazwy
pozycji podrzędnej, możemy wpisać jej fragment. Wówczas jednak
nie należy wybierać opcji

Match w hole w ord only

. T eraz należy

kliknąć przycisk

Find Next

(Wyszukanie następnej). Jeżeli

przeszukiwanie rozpoczęto od pozycji głównej:
HKEY_LOCAL_MACHINE

, to końcowym efektem będzie:

HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Windows\Current\Version\Telephony
\ Providers -

niestety, nie jest to dokładnie to, czegośmy

szukali. Znów więc kliknijmy

Find

Next

; tym razem otrzymamy

oczekiwaną pozycję podrzędną (zgodnie z rysunkiem 18.19).

Rys.
18.18.Pozycję
podrzędną można
wyszukać
posługując się
pełną nazwą lub
jej fragmentem.

Rys. 18.19. Opcji
Find można użyć
do szybkiego
wyszukania
pozycji
podrzędnej
( subkey).

background image

724

Rozdział 18

Ochrona i nadzór danych w Rejestrze

W ramach systemu ochrony Windows NT można, w sposób
selektywny, sterować dostępem do konkretnych wartości pozycji
w Rejestrze (Registry).

Uwaga: Do tworzenia i edycji ustawień ochrony Rejestru trzeba
używać

REGEDT32

. Edytor

REGEDIT

dla Windows 95 nie

obsługuje systemu ochrony Windows NT.

Ochrona pozycji głównych, pozycji podrzędnych i wartości pozycji
Rejestru jest udostępniona niezależnie od systemu plików,
stosowanego do przechowywania bazy danych Rejestru.

Uwaga: Ochronę można zapewnić danym Rejestru nawet wówczas,
gdy jego pliki znajdują się w partycji FAT.

Ostrzeżenie: Jeżeli pliki systemu NT znajdują się w partycji FAT,
dowolny z nich może być usunięty przez każdego, kto zaloguje się
do konsoli systemowej. W szczególności, chociaż nie można
zmodyfikować ani usunąć poszczególnych pozycji Rejestru, istnieje
możliwość usunięcia całych jego segregatorów.

Przydzielanie zezwoleń z użyciem Edytora Rejestru ma przebieg
podobny do analogicznej operacji w programach Menedżer plików
lub Explorer. Aby wyświetlić zezwolenia dla pozycji podrzędnej
należy:

1. Uruchomić Edytor Rejestru (REGEDT32.EXE).

2. Wybrać

Window s\ HKEY_LOCAL_MACHINE

- w

oknie

Local Machine

(Lokalny komputer), aby okno pozycji głównej

HKEY_LOCAL_MACHINE

pojawiło się na pierwszym planie.

3. Kliknąć pozycję podrzędną

SOFTWARE

(zgodnie z rysunkiem

18.20).

background image

Koncepcja Rejestru

725

4. Wybrać

Security\ Permissions

(Ochrona\Zezwolenia). Pojawi

się okno

Registry Key Permissions

(Zezwolenia dla pozycji

Rejestru), które ilustruje rysunek 18.21. Dla każdego
użytkownika lub grupy z listy

ACL

, zezwolenia można ustawić na

Read

(odczyt),

Full

Control

(pełna kontrola) lub

Special

Access

(specjalny dostęp). (Zezwolenia z zestawu Special

Access przedstawia rysunek 18.22).

Uwaga: Zezwolenia można ustawiać jedynie dla pozycji głównych
i podrzędnych Rejestru. W odniesieniu do poszczególnych wartości
pozycji możliwości takiej nie ma.

Rys. 18.20.

W ybranie pozycji

podrzędnej

SOFTWARE

.

Rys. 18.21. Okno
Registry Key
Permissions jest
podobne do okien
narzędzi File
Manager-a i NT
Explorer-a,
służących do
ustawiania
zezwoleń ochrony.

background image

726

Rozdział 18

5. Aby wprowadzić użytkowników lub grupy do listy

ACL

korzystamy z funkcji

Add

(Dodanie); istniejące pozycje kontroli

dostępu - ACE (Existing Control Entries) - w skrócie pozycje
ACE - usuwamy z

listy za pomocą przycisku

Remov e

(Usunięcie).

6.

Jeżeli zmiany mają zostać wprowadzone dla pozostałych pozycji
w poddrzewie Rejestru, powinniśmy wybrać opcję

Replace

Permission on Existing Subkeys

.

Ostrzeżenie: Wprowadzenie zmian do zezwoleń ochrony dla pozycji
podrzędnych (subkey) Rejestru może spowodować awarię systemu
lub inne nieprzewidziane problemy.

7. Kliknąć

OK

po przeprowadzeniu wszystkich żądanych zmian.

Dla pozycji podrzędnych w

Rejestrze można ustawić jeden

z dziesięciu precyzyjnych poziomów specjalnego dostępu (Special
Access).

Tabela 18.4. Zezwolenia specjalnego dostępu (Special Access) do

ochrony Rejestru.

Zezwolenie

O pis

Query Value

Użytkownik (lub grupa) może odczytać
ustawienie wartości pozycji (value entry) dla
pozycji podrzędnej (subkey).

Set Value

Użytkownik (lub grupa) może ustawić
wartość pozycji (value entry) dla pozycji

Rys. 18.22.
Korzystając
z ustawień
Special Access
możemy
precyzyjnie
sterować
zezwoleniami

background image

Koncepcja Rejestru

727

Zezwolenie

O pis
podrzędnej (subkey).

Create Subkey

Użytkownik (lub grupa) może utworzyć
nową pozycję_podrzędną (subkey) dla
aktualnie wybranej w

Rejestrze

pozycji_podrzędnej (subkey).

Enumerate Subkeys

Użytkownik (lub grupa) może poddać
identyfikacji wszystkie pozycje podrzędne
(subkey) dla aktualnie wybranej pozycji
podrzędnej (subkey).

Notify

Użytkownik (lub grupa) może odbierać
zawiadomienia nadzoru (audit notification),
generowane z poziomu aktualnej pozycji
podrzędnej (subkey).

Create Link

Użytkownik (lub grupa) może utworzyć
dowiązanie symboliczne (symbolic link) do
wybranej pozycji podrzędnej (subkey).

Delete

Użytkownik (lub grupa) może usunąć
wybraną pozycję podrzędną (subkey).

Write DAC

Użytkownik (lub grupa) może
zmodyfikować listę precyzyjnej kontroli
dostępu
- DAC (Discretionary Access
Control
) dla wybranej pozycji podrzędnej
(subkey).

Write Owner

Użytkownik (lub grupa) może stać się
właścicielem wybranej pozycji podrzędnej
(subkey).

Read Control

Użytkownik (lub grupa) może odczytać
dane ochrony związane z wybraną pozycją
podrzędną (subkey).

Nadzorowanie pozycji Rejestru

Edytor Rejestru, a

dokładniej program REGEDT32.EXE,

umożliwia również kojarzenie nadzorowania z pewnymi pozycjami

background image

728

Rozdział 18

podrzędnymi (subkey). Procedura jest tutaj podobna do aktywacji
nadzorowania partycji NT FS - za pomocą File Manager-a lub NT
Explorer-a.

Uwaga: Nadzorowanie pozycji podrzędnych (subkey) Rejestru
wymaga nadzorowania dostępu do obiektów i plików (File and
Object Access), zgodnie ze strategią nadzorowania w Menedżerze
użytkowników dla Domen (User Manager for Domains).

Posługując się Edytorem Rejestru do wyboru pozycji podrzędnej,
możemy - do określenia nadzoru dla tej pozycji podrzędnej -
wybrać opcję

Security\Auditing

. Pojawi się okno

Registry Key

Auditing

(Nadzorowanie pozycji Rejestru), zgodnie z rysunkiem

18.23.

Wybierając opcję

Audit Permission on Existing

Subkeys

(Zezwolenia nadzoru dla istniejącej pozycji podrzędnej), właściwości
nadzoru podane w tym oknie zostaną również ustawione dla
wszystkich pozycji podrzędnych, rozpoczynających się od wybranej
pozycji podrzędnej.

Opcja

Add

(Dodanie) znajduje zastosowanie przy wyznaczaniu

użytkowników i grup z bazy danych kont lokalnej domeny lub
z dowolnych domen upoważnionych (trusted domain). Po dodaniu
wszystkich użytkowników i grup do nadzoru w liście, można -

Rys. 18.23. Okno

Registry Key

Auditing

wykorzystywane

jest do określania

nadzoru dla

wybranej pozycji

podrzędnej.

background image

Koncepcja Rejestru

729

klikając konkretną pozycję lub zaznaczając zdarzenia na liście
znaczników (zgodnie z rysunkiem 18.24) - określić zdarzenia do
nadzorowania dla każdego użytkownika lub grupy.

Ostrzeżenie: W przypadku niektórych aplikacji dostęp do Rejestru
realizowany jest bardzo często. Nadzorowanie odpowiadających
temu pozycji podrzędnych mogłoby spowodować dodatkowe,
istotne obciążenie systemu redukujące jego wydajność (pomijając
już fakt szybkiego zapełnienia Protokołu ochrony (Security Log)).

Zdalna praca z Edytorem Rejestru

Jedną z największych zalet Edytora Rejestru, a zarazem całego
systemu Windows NT , stanowi możliwość uzyskania zdalnego
dostępu do bazy danych Rejestru i jej zdalnej edycji. Pracując
z

Edytorem (tj. Programem REGEDT32.EXE), z

komputera

działającego w NT możemy połączyć się z innym, odległym
systemem Windows NT .

W edytorze REGEDT32.EXE należy w tym celu wybrać opcję

Registry\Select Computer

(Rejestr\Wybór komputera). Pojawi się

okno przeglądowe, w którym możemy wybrać komputer zdalny (tj.
taki, którego Rejestr ma być przejrzany) lub wpisać - w polu

Computer

- nazwę komputera.

Rys. 18.24. Przy

użyciu tych opcji,

dla każdego

użytkownika

systemu zostaną

wygenerowane

zdarzenia

nadzoru, gdy

uzyska on dostęp

do pozycji

podrzędnej:

HKEY_LOCAL_

MACHINE\

SYSTEM

.

background image

730

Rozdział 18

Po wykonaniu tych czynności jesteśmy połączeni z pozycjami
głównymi (root key) komputera zdalnego, tzn. z: HKEY_LOCAL_
MACHINE i HKEY_USERS

.

Uwaga: Pamiętajmy, że inne pozycje główne (root key) są tylko
dowiązaniami (link) do innych pozycji podrzędnych (subkey),
należących do pozycji głównej:

HKEY_LOCAL_MACHINE

, albo

HKEY_USERS

.

Po zakończeniu przeglądania lub modyfikowania Rejestru zdalnego
komputera powinniśmy wybrać opcję

Registry\Close

(Rejestr\

Zamknięcie) - w celu zamknięcia sesji na odległym systemie
Windows NT .

Uwaga: Gdy łączymy się z

Rejestrem zdalnego systemu NT,

przyznaje się nam zezwolenie- zgodnie z

naszym kontem

użytkownika i przywilejami, jakie temu kontu przyznano w tym
systemie odległym.


Wyszukiwarka

Podobne podstrony:
19 rozdzial 18 CP7M6AGYJMXCNAAP Nieznany (2)
18 rozdzial 17 obddadd7lgo54zmd Nieznany (2)
18 rozdzial 17 UXCTXEQZKIEB67R3 Nieznany (2)
18 rozdzial 17 vmtc3jege7kyyouu Nieznany (2)
Dom Nocy 09 Przeznaczona rozdział 18 19 TŁUMACZENIE OFICJALNE
Droga Dziewiątego Rozdział 18, 19 ,20
rozdział 18 19
05 rozdzial 04 nzig3du5fdy5tkt5 Nieznany (2)
28 rozdzial 27 vmxgkzibmm3xcof4 Nieznany (2)
19 DONAJ,KUCENKOid 18268 Nieznany
2011 09 19 Wyzsza Szkola Policj Nieznany (2)
newsletter 19 06 id 317919 Nieznany
22 Rozdzial 21 KP4Q5YBIEV5DBSVC Nieznany (2)
09 08 Rozdzielnice budowlane RB Nieznany (2)
17 rozdzial 16 fq3zy7m2bu2oan6t Nieznany (2)
Kanicki Systemy Rozdzial 10 id Nieznany
29 rozdzial 28 ciw47mwstcqakqpq Nieznany

więcej podobnych podstron