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

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
eggplant
проходил мимо

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

Непрочитанное сообщение eggplant » 2015-03-03 13:27:37

После переноса 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.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1764
Зарегистрирован: 2008-09-08 21:59:56

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

Непрочитанное сообщение Neus » 2015-03-03 14:29:50

egrep -v '^#|^$' firebird.conf
ls -l /
под каким юзером работает FB?

eggplant
проходил мимо
Сообщения: 3
Зарегистрирован: 2015-03-03 13:29:35

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

Непрочитанное сообщение eggplant » 2015-03-04 5:01:39

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

>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

Аватара пользователя
Neus
капитан
Сообщения: 1764
Зарегистрирован: 2008-09-08 21:59:56

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

Непрочитанное сообщение Neus » 2015-03-04 11:04:28

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

eggplant
проходил мимо
Сообщения: 3
Зарегистрирован: 2015-03-03 13:29:35

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

Непрочитанное сообщение eggplant » 2015-03-04 11:40:29

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

Аватара пользователя
Neus
капитан
Сообщения: 1764
Зарегистрирован: 2008-09-08 21:59:56

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

Непрочитанное сообщение Neus » 2015-03-04 12:21:00

ну если понял, объясни почему должно быть так :)
а как ты ресторил так что потерялись права ?
они же там по-дефолту 1777

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

eggplant
проходил мимо
Сообщения: 3
Зарегистрирован: 2015-03-03 13:29:35

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

Непрочитанное сообщение eggplant » 2015-03-05 10:03:18

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

Аватара пользователя
Neus
капитан
Сообщения: 1764
Зарегистрирован: 2008-09-08 21:59:56

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

Непрочитанное сообщение Neus » 2015-03-05 13:18:57

угу, для сортировки.
а я делаю отдельный раздел для баз и темпа и прописываю его в конфиг