powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gsec 3.0 без пароля
43 сообщений из 43, показаны все 2 страниц
gsec 3.0 без пароля
    #39078812
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это нормально, что, при умолчательных настройках и запущенном сервере, если не задать в
командной строке gsec ключи -user И -pass, то он возвращает такую ошибку:
unable to open database
I/O error during "CreateFile (open)" operation for file "C:\PROGRAM FILES (X86)\
FIREBIRD\AVALERION\SECURITY3.FDB"
Error while trying to open file
The process cannot access the file because it is being used by another process.

То есть, я понимаю, почему так происходит, но почему это не обычное "your user name and
password are not defined" или какое-нибудь "нет прав"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39078849
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ты уже спрашивал и тебе отвечали - y-valve возвращает первую ошибку от провайдеров
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39078850
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlady-valve возвращает первую ошибку от провайдеров
Умолчательная последовательность провайдеров - Remote,Engine12,Loopback. При такой
комбинации ключей gsec, первый и последний провайдеры должны ругаться на имя
пользователя/пароль. И только средний - о занятости файла. Он не первый. И не последний. И
вот этого я не понимаю.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39078851
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovвот этого я не понимаю.
Единственный вариант, который мне приходит на ум, таков, что ошибка таки возвращается
последняя, а провайдера Loopback нет в природе или он не смог загрузиться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39078988
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovя понимаю, почему так происходит
а я не понимаю, почему так происходит в последних билдах, пришлось тупо взять security3.fdb от предыдущих билдов с уже прописанным SYSDBA.
Похоже, с SYSDBA геморроя только прибавляется. Раньше я проблему "I/O error during "CreateFile (open)" не наблюдал.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39079074
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпришлось тупо взять security3.fdb от предыдущих билдов с уже прописанным SYSDBA.

Достаточно было остановить сервер.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39079136
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

кстати, да. это я уже догнал потом. в ФБ 3.0 локальный коннект (включая -se service_mgr) превращается в embedded, поэтому при запущеном сервере в режиме Super естественно возникает конфликт по доступу к файлу.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39079738
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovУмолчательная последовательность провайдеров - Remote,Engine12,Loopback. При такой
комбинации ключей gsec, первый и последний провайдеры должны ругаться на имя
пользователя/пароль.Почему ты решил, что Remote вообще в игре при твоей строке коннекта ?
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39079975
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladПочему ты решил, что Remote вообще в игре при твоей строке коннекта ?
Потому что у меня вообще нет строки коннекта, а, насколько я помню, gsec теперь работает
через сервисы, соответственно вызов sevice_attach должен Y-valve скармливаться каждому
провайдеру по очереди, пока один из них не выполнит его без ошибки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39079996
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

gsec теперь вообще считается устаревшим. И по большому счёту полезен только для инициализации SYSDBA. И даже это можно сделать без него:

Код: plaintext
1.
2.
3.
isql
SQL> connect 'security.db' user sysdba;
SQL> create user sysdba password 'masterkey';
SQL> exit;
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39079999
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

remote-клиент для строки коннекта без хоста (а gsec именно так и подключается) возвращает isc_unavailable, что считается не ошибкой, а признаком вызова следующего провайдера. Так что серверный remote тут вообще никак не задействован и на логин\пароль ругаться в принципе не может. Работает embedded, он и возвращает ошибку открытия файла. На логин/пароль он ругаться не умеет, ибо не проверяет.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080017
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrremote-клиент для строки коннекта без хоста (а gsec именно так и
подключается) возвращает isc_unavailable
То есть он больше не пробует использовать XNET?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080032
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТо есть он больше не пробует использовать XNET?
по моим тестам - да, т.е. и для обычного локального коннекта, и для -se service_mgr используется Embedded.
например, запускаем ФБ супер, делаем коннект к базе через localhost, потом пытаемся сделать gbak -b -se service_mgr этой базе, и получаем отлуп по невозможности CreateFile.
Я так понимаю, на винде стало как было в линуксе в 2.5.

p.s. при дефолтном конфиге.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080041
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

на сколько я понял за XNET отвечает Loopback
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080051
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

то есть, чтобы "вернуть" xnet нужно
#Providers = Remote,Engine12,Loopback
Providers = Remote,Loopback,Engine12

?
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080057
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

да, но при этом не будет возможности использовать embedded для локальных коннектов
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080065
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrда, но при этом не будет возможности использовать embedded для локальных
коннектов
В случае с супером эта возможность всё равно ни к чему, поскольку ошибка занятого файла
блокирует цепочку провайдеров.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080072
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

так сделано чтобы можно было хитро добавить sysdba. Поскольку XNET требует настоящей авторизации
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080116
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

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

D:\Firebird3>gbak -b employee.fdb e.fbk -v
gbak: ERROR:Unable to perform operation. You must be either SYSDBA or owner of the database
gbak:Exiting before completion due to errors

gbak -b -se service_mgr employee.fdb e.fbk -v

та же ошибка

после set isc_user=SYSDBA и set isc_password=masterkey работает оба варианта.

локальный коннект из IBE с пустым юзером и паролем - проходит.
чего-то я не догоняю.
То есть, локальный коннект из ИБЕ юзера не требует, а гбак почему-то требует.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080119
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, и еще только что ibe вдруг убился по AV через несколько секунд после закрытия локального коннекта (при незапущеном сервере). билд ФБ 32067, ИБЕ старый, 2014 года.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080134
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvgbak: ERROR:Unable to perform operation. You must be either SYSDBA or owner of the database
То есть, локальный коннект из ИБЕ юзера не требует, а гбак почему-то требует.
что из текста ошибки тебе непонятно? Бекап проверяет юзера, ибо не каждому разрешено делать бекап. Поэтому дефолтный embedded-юзер (т.е. юзер операционки) ему не прокатывает. Просто для коннекта к базе - пофиг (пока в таблицы не полезешь).
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080136
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку - создай базу в embedded без login/pass и сможешь ее бекапить
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080154
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

