Автор Тема: СУБД Firebird 3 на AltServer 10.2 Permission denied не подключается по IP  (Прочитано 1218 раз)

Оффлайн AndreyNag

  • Участник
  • *
  • Сообщений: 69
Приветствую, чатлане.
СУБД Firebird 3 на AltServer 10.2 установлен из репы. Запущен в режиме SuperServer. Локально всё работает замечательно. Но при попытке подключиться "удалённо" ругается "Permission denied".
#Configuration for Firebird 3 (vanilla) SuperServer (64 bit)

ServerMode = Super          # Firebird SuperServer

DefaultDbCachePages = 50K      # default cache pages for all databases
FileSystemCacheThreshold = 999M # file cache always on
TempCacheLimit  =4682M
LockHashSlots = 49999          # optimal value for lock table
TempBlockSize = 2M             # optimimal value to grow TempCacheLimit
MaxUnflushedWrites = -1        # optimal for databases with intentional Forced Writes Off
MaxUnflushedWriteTime = -1     # optimal for databases with intentional Forced Writes Off
WireCrypt = Enabled
RemoteServicePort = 3050
IPv6V6Only = 0

#authentication plugin setup
# Recommendation - use SELECT * FROM SEC$USERS
# to check that you have users for all plugins
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_UserManager
AuthClient = Legacy_Auth, Srp, Win_Sspi
TempDirectories = /mnt/fb/tmp
RemoteBindAddress = 192.168.45.200
DatabaseAccess = Full
RemoteAccess = true
Пользователь sysdba в БД security3.fdb добавлен. Порт наружу светится.
nmap -p3050 192.168.45.200Starting Nmap 7.80 ( https://nmap.org ) at 2024-10-03 15:19 MSK
Nmap scan report for 192.168.45.200
Host is up (0.00026s latency).

PORT     STATE SERVICE
3050/tcp open  gds_db

Nmap done: 1 IP address (1 host up) scanned in 16.53 seconds
Служба firebird запущена от имени firebird.
Права на папки с файлами БД для firebird установлены 660.

В какую сторону рыть?
Спасибо.   
« Последнее редактирование: 03.10.2024 16:01:50 от AndreyNag »

Оффлайн AndreyNag

  • Участник
  • *
  • Сообщений: 69
Проведённое "расследование" и натурные испытания привели к решению: на папки с базами надо дать права firebird и установить атрибуты 1777.
Многие спросят, а зачем firebird'у права на исполнение? Сие есть тайна великая, но без +x не работает. :-o
Спасибо за внимание.

Оффлайн AndreyNag

  • Участник
  • *
  • Сообщений: 69
После долгих экспериментов и тестов ситуация не прояснилась.
При попытке восстановить базу из дампа из-под пользователя firebird, gbak снова выставляет права 660. И клиенты нормально с такой базой работают, но как-то стабильно и не всегда. :-\
Как научить демона более подробно ругаться в журнале?
А то пишет terminated abnormal и понимай как хочешь.
« Последнее редактирование: 26.11.2024 13:07:50 от AndreyNag »

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 185
  • ITS
RemoteAccess=true в справочниках ...
Параметр в firebird.conf и databases.conf, обеспечивающий
эффективную и настраиваемую замену жестко закодированных правил,
ограничивающих доступ к security3.fdb. Его также можно использовать для
настройки ограниченного удаленного доступа к любой другой базе данных,
Замечания к выпуску Firebird 3.0.2
включая базы данных безопасности (отличных от умолчательной
security3.fdb).
По умолчанию RemoteAccess включен для всех баз данных, кроме базы
данных безопасности. Если вы намерены использовать более одной базы
данных безопасности, то настоятельно рекомендуется отключить удаленный
доступ к ней (к ним) в файле database.conf.
Для ужесточения безопасности, для всех баз данных сервера, Вы
можете установить RemoteAccess в false в файле firebird.conf. В этом
случае для разрешения доступа к определенным базам данных использовать
записи о них в файле database.conf.
Параметр RemoteAccess является логическим. Он может задаваться
как true/false, 1/0, либо Yes/No.
...
Примечания
Другой адрес прослушивания, будь то IPv4 или IPv6, можно
установить с помощью параметра RemoteBindAddress. Если
используется IPv4-адрес или ненулевой адрес IPv6, директива
IPv6V6Only не действует.
На платформах POSIX в классическом режиме параметры
RemoteBindAddress, RemoteServicePort и RemoteServiceName
игнорируются fbserver, так как сокет прослушивания настроен на (x)
inetd. Адрес прослушивания и/или порт необходимо установить в (x)
inetd

Оффлайн AndreyNag

  • Участник
  • *
  • Сообщений: 69
Проблемка в том, что удалённый доступ настроен, но не работает ИНОГДА и, не перезагружая сервер, лишь изменив права доступа на 1777 тут же получаю доступ к базе.
В другой момент времени после восстановления из бэкапа клиент подключается нормально.
Логику не могу ухватить. :'-(