On 07/15/2015 01:24 PM, Dmitry Yemanov wrote:
> 15.07.2015 13:14, Alex Peshkoff wrote:
>
>> I worry more about SQL-based management. Creating first user is required
>> step not only for initializing security3.fdb, it's also required when
>> new security database (non-default) is to be added to the server. May be
>> play this trick if an explicit user switch is not provided (i.e. OS user
>> name is used) in embedded attachment and an attempt is made to add
>> SYSDBA in any case, not only in gsec?
> Maybe, but we should not limit the solution to SYSDBA only. If someone
> wants to avoid SYSDBA at all and initialize the security database with
> gsec -add mydba -pw mypassword [s]he should not specify -user sysdba
> either (it does not exist and hence looks weird too).
>

For that trick to be efficient mydba should better also be an owner of 
security database one creates. To achieve this one should first of all 
add something like

mysec = /var/mysecurity.db
{
     RemoteAccess = false
     SecurityDatabase = mysec
     DefaultDbCachePages = 50
}

to databases.conf (path used is just a dumb example). Next create that 
database as mydba:

# ./isql -user mydba
Use CONNECT or CREATE DATABASE to specify a database
SQL> CREATE DATABASE 'mysec';
SQL> create user mydba password 'my_master_key';

That's all - validating what did we get:

SQL> show database;
Database: mysec
         Owner: MYDBA
.....
SQL> select first(1) * from rdb$relations where RDB$RELATION_NAME = 
'PLG$SRP';
....
RDB$OWNER_NAME MYDBA
...
SQL> select * from sec$users;
SEC$USER_NAME MYDBA
....
SQL>

In such sample setting '-user mydba' in isql looks OK for me - how else 
can we create database as MYDBA?
But I see no good way to automate all of this - only description in doc 
comes to my mind.



------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to