Страница 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
угу, для сортировки.
а я делаю отдельный раздел для баз и темпа и прописываю его в конфиг