IBE так и не зовёт вовремя fb_shutdown
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080160
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисIBE так и не зовёт вовремя fb_shutdown
А фоновые потоки в Firebird так и не привыкли к мысли, что они могут быть прибиты в любой
момент без дополнительного предупреждения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080293
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvто есть, чтобы "вернуть" xnet нужно
#Providers = Remote,Engine12,Loopback
Providers = Remote,Loopback,Engine12Можно явно указать при коннекте, что ты хочешь xnet
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080295
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА фоновые потоки в Firebird так и не привыкли к мысли, что они могут быть прибиты в любой
момент без дополнительного предупреждения.Опять чушь непроверенную несёшь. Не надоело ?
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladОпять чушь непроверенную несёшь. Не надоело ?
Не постесняешься огласить правильную причину требования вызывать fb_shutdown() перед
закрытием приложения?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080494
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

не хочу тратить на тебя много времени. Поэтому поэмы писать не буду.
Могу выслушать твою версию (когда будет время и настроение) и показать где ты не прав.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080515
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladМогу выслушать твою версию (когда будет время и настроение) и показать где ты
не прав.
Ну слушай: при выгрузке библиотеки на Windows есть большие ограничения на вызываемые из
DllMain() функции. В частности там запрещены все функции ожидания. Поэтому просигналить
потокам "завершись" можно, а подождать пока они это выполнят - нельзя.

Дальше - больше: после возврата из DllMain срабатывают деструкторы всех глобальных
объектов, включая менеджер пулов со всеми его мутексами. После чего обращение к ним из ещё
не завершившихся потоков приводит к крэшу.

А чтобы мало не показалось, RTL-ем в конце концов из главного потока вызывается
ExitProcess(), который все фоновые потоки пришибает TerminateThread()-ом.

И чтобы не копаться во всём этом, была изобретена fb_shutdown() с жёстким требованием
вызывать её ещё до выгрузки библиотеки или выхода, чтобы в ней таки можно было подождать
завершения потоков.

А теперь можешь показывать где я неправ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080534
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА теперь можешь показывать где я неправ.В нечтении кода. Который знает, когда можно ждать, а когда - низзя.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080537
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДальше - больше: после возврата из DllMain срабатывают деструкторы всех глобальных
объектов, включая менеджер пулов со всеми его мутексами.Нет, они срабатывают не после возврата из DllMain. Их вызывают из DllMain. Если тебе это о чём-то говорит.
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080542
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

если вызов fb_shutdown необязателен для embedded тройки, то почему тогда IBE падает когда отсоединении?
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080550
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНет, они срабатывают не после возврата из DllMain. Их вызывают из DllMain.
Пофиг. Потокам от этого не легче: они не могут корректно завершиться пока главный не
выйдет из DllMain.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080574
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисhvlad,

если вызов fb_shutdown необязателен для embedded тройки, то почему тогда IBE падает когда отсоединении?Потому что менее обязателен он стал совсем недавно. Вызывать его в любом случае рекомендуется. И, напоследок, в IBE тоже есть баги - например он не выгружает клиента после неудачного коннекта. За двойное препарирование запросов я даже уже говорить не хочу :)
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080575
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну да, когда тебя предметно тычешь носом в незнание - тебе пофиг. Всё, как всегда
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080582
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladкогда тебя предметно тычешь носом в незнание - тебе пофиг.
Ты лучше ткни где в коде любой DllMain явно вызываются деструкторы глобальных объектов,
раз уж утверждаешь, что они вызываются именно там. Вот это действительно будет
доказательством того, что я чего-то не знаю. А то пока я всего лишь вижу, что ты наивно
считаешь, что я не знаю, что DllEntryPoint, вызываемая системой, и DllMain, объявленная в
исходниках, это две разные процедуры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080584
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ОСь вызывает _CRTDllMain, которая вызывает DllMain и потом всю цепочку atexit обработчиков и глобальные деструкторы.
Да, я выше имел в виду конечно же CRTDllMain

Уймись уже, несчастье
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39080586
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladДа, я выше имел в виду конечно же CRTDllMain
А теперь, когда эта мелкая техническая деталь улажена, ты уже готов указать мне на моё
глобальное заблуждение о причинах существования fb_shutdown()?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083417
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

я выступил против вот этого утверждения 18297961
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083466
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladя выступил против вот этого утверждения
Ты считаешь его неправильным? Фоновые потоки проверяют существование глобальных
синглетонов к которым обращаются? Их убиение с помощью TerminateThread не приведёт к порче БД?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083483
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovhvladя выступил против вот этого утверждения
Ты считаешь его неправильным? Фоновые потоки проверяют существование глобальных
синглетонов к которым обращаются? Их убиение с помощью TerminateThread не приведёт к порче БД?Читай последние коммиты
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083501
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЧитай последние коммиты
Вижу там только решение проблем с сетью. Ненужность вызова fb_shutdown() при завершении
приложения, использующего embedded, нигде в них не заявлена.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
gsec 3.0 без пароля
    #39083863
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНенужность вызова fb_shutdown() при завершении
приложения, использующего embedded, нигде в них не заявлена.А это кто-то обещал ?
Начни уже читать написанное, а не придуманное тобой.
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / gsec 3.0 без пароля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]