Questa pagina è stata tradotta automaticamente. Leggi l'originale in inglese. English

Libreria IBSurgeon

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:

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

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 ]

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.

Code
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”.

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

Code
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

Code
instsvc sta
instsvc start

avvia il server o Guardian + server, a seconda di ciò che è stato configurato dal comando install.

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

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

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