Цю сторінку перекладено машинним перекладом. Читайте англійський оригінал. English

Бібліотека IBSurgeon

Як використовувати instreg.exe та instsvc.exe (інструменти командного рядка для встановлення Firebird на Windows)

Як використовувати instreg.exe та instsvc.exe

Автори: Оригінал: Alex Peshkov (peshkoff at mail.ru), Переглянуто: Olivier Mascia (om at tipgroup.com)

ПРИМІТКА :: Щоб вирішити будь-які потенційні проблеми з довгими шляхами, що містять пробіли або спеціальні (не ASCII) символи, ці інструменти більше не приймають RootDirectory як аргумент командного рядка. Обидва виконувані файли повинні бути встановлені (або скопійовані) у каталог /bin під вашим кореневим каталогом Firebird.

(Кореневий каталог == корінь каталогу, де встановлені firebird.conf та security2.fdb.)

Наприклад, якщо вони розташовані в C:\FB20.in, кореневий каталог буде визначено як C:\FB20.

INSTREG.EXE

Призначення цієї утиліти - встановити ключі реєстру для Firebird. Оскільки її завдання полягає в тому, щоб визначити шлях RootDirectory як каталог, розташований безпосередньо над її власним розташуванням, і записати це в реєстр як абсолютний шлях, instreg.exe має бути встановлений у підкаталозі /bin кореневого каталогу Firebird (див. примітку вище).

Ключ реєстру *не* потрібен для роботи рушія; однак багато сторонніх інструментів очікують його зчитування для своєї роботи. Збережений ключ:

HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances

і містить одне строкове значення: DefaultInstance.

Це строкове значення ‘DefaultInstance’ містить повний шлях (з завершальним зворотним слешем) до кореневого каталогу інсталяції. Ця конфігурація створена так, щоб керування іменованими багатоекземплярними серверами було можливим у наступній версії. Наразі єдиний екземпляр отримує жорстко закодоване ім’я ‘DefaultInstance’. Більше нічого в реєстрі не зберігається. Будь-яка інформація про версію або конфігурацію має бути знайдена сторонніми інструментами у відповідному файлі firebird.conf. Цей файл можна знайти завдяки кореневому шляху, збереженому у значенні …\Instances\DefaultInstance.

Використання:

Code
instreg i[nstall]
instreg r[emove]

‘-z’ можна використовувати з будь-якою іншою опцією, виводить версію програмного забезпечення Firebird як перший рядок виводу.

Щоб отримати коротку текстову довідку, просто викличте instreg.exe без аргументів.

INSTSVC.EXE

Firebird надає стандартну процедуру для керування службою Firebird на платформах WinNT/2000/XP - instsvc.exe.

Консольні повідомлення

Вивід повідомлень про помилки Windows (якщо такі є) було покращено, щоб виконувалася необхідна транслітерація ANSI-рядків у OEM-кодування консольного вікна. Це означає, що користувачі неангломовної Windows отримуватимуть системні повідомлення про помилки Windows своєю мовою з правильними наголосами тощо.

Функції, пов’язані з безпекою

Раніше реалізована опція ‘-login’ (або -l) була значно переглянута та покращена. Тепер її можна використовувати для налаштування служби (служб) на запуск під певним обліковим записом користувача (ймовірно, з обмеженими привілеями в системі) замість типового “LocalSystem”.

Використання:

Code
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 ]

Ця утиліта має бути розташована та запущена з каталогу ‘bin’ вашої інсталяції Firebird.

  • ‘*’ позначає значення за замовчуванням

  • ‘-z’ можна використовувати з будь-якою іншою опцією, виводить версію

  • ‘username’ за замовчуванням означає локальний обліковий запис на цьому комп’ютері.

  • Використовуйте формат ‘domain\username’ або ‘server\username’, якщо це доречно.

Приклади

припускаючи, що Firebird встановлено (скопійовано у його встановлене розташування).

Superserver та автозапуск тепер є значеннями за замовчуванням.

Code
instsvc i
instsvc install

налаштовує Superserver як службу в режимі автозапуску (запуск під час завантаження системи) під типовою системною ідентичністю, що називається “LocalSystem”.

Code
instsvc i -g
instsvc install -guardian

як вище, але спочатку запускає службу Guardian.

Опції “-demand” (-d) та “-classic” (-c) дозволяють змінити значення за замовчуванням, тому класичний сервер (замість superserver) може бути налаштований як служба, і будь-яка служба може бути налаштована на запуск за запитом замість запуску під час завантаження системи.

Щоб видалити службу (служби)

Служби мають бути зупинені перед видаленням. Це можна автоматизувати за допомогою 3 рядків коду, але краще залишити як є для безпеки.

Code
instsvc r
instsvc remove

видаляє визначення служби. Якщо Guardian було налаштовано, буде видалено як службу guardian, так і службу сервера.

Щоб запустити та зупинити встановлену службу (служби)

Code
instsvc sta
instsvc start

запускає сервер або Guardian + сервер, відповідно до того, що було налаштовано командою install.

Code
instsvc stop

зупиняє сервер або Guardian + сервер, відповідно до того, що було налаштовано командою install.

Щоб отримати звіт про стан сервера

Це нова команда:

Code
instsvc q
instsvc query

Виводить звіт про те, *що* саме налаштовано та *як*, а також про те, чи запущені служби, чи зупинені.

Щоб використати функцію безпечного входу

Опція “-login” вимагає ім’я користувача та пароль:

Code
instsvc i -g -login user pass

Це налаштує FB superserver як автозапуск, з Guardian, для роботи під ідентичністю “user”, чий пароль - pass.

\* Якщо пароль включено, пароль не повинен починатися з ‘-’.

\* Якщо пароль пропущено в командному рядку, instsvc запросить його. У цьому випадку пароль буде замасковано символом ‘*’ під час введення.

Під час налаштування служб, як описано вище, instsvc автоматично надає привілей операційної системи Windows під назвою “Вхід як служба” вказаному користувачеві. Це обов’язково, інакше службі не буде дозволено запускатися. Instsvc мовчить про це, якщо не станеться збій.

Щоб врахувати можливість того, що користувач, який входить через перемикач -login, може бути звичайним користувачем без прав адміністратора на машині, instsvc коригує типовий дескриптор безпеки служби (служб), щоб цей користувач міг їх запускати/зупиняти/запитувати.

Це необхідно, щоб дозволити Guardian (також запущеному під цим користувачем) запускати сервер FB. Користувач не зможе видалити службу (служби) або змінити їх конфігурацію.

ПРИМІТКА

Instsvc НЕ СТВОРЮЄ “користувача” на машині Windows. Це було б не дуже гарною ідеєю. Адміністратор може захотіти створити користувача як частину локальної машини або як частину домену, і instsvc не має особливої потреби узурпувати відповідальність адміністратора за створення користувачів.

Користувач повинен мати доступ на читання/запис до всіх баз даних і файлу firebird.log. З міркувань безпеки не слід надавати доступ на запис до firebird.conf та виконуваних файлів Firebird.

У Windows NT/2K/XP зазвичай включають префікс домену або сервера для користувача, визначеного в домені або локально на іншому сервері. У наведених вище прикладах “user” може мати форму:

DOMAIN\user або

SERVER\user

Без префікса користувач неявно є локальним користувачем на поточній машині.