Subject | Re: [firebird-support] CREATE DATABASE |
---|---|
Author | Helen Borrie |
Post date | 2007-01-28T21:19:17Z |
At 05:21 AM 29/01/2007, you wrote:
authenticated user can create a database and connect to
one. Security.fdb won't prevent it. The thing is, you have to *be*
an authenticated Firebird user to do so. Firebird doesn't know about
Windows users.
There is a built-in user named SYSDBA. This user can do anything
in/to any database and is also the only user that can add users to
security.fdb. The installed default password on Windows server is
'masterke'. There is a command-line program called gsec.exe that the
SYSDBA can use to add and modify users. Don't forget to change the password.
Say you create a user called 'FBADMIN'. Once that user exists, it
can log in to the server and create a database. FBADMIN will then be
the Owner of that database. Owner has special rights to its own
databases though not to the objects within it, if they are created by
another user. So don't, for example, fall into the trap of creating
a DB as one user and then logging in as SYSDBA to create tables, etc.
By default, a database can be created anywhere on the server's
physical file system. Note "physical". This means you can't create
databases on mapped drives or shares. You can (and should) limit
where in the filesystem databases can be accessed. See the
DatabaseAccess parameter in firebird.conf.
Since the Subject of this thread is 'CREATE DATABASE' one assumes you
tried to create one and failed in some way. It would be more useful
to tell us what you tried and what happened.
If you are having trouble with the ODBC side of things, ask on the
firebird-odbc-devel list for advice.
And remember to tell us (or them) which model of Firebird server you
are using. This matters for some things.
./heLen
>I am trying to create a new database using Firebird 2.0 withinNo - hence the message. And there's no need either. Any
>Visual Basic code using ADO. I have no trouble doing that if there
>is an existing database to which I can connect. Other RDBMS provide
>a system database that provides an initial point of connection and
>validation. When I attempt to connect to the security2.fdb the ODBC
>Providers states: 'no permission for direct access to security database C:\...'
>
>My questions is can I connect to the security2.fdb to verify my
>right to create a database?
authenticated user can create a database and connect to
one. Security.fdb won't prevent it. The thing is, you have to *be*
an authenticated Firebird user to do so. Firebird doesn't know about
Windows users.
There is a built-in user named SYSDBA. This user can do anything
in/to any database and is also the only user that can add users to
security.fdb. The installed default password on Windows server is
'masterke'. There is a command-line program called gsec.exe that the
SYSDBA can use to add and modify users. Don't forget to change the password.
Say you create a user called 'FBADMIN'. Once that user exists, it
can log in to the server and create a database. FBADMIN will then be
the Owner of that database. Owner has special rights to its own
databases though not to the objects within it, if they are created by
another user. So don't, for example, fall into the trap of creating
a DB as one user and then logging in as SYSDBA to create tables, etc.
By default, a database can be created anywhere on the server's
physical file system. Note "physical". This means you can't create
databases on mapped drives or shares. You can (and should) limit
where in the filesystem databases can be accessed. See the
DatabaseAccess parameter in firebird.conf.
Since the Subject of this thread is 'CREATE DATABASE' one assumes you
tried to create one and failed in some way. It would be more useful
to tell us what you tried and what happened.
If you are having trouble with the ODBC side of things, ask on the
firebird-odbc-devel list for advice.
And remember to tell us (or them) which model of Firebird server you
are using. This matters for some things.
./heLen