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)
-   -   cambiar password del usuario sysdba (https://www.clubdelphi.com/foros/showthread.php?t=16368)

walace_soy 25-11-2004 11:10:53

cambiar password del usuario sysdba
 
Hola a todos:

Primero daros las gracias por leer este correo, al menos eso quiere decir que le habeis prestado atención.

Tengo un problema, necesito cambiar el password de SYSDBA, y cuando entro en el GSEC.exe y le aplico el comando que sea (añadir, modificar, visualizar) me dice el siguiente mensaje:

invalid request blr at affset 40
table users is not defined

Si alguien se ha encontrado en la misma circunstancia que yo y lo ha solucionado o alguien sabe como solucionarlo, ruego me ayuden cuanto antes, pues tengo muchos cambios de versiones en poco tiempo.

Gracias una vez mas por vuestra colaboración.

eduarcol 25-11-2004 11:30:33

Esto lo tome desde la
Documentacion de Firebird

Fijate a ver si lo haces segun el ejemplo, puede ser que por eso no te funcione:
Cita:

Supongamos que decide cambiar la clave de SYSDBA a icuryy4me.

Abra una ventana de terminal en su servidor y posiciónese en el directorio donde se localizan las utilidades de línea de comandos. Refiérase a Tabla de componentes de una instalación Firebird para encontrar esta ubicación.

Escriba lo siguiente (sensible a mayúsculas en todas las plataformas excepto Windows):

gsec -user sysdba -password masterkey

Debería ver el prompt de la utilidad gsec :

GSEC>

Escriba este comando:

modify sysdba -pw icuryy4me

Presione Enter. La nueva clave icuryy4me está ahora encriptada y almacenada y masterkey ya no es válida.

Ahora salga de la terminal de gsec:

quit

Nota
Debido a que Firebird ignora todos los caracteres de una clave después del octavo caracter, icuryy4m funcionará, tanto como icuryy4monkeys.


walace_soy 25-11-2004 12:10:38

buen intento jeje
 
buenas:
eso es lo que he hecho y cuando he hecho eso es cuando me ha dado el error de que no existia la tabla user.
a mi me ha extrañado, porque si que esta el usuario, pero es lo que me dice y no hace nada.
es más sino especificas la base de datos no te pone en el gsec.
Así que si teneis mas ideas.

defcon1_es 25-11-2004 12:35:58

Hola, mira este hilo:
http://www.clubdelphi.com/foros/showthread.php?t=8489

eduarcol 25-11-2004 14:55:51

sera que no lo estas ejecutando en el subdirectorio BIN?

lo acabo de probar y no me da error

Firebird ver 1.5

walace_soy 25-11-2004 17:43:07

ya lo tengo ;)
 
hola a todos, con el hilo anterior me ha ido todo de lujo, he probado un par de cosillas y ya lo tengo solucionado. Gracias a todos por la ayuda.
Un saludo.

ingabraham 08-04-2011 18:19:43

solucion a sus problemas
 
1 Archivos Adjunto(s)
olap me llevo casi media mannana pero lo hice
aqui tienen un archivo el cual deberan guardar como .bat

el le cambia la clave sysdba x la que quieran en mi caso la cambie x adminsoftnomina.

este archivo q creen .dba lo podran anexar en su instalador para q se ejecute x primera vez. espero q sea de mucha ayuda para todos.
ok
alguna inquietud escribanme.

guillotmarc 08-04-2011 18:47:33

Lamentablemente en la inmensa mayoría de ocasiones el cambiar la contraseña de administrador sirve de muy poco.

Y es que eso solo es de utilidad cuando tienes el control del archivo físico de la base de datos, y nadie no autorizado puede llegar hasta él.

Pero cuando dejas una base de datos en los ordenadores de un cliente, aunque cambies la contraseña de administrador, la base de datos sigue estando totalmente abierta. Solo tienen que copiar el archivo físico de la base de datos a otro equipo con Firebird recién instalado, y ya podrán acceder a todos los datos con un simple : sydba - masterkey.

A ver si en futuras versiones consiguen un mecanismo de seguridad fiable para Firebird (cosa que al parecer es bastante difícil en un proyecto de fuentes abiertas como éste).

Saludos.

rgstuamigo 08-04-2011 18:58:40

No soy bueno con Firefird, pero en algun otro hilo leí que para evitar que tus tablas sean abiertas desde otro lado, pues se debería crear Trigger que valide el ingreso a las tablas, ya que lo triggers se guardan dentro del archivo de cada tabla, pues con eso evitarías que algun otro que copie los archivos, pueda ver tus tablas.:rolleyes:.
Saludos...:)

Gallosuarez 08-04-2011 19:25:10

Pequeño Truco ...
 
