Come usare instreg.exe e instsvc.exe (strumenti da riga di comando per l'installazione di Firebird su Windows)
Come usare instreg.exe e instsvc.exe
Autori: Originale: Alex Peshkov (peshkoff at mail.ru), Revisionato da: Olivier Mascia (om at tipgroup.com)
NOTA :: Per risolvere eventuali problemi con percorsi lunghi contenenti spazi o caratteri speciali (non ascii), questi strumenti non accettano più la RootDirectory come argomento da riga di comando. Entrambi i binari devono essere installati (o copiati) nella directory /bin sotto la directory root di Firebird.
(Directory root == directory radice dove sono installati firebird.conf e security2.fdb.)
Ad esempio, se si trovano in C:\FB20.in, la directory root verrà dedotta come C:\FB20.
INSTREG.EXE
Lo scopo di questa utility è installare le chiavi di registro per Firebird. Poiché il suo compito è dedurre il percorso della RootDirectory come la directory immediatamente superiore alla propria posizione e scriverlo nel Registro come percorso assoluto, instreg.exe deve essere installato nella sottodirectory /bin della directory root di Firebird (vedere la nota sopra).
La chiave di registro *non* è richiesta per il funzionamento del motore; tuttavia, molti strumenti di terze parti si aspettano di leggerla per funzionare. La chiave memorizzata è
HKLM\SOFTWARE\Firebird Project\Firebird Server\Instances
e contiene un valore stringa: DefaultInstance.
Questo valore stringa ‘DefaultInstance’ contiene il percorso completo (terminato da barra rovesciata) della directory root dell’installazione. Questa configurazione è creata in modo che la gestione di istanze multiple nominate del server sia possibile in una versione successiva. Attualmente, l’unica istanza riceve il nome hard-coded ‘DefaultInstance’. Non c’è altro memorizzato nel registro. Qualsiasi informazione sulla versione o sulla configurazione deve essere trovata dagli strumenti di terze parti nel file firebird.conf pertinente. Questo file può essere localizzato grazie al percorso root memorizzato nel valore …\Instances\DefaultInstance.
Utilizzo:
instreg i[nstall]
instreg r[emove]
‘-z’ può essere usato con qualsiasi altra opzione, stampa la versione del software Firebird come prima riga dell’output.
Per ottenere un breve testo di aiuto, basta invocare instreg.exe senza argomenti.
INSTSVC.EXE
Firebird fornisce una procedura standard per gestire il servizio Firebird sulle piattaforme WinNT/2000/XP - instsvc.exe.
Messaggi della console
L’output dei messaggi di errore di Windows (se presenti) è stato migliorato in modo che qualsiasi traslitterazione richiesta delle stringhe ansi al charset OEM della finestra della console venga eseguita. Ciò significa che le persone che utilizzano un Windows non inglese riceveranno i messaggi di errore di sistema di Windows nella loro lingua con accenti corretti e così via.
Funzionalità relative alla sicurezza
L’opzione ‘-login’ (o -l) precedentemente implementata è stata ampiamente rivista e migliorata. Ora può essere utilizzata per configurare il/i servizio/i per l’esecuzione sotto un account utente specifico (presumibilmente con privilegi limitati sul sistema) invece del “LocalSystem” predefinito.
Utilizzo:
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 ]
Questa utility deve essere posizionata ed eseguita dalla directory ‘bin’ della vostra installazione Firebird.
-
‘*’ indica i valori predefiniti
-
‘-z’ può essere usato con qualsiasi altra opzione, stampa la versione
-
‘username’ si riferisce per impostazione predefinita a un account locale su questa macchina.
-
Utilizzare il formato ‘dominio\username’ o ‘server\username’ se appropriato.
Esempi
supponendo che Firebird sia installato (copiato nella sua posizione di installazione).
Superserver e avvio automatico sono ora i valori predefiniti.
instsvc i
instsvc install
configura un Superserver come servizio in modalità avvio automatico (avviato all’avvio del sistema) sotto l’identità di sistema predefinita, denominata “LocalSystem”.
instsvc i -g
instsvc install -guardian
come sopra, ma avvia prima il servizio Guardian.
Le opzioni “-demand” (-d) e “-classic” (-c) consentono di modificare i valori predefiniti, quindi il server classic (invece del superserver) può essere configurato come servizio e entrambi i servizi possono essere configurati per l’avvio su richiesta invece che all’avvio del sistema.
Per rimuovere il/i servizio/i
I servizi devono essere fermati prima di essere rimossi. Questo potrebbe essere automatizzato con 3 righe di codice ma è meglio lasciarlo così com’è per sicurezza.
instsvc r
instsvc remove
rimuove la definizione del servizio. Se Guardian era configurato, verranno rimossi sia il servizio guardian che quello server.
Per avviare e fermare il/i servizio/i installato/i
instsvc sta
instsvc start
avvia il server o Guardian + server, a seconda di ciò che è stato configurato dal comando install.
instsvc stop
ferma il server o Guardian + server, a seconda di ciò che è stato configurato dal comando install.
Per ottenere un report sullo stato del server
Questo è un nuovo comando:
instsvc q
instsvc query
Stampa un report di esattamente *cosa* è configurato e *come*, oltre a indicare se i servizi sono in esecuzione o fermati.
Per utilizzare la funzionalità di login sicuro
L’opzione “-login” richiede un nome utente e una password:
instsvc i -g -login user pass
Questo configurerebbe FB superserver come avvio automatico, con Guardian, per l’esecuzione sotto l’identità “user” la cui password è pass.
\* Se la password è inclusa, non deve iniziare con ‘-’.
\* Se la password viene omessa dalla riga di comando, instsvc la richiederà. In tal caso, la password verrà mascherata con ‘*’ durante la digitazione.
Durante la configurazione dei servizi come sopra, instsvc concede automaticamente il privilegio del sistema operativo Windows denominato “Accedi come servizio” all’utente specificato. Questo è necessario, altrimenti il servizio non potrebbe essere avviato. Instsvc non ne parla a meno che non fallisca.
Per gestire la possibilità che l’utente che accede tramite l’opzione -login possa essere un utente normale senza privilegi di amministratore sulla macchina, instsvc regola il descrittore di sicurezza predefinito del/i servizio/i in modo che questo utente possa avviarli/fermarli/interrogarli.
Questo è necessario per consentire al Guardian (che gira anch’esso come questo utente) di avviare il server FB. L’utente non sarà in grado di disinstallare il/i servizio/i né di modificarne la configurazione.
NOTA
Instsvc non CREA l’“utente” sulla macchina Windows. Non sarebbe una buona idea. L’amministratore potrebbe voler creare l’utente come parte della macchina locale o come parte di un dominio e instsvc non ha alcuna particolare necessità di usurpare la responsabilità dell’amministratore per la creazione degli utenti.
L’utente deve avere accesso in lettura/scrittura a tutti i database e al file firebird.log. Per motivi di sicurezza, l’accesso in scrittura a firebird.conf e agli eseguibili di Firebird NON deve essere concesso.
Su Windows NT/2K/XP è comune includere il prefisso del dominio o del server per un utente definito su un dominio o localmente su un altro server. Negli esempi precedenti, “user” potrebbe assumere la forma:
DOMINIO\user o
SERVER\user
Senza prefisso, l’utente è implicitamente un utente locale sulla macchina corrente.