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)
-   -   Creando BBDD de seguridad con isql - Firebird 3.0 (https://www.clubdelphi.com/foros/showthread.php?t=93629)

santiago14 12-12-2018 01:51:05

Creando BBDD de seguridad con isql - Firebird 3.0
 
Buenas, estoy intentando crear una BBDD de seguridad particular (non-default security database). Sigo las indicaciones de la Documentación pero no he podido lograrlo.
La única particularidad mía respecto al ejemplo que se cita es: En mi configuración tengo DataBaseAccess = None.

Pongo lo que dice la documentación:


Cita:

Firebird now supports an unlimited number of security databases. Any database may act as a security database and can be a security database for itself.

Use databases.conf to configure a non-default security database. This example configures /mnt/storage/private.security.fdb as the security database for the first and second databases:

first = /mnt/storage/first.fdb
{
SecurityDatabase = /mnt/storage/private.security.fdb
}

second = /mnt/storage/second.fdb
{
SecurityDatabase = /mnt/storage/private.security.fdb
}

Here we use third database as its own security database:

third = /mnt/storage/third.fdb
{
SecurityDatabase = third
}

Note
The value of the SecurityDatabase parameter can be a database alias or the actual database path.

Creating an Alternative Security Database
To start using a separate, non-default security database, the first step is to create it, unless it already exists. An embedded isql connection is used:

> isql -user sysdba
SQL> create database '/mnt/storage/private.security.fdb';

Now connect to any database which will be served by the security database you are currently preparing, in order to create its SYSDBA user:

SQL> connect first;
SQL> create user sysdba password 'sysdba-in-private-security-password';
SQL> commit;
SQL> exit;


Esta es mi configuración en mi Databases.conf

VendedoresPruebaSecurity = D:\SistemasXE5\SamiSoft\Software\BBDD\PruebaSecurity.fdb
{
MiSecurity = D:\SistemasXE5\SamiSoft\Software\BBDD\MiSecurityFB30.fdb
}


Esto me responde:

SQL> -user sysdba
CON> create database D:\SistemasXE5\SamiSoft\Software\BBDD\MiSecurityFB30.fdb;
Use CONNECT or CREATE DATABASE to specify a database
SQL> create database 'D:\SistemasXE5\SamiSoft\Software\BBDD\MiSecurityFB30.fdb';
Statement failed, SQLSTATE = 28000
Use of database at location D:\SISTEMASXE5\SAMISOFT\SOFTWARE\BBDD\MISECURITYFB30.FDB is not allowed by server configuration


Cuando lo hago con un alias:
SQL> create database 'MiSecurityFB30.fdb';
Statement failed, SQLSTATE = 28000
Use of database at location C:\FIREBIRD30\MISECURITYFB30.FDB is not allowed by server configuration
SQL> create database MiSecurityFB30.fdb;
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-MiSecurityFB30

....

¿Alguien ha tenido suerte con esto?
Bueno, espero haber sido claro.

Santiago

Casimiro Notevi 12-12-2018 09:07:02

¿Esa unidad D: es local o remota?

santiago14 12-12-2018 14:58:19

Es local. Estoy probando todo en una sola máquina por ahora.

Santiago.

Casimiro Notevi 12-12-2018 15:24:35

Me parece que estás intentando crear tú la base de datos, creo que la creará firebird con los datos de la declaración.
Te hablo de memoria, tendría que buscar ahora para leerlo.

santiago14 12-12-2018 16:45:15

Cita:

Empezado por Casimiro Notevi (Mensaje 529930)
Me parece que estás intentando crear tú la base de datos, creo que la creará firebird con los datos de la declaración.
Te hablo de memoria, tendría que buscar ahora para leerlo.


Puede ser, pero solo hice lo que indicaba el manual. Solo que no puedo poner direcciones absolutas, por mi configuración. Por eso, puse el alias.
De seguro me está faltando algo.
Espero alguien pueda descubrir qué cosa...

Santiago.

santiago14 14-12-2018 17:22:04

Estoy leyendo por todos lados y dicen lo mismo. Solo habría que poner entre paréntesis la Base de Datos de seguridad y ya Firebird reconocería a esa como la local de tu BBDD de trabajo. Pero no he logrado crear la BBDD de seguridad particular.

Encontré un error en la declaración de mis Parámetros (Databases.conf). Sería así:

Cita:

# Prueba Security propia
Prueba = D:\SistemasXE5\Pruebas\Firebird\Firebird30\BBDD\Prueba.fdb
{
SecurityDatabase = D:\SistemasXE5\Pruebas\Firebird\Firebird30\BBDD\SecurityPrueba.fdb
}

En mi Firebird.conf:

Cita:

# ----------------------------
# Database Paths/Directories
#
# DatabaseAccess may be None, Full or Restrict. If you choose Restrict,
# provide ';'-separated trees list, where database files are stored.
# Relative paths are treated relative to the root directory of firebird.
# Default value 'Full' gives full access to all files on your site.
# To specify access to specific trees, enum all required paths
# (for Windows this may be something like 'C:\DataBase;D:\Mirror',
# for unix - '/db;/mnt/mirrordb'). If you choose 'None', then only
# databases listed in databases.conf can be attached.
#
# Note: simple quotation marks shown above should *NOT* be used when
# specifying values and directory path names. Examples:
#
# DatabaseAccess = None
# DatabaseAccess = Restrict C:\DataBase
# DatabaseAccess = Restrict C:\DataBase;D:\Mirror
# DatabaseAccess = Restrict /db
# DatabaseAccess = Restrict /db;/mnt/mirrordb
# DatabaseAccess = Full
#
# UNCONTROLLED DATABASE ACCESS MAY COMPROMISE YOUR SYSTEM!
# IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT
# DATABASE LOCATIONS!
#
# Type: string (special format)
#
DatabaseAccess = None

Con lo cual solamente puedo acceder a través de un Alias.
Ahora bien, tengo que crear ambas BBDD, tanto Prueba como SecurityPrueba.
Sigo las indicaciones del Capítulo Seguridad en Release Notes de Firebird 3.0, que es lo que publiqué en mi Post anterior, y no puedo hacer que funcione.
Bueno, sigo buscando la forma. Si encuentro algo, lo publico. También espero que alguien mas esté haciendo lo mismo y pueda dar una mano.
Gracias


La franja horaria es GMT +2. Ahora son las 17:10:49.

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