Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Modificar el password de sysdba en la instalacion de firebird (https://www.clubdelphi.com/foros/showthread.php?t=72282)

Choclito 08-02-2011 16:09:12

Modificar el password de sysdba en la instalacion de firebird
 
Buenos dias amigos del foro .
La consulta que tengo es la siguiente:
Tengo un sistema hecho con delphi 7,firebird,componentes MDO mi consulta es la siguiente:
La contraseña en Windows del super usuario de firebird sysdba es masterkey por lo que para realizar mi aplicacion con la ayuda de gsec e cambiado la contraseña de sysdba, ademas por cuidar la integridad de la base de datos, pues como todos saben que con masterkey pueden ingresar a la base de dato con la ayuda de cualquier adm grafico de firebird.
Utilizo Inno setup para crear el instalador con firebird(silencioso) entonces para instalar mis aplicaciones en las computadoras de los clientes tendria que instalar y luego entrar en modo consola y con la ayuda gsec tengo que cambiar el password de sysdba a la que tengo y es sujeto a que puedan ver mi password y todos puedan acceder a la bd y poder borrar o modificar datos
Mi pregunta es: Como puedo hacer para que al momento de instalar mi aplicacion con firebird(silencioso) se cambie el password con el que tengo(en la instalacion) y de esa manera se pueda ejecutar la aplicacion sin utilizar gsec para cambiar el password de firebird
Espero haber sido claro al explicar el problema que tengo,muchas gracias amigos foreros por los comentarios que me colaboren a la solucion de mi problema

Chris 08-02-2011 16:43:03

talvez te funciones proporcionando tu propia versión de master.fdb. Una copia de master.fdb en donde ya esté asignada la contraseña que deseas para SYSDBA

Saludos,
Chris

guillotmarc 08-02-2011 19:18:33

Se me ocurren varias soluciones :

a) Como bien te han comentado, distribuye tu mismo el master.fdb de Firebird, ya con las contraseñas establecidas.

b) Utiliza gsec, ¿ que problema hay con él ?. Solo lo tienes que distribuir en la misma carpeta de tu aplicación, y lo puedes llamar desde la misma. Todo será transparente para el usuario (y lo puedes programar para hacerse durante la instalación).

c) Busca componentes que accedan al Service API de Firebird y te permitan hacer esto (no conozco ninguno, pero creo que en IBX hay alguno).

d) Actualízate a Firebird 2.5, puesto que lleva una nueva sentencia SQL : ALTER USER. Con ella puedes crear y modificar usuarios, y en concreto puedes hacer cosas como : ALTER USER sysdba PASSWORD 'NuevoPassword';

Saludos.

Choclito 10-01-2012 02:42:31

Disculpas por responder tarde
 
Amigos del foro mil disculpas por responder despues de mucho tiempo, ahi me diran si tengo que abrir otro post para seguir hablando del tema
Sobre lo que decian los amigos del foro sobre la base de datos master.fdb ??? busco en la instalacion de firebird 2.1 y no la encuentro, como tendria que hacer lo que pasa es que tengo un sistema para una farmacia y me pidieron que lo lleve a otra ciudad y para eso me pidieron un instalador del sistema.
Trabajo con Inno setup entonces tengo un instalador del sistema, pero mi sistema trabaja con un passowrd q he cambiado de sysdba entonces con la ayuda del foro encontre el siguiente codigo archivo .bat
Código:

@echo off
title PROCESO DE FIREBIRD
color 17
:menu
cls
echo.
echo Cambiando clave del Super Usuario SYSDBA

echo C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql
cd  C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql
gsec -user SYSDBA -password masterkey -modify sysdba -pw masterge
:fin
cls
exit

lo probe en una maquina virtual y funciono pero lo probe en la maquina de un amigo y no cambio el password del sysdba
Amigos como puedo hacer para que en la instalacion de mi aplicacion se cambie el password de sysdba pues para hacerlo tendria q ir a la ciudad para hacerlo de manera manual.
Les estare muy agradecido por su ayuda amigos foreros

Casimiro Notevi 10-01-2012 08:56:02

Cita:

Empezado por guillotmarc (Mensaje 390376)
Utiliza gsec, ¿ que problema hay con él ?. Solo lo tienes que distribuir en la misma carpeta de tu aplicación, y lo puedes llamar desde la misma. Todo será transparente para el usuario (y lo puedes programar para hacerse durante la instalación).