Estimados Foristas:


Hice una pequeña prueba para proteger mi base de datos si es que alguien tiene acceso al archivo físico y puede llevárselo a otro equipo... Denme un par de horas para subir una pequeña base de datos y tratan Uds de abrirla .... quiero verificar que tan seguro resulta el truco... A mi me llevó un par de horas idear la forma de acceder nuevamente a dicha base de datos. Tomen en cuenta que yo sabía como se había implementado tal truco.

Saludos,
Gerardo Suárez Trejo

Gallosuarez 08-04-2011 23:46:44

Truco ...
 
Estimados Foristas:

Para los que gusten, dejo una base de datos como reto (o ejercicio) para que traten de abrirla ... Tiene un pequeño truco que no permite que la abran en otro servidor ...

Está dentro del FTP del club, con el nombre de prueba.fdb.zip

http://www.terawiki.clubdelphi.com/Varios/

Saludos,
Gerardo Suárez Trejo

PD. Estoy empezando a hacer varios tutoriales donde aplico un sinfín de trucos que he aprendido durante todo este tiempo que he estado desarrollando con Firebird. Desde su correcta instalación en CENTOS 5.5, respaldo automático de forma incremental (mensual, semana, diario, por hora), hasta un Cluster de Alta Disponibilidad, etc, etc, etc ...

Casimiro Notevi 09-04-2011 01:57:21

¿Se puede saber como mínimo con qué versión de firebird está creada?

Gallosuarez 09-04-2011 02:03:06

Truco ...
 
Perdón Casimiro... tienes toda la razón .... la base de datos está creada en Firebird 2.5 .... aunque el truco puede funcionar a partir de la version 2.1


Saludos,
Gerardo Suárez Trejo

Casimiro Notevi 09-04-2011 02:05:47

Bien, gracias :)

guillotmarc 09-04-2011 16:17:26

Cita:

Empezado por Gallosuarez (Mensaje 396388)
Perdón Casimiro... tienes toda la razón .... la base de datos está creada en Firebird 2.5 .... aunque el truco puede funcionar a partir de la version 2.1

Con lo que dices, queda claro que utilizas los triggers de base de datos. Probablemente tras la conexión compruebas el usuario conectado y si no es el deseado, cancelas la conexión.

Muy interesante, habrá que instalar FB 2.5 y echarle un vistazo. :D

Casimiro Notevi 09-04-2011 17:14:39

Tienes razón, guillotmarc, por lo que he visto (con un editor hexadecimal) controla si existe un usuario determinado, lo que no sé es si también controla que el password sea otro diferente al predeterminado.
Tampoco tengo instalado fb2.5, a ver si saco tiempo para instalarlo en una máquina virtual y lo pruebo.

guillotmarc 09-04-2011 20:28:06

Aún no lo he probado (tengo que instalar FB 2.5, aún trabajo con la 2.0 habitualmente).

Pero creo que hay una forma relativamente sencilla de romper esta seguridad (si se confirma que consiste en lo que estamos pensando, triggers de bases de datos).

Tienes que copiar la base de datos a un servidor nuevo, donde conozcas la contraseña de SYSDBA, y después solo tienes que entrar en ella con el comando ISQL (está en la carpeta \bin de Firebird) usando el switch -nodbtriggers.

Una vez conectado como SYSDBA a la base de datos, y habiendo evitado el mecanismo de seguridad, ya puedes echar un vistazo a sus triggers, modificarlos, eliminarlos, etc. ...

Ejplo: delete from rdb$triggers where (rdb$system_flag = 0 or rdb$system_flag is null);

La verdad es que el mecanismo no está mal para mantener alejados a los neófitos, pero no va a detener a alguien con más experiencia.

Casimiro Notevi 09-04-2011 21:33:57

Efectivamente, aquí está la prueba :)


Gallosuarez 10-04-2011 02:08:44

Truco ...
 
Casimiro:

Efectivamente... esa es la base de datos ... una pregunta ¿cuanto tiempo invertiste en entrar a la base de datos?

Como dice Guillotmarc es un mecanismo relativamente sencillo para mantener a los neófitos alejados de tu datos. Aunque creo que también puede engañar a uno que otro programador experimentado ...

La forma que describe Guillotmarc se me hace un tanto elaborada ... existe una forma aun mas sencilla .... que es la que yo utilizo ....

Bueno ... pues ahora queda la opción de llevarlo a otro nivel ...

Saludos,
Gerardo Suárez Trejo

Casimiro Notevi 10-04-2011 13:57:54

Bueno, entrando con isql con el parámetro indicado por guillotmarc tardé más o menos... 15 segundos.


La franja horaria es GMT +2. Ahora son las 10:23:04.

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