Jak używać instreg.exe i instsvc.exe (narzędzia wiersza poleceń do instalacji Firebird na Windows)
Jak używać instreg.exe i instsvc.exe
Autorzy: Oryginał: Alex Peshkov (peshkoff at mail.ru), Poprawione przez: Olivier Mascia (om at tipgroup.com)
UWAGA :: Aby rozwiązać potencjalne problemy z długimi ścieżkami zawierającymi spacje lub specjalne (nie ASCII) znaki, te narzędzia nie przyjmują już RootDirectory jako argumentu wiersza poleceń. Oba pliki binarne muszą być zainstalowane (lub skopiowane) do katalogu /bin poniżej katalogu głównego Firebird.
(Katalog główny == katalog główny, w którym zainstalowane są firebird.conf i security2.fdb.)
Na przykład, jeśli znajdują się w C:\FB20.in, katalog główny zostanie wywnioskowany jako C:\FB20.
INSTREG.EXE
Celem tego narzędzia jest zainstalowanie kluczy rejestru dla Firebird. Ponieważ jego zadaniem jest wywnioskowanie ścieżki RootDirectory jako katalogu bezpośrednio powyżej jego własnej lokalizacji i zapisanie jej w rejestrze jako ścieżki bezwzględnej, instreg.exe musi być zainstalowany w podkatalogu /bin katalogu głównego Firebird (patrz uwaga powyżej).
Klucz rejestru nie jest wymagany do działania silnika; jednak wiele narzędzi innych firm oczekuje jego odczytu, aby działać. Przechowywany klucz to
HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances
i zawiera jedną wartość ciągu: DefaultInstance.
Ta wartość ciągu ‘DefaultInstance’ zawiera pełną ścieżkę (zakończoną ukośnikiem odwrotnym) do katalogu głównego instalacji. Ta konfiguracja jest zbudowana tak, aby zarządzanie nazwanymi wieloma instancjami serwera było możliwe w następnej wersji. Obecnie jedyna instancja otrzymuje zakodowaną na stałe nazwę ‘DefaultInstance’. W rejestrze nie jest przechowywane nic więcej. Wszelkie informacje o wersji lub konfiguracji można znaleźć przez narzędzia innych firm w odpowiednim pliku firebird.conf. Ten plik można zlokalizować dzięki ścieżce głównej przechowywanej w wartości …\Instances\DefaultInstance.
Użycie:
instreg i[nstall]
instreg r[emove]
‘-z’ może być użyte z dowolną inną opcją, wypisuje wersję oprogramowania Firebird jako pierwszą linię wyjścia.
Aby uzyskać krótką pomoc tekstową, wystarczy wywołać instreg.exe bez argumentów.
INSTSVC.EXE
Firebird udostępnia standardową procedurę zarządzania usługą Firebird na platformach WinNT/2000/XP - instsvc.exe.
Komunikaty konsoli
Wyjście komunikatów błędów systemu Windows (jeśli występują) zostało ulepszone, tak aby wymagana transliteracja ciągów ansi do zestawu znaków OEM okna konsoli była wykonywana. Oznacza to, że osoby używające nieangielskiej wersji systemu Windows otrzymają komunikaty błędów systemu Windows w swoim języku z poprawnymi znakami diakrytycznymi i tak dalej.
Funkcje związane z bezpieczeństwem
Opcja ‘-login’ (lub -l) zaimplementowana wcześniej została gruntownie zmieniona i ulepszona. Może być teraz używana do skonfigurowania usługi (usług) do działania pod określonym kontem użytkownika (prawdopodobnie z ograniczonymi uprawnieniami w systemie) zamiast domyślnego “LocalSystem”.
Użycie:
instsvc i[nstall] [ -s[uperserver]* | -c[lassic] | -m[ultithreaded] ]
[ -a[uto]* | -d[emand] ]
[ -g[uardian] ]
[ -l[ogin] username [password] ]
[ -n[ame] instance ]
[ -i[nteractive] ]
instsvc sta[rt] [ -b[oostpriority] ] [ -n[ame] instance ]
instsvc sto[p] [ -n[ame] instance ]
instsvc q[uery]
instsvc r[emove] [ -n[ame] instance ]
To narzędzie powinno być zlokalizowane i uruchamiane z katalogu ‘bin’ instalacji Firebird.
-
‘*’ oznacza wartości domyślne
-
‘-z’ może być użyte z dowolną inną opcją, wypisuje wersję
-
‘username’ odnosi się domyślnie do konta lokalnego na tej maszynie.
-
Użyj formatu ‘domena\nazwa_użytkownika’ lub ‘serwer\nazwa_użytkownika’, jeśli to właściwe.
Przykłady
zakładając, że Firebird jest zainstalowany (skopiowany do swojej lokalizacji instalacyjnej).
Superserver i automatyczne uruchamianie są teraz domyślne.
instsvc i
instsvc install
konfiguruje Superserver jako usługę w trybie automatycznego uruchamiania (uruchamianą przy starcie systemu) pod domyślną tożsamością systemową, nazwaną “LocalSystem”.
instsvc i -g
instsvc install -guardian
jak powyżej, ale najpierw uruchamia usługę Guardian.
Opcje “-demand” (-d) i “-classic” (-c) pozwalają zmienić wartości domyślne, więc klasyczny serwer (zamiast superservera) może być skonfigurowany jako usługa, a każda z usług może być skonfigurowana do uruchamiania na żądanie zamiast przy starcie systemu.
Aby usunąć usługę (usługi)
Usługi muszą być zatrzymane przed ich usunięciem. Można to zautomatyzować za pomocą 3 linii kodu, ale lepiej pozostawić to jak jest dla bezpieczeństwa.
instsvc r
instsvc remove
usuwa definicję usługi. Jeśli Guardian był skonfigurowany, zarówno usługi guardian, jak i serwer zostaną usunięte.
Aby uruchomić i zatrzymać zainstalowane usługi
instsvc sta
instsvc start
uruchamia serwer lub Guardian + serwer, zgodnie z tym, co zostało skonfigurowane przez polecenie install.
instsvc stop
zatrzymuje serwer lub Guardian + serwer, zgodnie z tym, co zostało skonfigurowane przez polecenie install.
Aby uzyskać raport o stanie serwera
To nowe polecenie:
instsvc q
instsvc query
Wypisuje raport dokładnie o tym, co jest skonfigurowane i jak, a także czy usługi działają, czy są zatrzymane.
Aby użyć funkcji bezpiecznego logowania
Opcja “-login” wymaga nazwy użytkownika i hasła:
instsvc i -g -login user pass
To skonfiguruje FB superserver jako automatycznie uruchamiany, z Guardianem, do działania pod tożsamością “user”, którego hasło to pass.
\* Jeśli hasło jest dołączone, hasło nie powinno zaczynać się od ‘-’.
\* Jeśli hasło zostanie pominięte w wierszu poleceń, instsvc poprosi o nie. W takim przypadku hasło będzie maskowane znakiem ‘*’ podczas wpisywania.
Podczas konfigurowania usług jak powyżej, instsvc automatycznie przyznaje uprawnienie systemu operacyjnego Windows o nazwie “Logowanie jako usługa” określonemu użytkownikowi. Jest to wymagane, w przeciwnym razie usługa nie mogłaby zostać uruchomiona. Instsvc nie informuje o tym, chyba że operacja się nie powiedzie.
Aby uwzględnić możliwość, że użytkownik logujący się przez przełącznik -login może być zwykłym użytkownikiem bez uprawnień administratora na maszynie, instsvc dostosowuje domyślny deskryptor zabezpieczeń usług, aby ten użytkownik mógł je uruchamiać/zatrzymywać/wykonywać zapytania.
Jest to konieczne, aby umożliwić Guardianowi (również działającemu jako ten użytkownik) uruchomienie serwera FB. Użytkownik nie będzie mógł odinstalować usług ani zmienić ich konfiguracji.
UWAGA
Instsvc nie TWORZY “użytkownika” na maszynie Windows. To nie byłby dobry pomysł. Administrator może chcieć utworzyć użytkownika jako część maszyny lokalnej lub jako część domeny, a instsvc nie ma szczególnej potrzeby przejmowania odpowiedzialności administratora za tworzenie użytkowników.
Użytkownik musi mieć dostęp do odczytu/zapisu do wszystkich baz danych i pliku firebird.log. Ze względów bezpieczeństwa nie należy przyznawać prawa zapisu do firebird.conf i plików wykonywalnych Firebird.
W systemach Windows NT/2K/XP często dołącza się prefiks domeny lub serwera dla użytkownika zdefiniowanego w domenie lub lokalnie na innym serwerze. W powyższych przykładach “user” może mieć postać:
DOMENA\user lub
SERWER\user
Bez prefiksu użytkownik jest domyślnie użytkownikiem lokalnym na bieżącej maszynie.