|Subject||Re: [Firebird-devel] [SOLVED][firebird-support] linux, firebird embedded and $FIREBIRD_TMP|
> The application itself uses the embedded firebird to create a newTake into an account - firebird was first of all designed to provide
> subdirectory in the users home directory which contains a firebird
> database and some more files. So it is always one user accessing the
> database in his own home directory.
cooperative access to data.
> The problem is, that the first time a users runs the app, firebirdIt's not ignored, temp files will be created in $HOME/.appname/fbtmp
> creates a /tmp/firebird folder which is only writeable by the user. So
> the second user gets a permission denied error.
> To get around that, I tried to export the env variable FIREBIRD_TMP with
> $HOME/.appname/fbtmp as value. But that seems to be ignored becaus I
> can see from a strace output that /tmp/firebird still beeing tried to
> open, which obviously fails.
instead /tmp. To redirect lock files you should set FIREBIRD_LOCK, as was
already mentioned in previous letters.
> I know that firebird-classic or -superserver makes everything easier.Possible solutions:
> But it makes one important thing not easier: shipping our app to Linux
> end users in the desktop market.
1. Add users of your application to firebird group.
2. If you are absolutely sure that they never share same database files, you
can export FIREBIRD_LOCK to point to provate directory. But don't blame us
for lost database if two such users *will* attach it at the same moment.
3. Also you may create /tmp/firebird with full access for everyone. But this
is unsafe solution - every user with login on such box can corrupt lock
files, which almost always means at least segfault in firebird engine.
You see yourself - best solution is one recommended initially - add users to