Страница 1 из 1

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-03 13:27:37
eggplant
После переноса FreeBSD на новый сервер, перестали работать некоторые sql-запросы.
Например, любой запрос, содержащий "group by", выдаёт ошибку:

Код: Выделить всё

Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
I/O error for file "".
Error while trying to open file.
Permission denied.
Такая беда возникает только при удаленном доступе к БД (например через IBExpert). Если запустить isql-fb на самом сервере - там "group by" работает.
FreeBSD 8.4, Firebird 2.0.6.

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-03 14:29:50
Neus
egrep -v '^#|^$' firebird.conf
ls -l /
под каким юзером работает FB?

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-04 5:01:39
eggplant

Код: Выделить всё

>egrep -v '^#|^$' /usr/local/etc/firebird/firebird.conf
DatabaseAccess = Full
UdfAccess = Restrict /usr/local/libexec/firebird/udf

Код: Выделить всё

> ls -l /
total 17009
-r--r--r--   1 root  wheel      6200 Feb 17  2011 COPYRIGHT
drwxr-xr-x   3 root  wheel       512 Jan 10  2012 backup
drwxr-xr-x   2 root  wheel      1024 Feb 17  2011 bin
drwxr-xr-x   8 root  wheel      1024 Dec 18  2011 boot
drwxr-xr-x   2 root  wheel       512 Dec 18  2011 cdrom
lrwxr-xr-x   1 root  wheel        10 Dec 18  2011 compat -> usr/compat
dr-xr-xr-x   8 root  wheel       512 Mar  4 15:50 dev
drwxr-xr-x   2 root  wheel       512 Dec 18  2011 dist
-rw-------   1 root  wheel      4096 Mar  2 19:04 entropy
drwxr-xr-x  20 root  wheel      2560 Mar  4 08:50 etc
lrwxr-xr-x   1 root  wheel         8 Dec 18  2011 home -> usr/home
drwxr-xr-x   3 root  wheel      1536 Feb 17  2011 lib
drwxr-xr-x   2 root  wheel       512 Feb 17  2011 libexec
drwxr-xr-x   2 root  wheel       512 Feb 17  2011 media
drwxr-xr-x   2 root  wheel       512 Feb 17  2011 mnt
dr-xr-xr-x   2 root  wheel       512 Feb 17  2011 proc
drwxr-xr-x   2 root  wheel      2560 Dec 18  2011 rescue
-rw-------   1 root  wheel  17293088 Mar  2 22:04 restoresymtable
drwxr-xr-x   6 root  wheel       512 Mar  2 22:23 root
drwxr-xr-x   2 root  wheel      2560 Feb 17  2011 sbin
lrwxr-xr-x   1 root  wheel        11 Feb 17  2011 sys -> usr/src/sys
drwxr-xr-x   8 root  wheel       512 Mar  4 08:55 tmp
drwxr-xr-x  17 root  wheel       512 Mar  2 18:49 usr
drwxr-xr-x  23 root  wheel       512 Mar  4 15:50 var
Neus писал(а):под каким юзером работает FB?
под юзером "firebird".



Ещё забыл упомянуть, что сервер Firebird работает в классическом режиме, в inetd.conf:

Код: Выделить всё

gds_db  stream  tcp     nowait  firebird        /usr/local/bin/fb_inet_server  fb_inet_server

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-04 11:04:28
Neus
eggplant писал(а): drwxr-xr-x   8 root  wheel       512 Mar  4 08:55 tmp
права на это должны быть 1777

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-04 11:40:29
eggplant
Neus писал(а):
eggplant писал(а): drwxr-xr-x 8 root wheel 512 Mar 4 08:55 tmp
права на это должны быть 1777
Спасибо большое!
Стыдно, что не догадался.

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-04 12:21:00
Neus
ну если понял, объясни почему должно быть так :)
а как ты ресторил так что потерялись права ?
они же там по-дефолту 1777

ПС:
признавать ошибки не стыдно.

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-05 10:03:18
eggplant
Neus писал(а):ну если понял, объясни почему должно быть так :)
Ну, теперь очевидно, что firebird'у нужны временные файлы для group by. А Permission denied - это всегда про права доступа. Вот только я стал смотреть права на всякие FIREBIRD_TMP, TEMP, TMP, базы, udf, а про самое главное - /tmp - и забыл.
Neus писал(а):а как ты ресторил так что потерялись права ?
они же там по-дефолту 1777
А это, быть может, как-то связано с тем, что на изначальной системе /tmp к отдельному разделу была примонтирована и в дамп не попала.
На базы, например, права, группы, сохранились.

FreeBSD, Firebird, "Permission denied" после dump/restore

Добавлено: 2015-03-05 13:18:57
Neus
угу, для сортировки.
а я делаю отдельный раздел для баз и темпа и прописываю его в конфиг