Como indica guillotmarc, por ejemplo, con gsec, simplemente.

Choclito 10-01-2012 19:15:42

problema en el instalador
 
Gracias por responder amigo, pero tanto mi aplicacion y el gestor firebird 2.1 lo tengo con el passowrd cambiado de sysdba, el problema seria que como les comente el sistema lo llevo a otra ciudad entonces para no tener que utilizar gsec creo q lo mas factible seria cambiar en el instalador el password de sysdba, caso contrario tendria que viajar a la otra ciudad para cambiar el password de sysdba.
Espero me hayan compredido amigos foreros y estare atento a sus comentarios

guillotmarc 10-01-2012 20:52:06

Hola.

Cita:

Empezado por Choclito (Mensaje 422682)
Gracias por responder amigo, pero tanto mi aplicacion y el gestor firebird 2.1 lo tengo con el passowrd cambiado de sysdba, el problema seria que como les comente el sistema lo llevo a otra ciudad entonces para no tener que utilizar gsec creo q lo mas factible seria cambiar en el instalador el password de sysdba, caso contrario tendria que viajar a la otra ciudad para cambiar el password de sysdba.
Espero me hayan compredido amigos foreros y estare atento a sus comentarios

Puedes hacer que el instalador ejecute directamente el comando gsec para cambiar el password.

Saludos.

Choclito 11-01-2012 20:44:26

Codigo en instalador
 
Gracias amigo guillotmarc por responder ahora con la ayuda del foro encontre este codigo:
Código:

@echo off title PROCESO DE FIREBIRD color 17 :menu cls echo. echo Cambiando clave del Super Usuario SYSDBA  echo C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql cd  C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql gsec -user SYSDBA -password masterkey -modify sysdba -pw masterge :fin cls exit
y lo que hice es guardarlo como .bat y llamarlo en el instalador que hice con inno setup, lo probe con una maquina virtual y me funciono pero cuando ejecuto en la maquina(windows xp) de otro amigo no funciona pues al ejecutar me muestra el mensaje de que el password no es el correcto.
Que tendria que cambiar en el codigo?? no se por que en mi maquina virtual me funciona y en otra fisica no.
O como tendria que utilizar el comando gsec en el instalador para que me cambie el password de sysdba.
Bueno espero que me puedan ayudar amigos foreros, estare atento a sus comentarios

guillotmarc 12-01-2012 10:29:23

Hola.

Cita:

Empezado por Choclito (Mensaje 422746)
Gracias amigo guillotmarc por responder ahora con la ayuda del foro encontre este codigo:
Código:

@echo off title PROCESO DE FIREBIRD color 17 :menu cls echo. echo Cambiando clave del Super Usuario SYSDBA  echo C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql cd  C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql gsec -user SYSDBA -password masterkey -modify sysdba -pw masterge :fin cls exit
y lo que hice es guardarlo como .bat y llamarlo en el instalador que hice con inno setup, lo probe con una maquina virtual y me funciono pero cuando ejecuto en la maquina(windows xp) de otro amigo no funciona pues al ejecutar me muestra el mensaje de que el password no es el correcto.
Que tendria que cambiar en el codigo?? no se por que en mi maquina virtual me funciona y en otra fisica no.
O como tendria que utilizar el comando gsec en el instalador para que me cambie el password de sysdba.
Bueno espero que me puedan ayudar amigos foreros, estare atento a sus comentarios

Es muy raro esto que comentas de que te funciona en una máquina virtual, pero no funciona en un equipo físico.

En cualquier caso, hay algo que parece no estar bien en tu script. Llamas a gsec desde el comando isql, cuando gsec ya es un ejecutable que hay que llamar directamente.

Sinceramente, no creo que valga la pena hacer un archivo de comandos. Yo en tu caso llamaría directamente a gsec.exe en el "Install Run" de tu instalador Inno Setup.

Saludos.

Lepe 12-01-2012 19:04:09

Una de las lineas tiene un error, por tanto no entrará en la carpeta adecuada y tampoco ejecutará isql:
Código:

cd  C:\Archivos de programa\Firebird\Firebird_2_1\bin>isql
debería ser:
Código:

cd  C:\Archivos de programa\Firebird\Firebird_2_1\bin
gsec....

vamos, que eso no funcionó ni en la máquina virtual ni en pekin ;) :p


La franja horaria es GMT +2. Ahora son las 22:05:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi