Изменение владельца базы данных
Восстановленный файл базы данных или созданный из gbak имеет владельцем того пользователя, который выполнил восстановление. Следовательно, выполнение копирования и восстановления является механизмом для изменения владельца базы данных.
! ! !
ВНИМАНИЕ! Любой может украсть базу данных Firebird путем восстановления базы данных с резервной копии на машине, где ему известен пароль пользователя SYSDBA. Важно обеспечить, чтобы ваши резервные копии были защищены от неавторизованного доступа [148] Вопросы безопасности файловой системы и других средств окружения обсуждаются в главах 33 и 34.
.
. ! .
Имя пользователя и пароль
Когда Firebird проверяет полномочия при запуске gbak, он определяет пользователя в соответствии со следующей иерархией:
1. Имя пользователя и пароль, заданные переключателями в команде gbak.
2. Только для локального варианта gbak [149] Если вы по-настоящему беспечны и оставите эти переменные окружения на рабочих станциях, показывая всему миру пароль пользователя SYSDBA, удаленные пользователи также смогут выполнять копирование, не задавая учетных данных. Нечего и говорить, что такая практика должна быть полностью исключена.
. Имя пользователя и пароль, заданные в переменных окружения ISC_USERH ISC_PASSWORD, проверяются на присутствие в базе данных безопасности (security.fdb в версии 1.5 и isc4.gdb для версии 1.0.x). Сохранение постоянно установленных значений этих переменных строго не рекомендуется, поскольку крайне небезопасно.
3. Только для POSIX. Если не предоставлено учетных данных пользователя ни на одном из предыдущих уровней, Firebird позволяет пользователю root запускать gbak с сервера или с доверенной машины.
Для вызова gbak или перейдите в каталог Firebird /bin, где размещается gbak, или укажите для утилиты полный путь. Вся команда должна размещаться в одной строке. В описании синтаксиса и примерах логически замкнутые части команды представлены в виде отдельных строк с отступами.
POSIX:
$] ./gbak -b[ackup] <���режимы> исходные-данные копил [n]
ИЛИ
$] /opt/firebird/bin/gbak -b[ackup] <���режимы> исходные-данные копия [n]
Windows:
C:\Program Files\Firebird\Firebird_1_5\bin> gbak -b[ackup] <���режимы> исходные-данные копия [n]
ИЛИ
С:\> C:\Program Files\Firebird_1_5\bin\gbak -b[ackup] <���режимы> исходные-данные копия [n]
Аргументы для gbak -b[ackup]
исходные-данные- это полный путь и имя файла копируемой базы данных. В Firebird 1.5 это может быть алиас. При копировании многофайловой базы данных используйте имя только первого (первичного) файла базы данных.
копия- полный путь и имя файла, куда помещается резервная копия базы данных.
В случае, когда копия помещается во множество файлов, нужно указать несколько копий. Синтаксический элемент n является целым параметром, включаемым для каждого выходного файла, кроме последнего, для указания размера файла в байтах (по умолчанию). К числу могут быть добавлены буквы в нижнем регистре для задания того, что размер указан в килобайтах (к), мегабайтах (т) или гигабайтах (д). См. следующий пример.
В POSIX копией также может быть STDOUT. В этом случае gbak записывает результат в стандартный вывод (обычно канал) [150] В некоторых случаях администраторы БД перенаправляют вывод gbak в утилиты упаковки, такие как gzip. Это позволяет "на лету" получить запакованную резервную копию базы данных с меньшей нагрузкой на диск в процессе создания или восстановления резервной копии. - Прим. науч. ред.
.
Режимы могут быть допустимой комбинацией переключателей из табл. 38.1. Переключатели чувствительны к регистру.
Переключатели копирования
В табл. 38.1 описаны переключатели, которые могут быть использованы в gbak при выполнении копирования.
Таблица 38.1. Переключатели gbak для копирования
Переключатель
|
Эффект
|
-b[ackup database]
|
Утилита gbak выполняет копирование указанной базы данных в файл или на устройства
|
-со[nvert]
|
Конвертирует внешние файлы во внутренние таблицы. При восстановлении любая внешняя таблица преобразуется во внутреннюю таблицу базы данных, а связь с внешним файлом будет уничтожена
|
-е[xpand]
|
Создает копию без компрессии данных
|
-fa[ctor] n
|
Использует коэффициент блокирования n для ленточных устройств
|
Читать дальше