Под администрированием подразумеваются манипуляции с пользователями и ролями (добавление, удаление, предоставление и отъем прав и проч.), резервное , входящий в дистрибутив Delphi, предназначен для разработки программ, а не для реальной серверной работы, поэтому он имеет ряд ограничений.
Так, версии WI-V6.5.0.28, входящий в дистрибутив Delphi 7 использовался на четырех различных версиях Windows и дал одинаковый результат: создавать новых пользователей и SYSDBA пользователем, не получается. Поэтому если вы желаете не только изучить приемы администрирования сервера, но и опробовать все его возможности на практике, то рекомендую установить полную версию , желательно более свежую. Бесплатные пробные версии на 90 дней можно скачать отсюда: http://www.ibase.ru/interbase.htm
Впрочем, помимо приведенного выше ограничения, весь материал данного курса можно изучить и опробовать на том , который вы уже установили вместе с Delphi. Администрирование можно осуществлять разными способами: с помощью утилиты или подобных утилит сторонних разработчиков. Но наиболее надежным и гибким способом является администрирование встроенными в и другими графическими утилитами, а также компонентами администрирования Delphi.
Примечание: платный сервер имеет бесплатных клонов: самый большой размер страницы 8192, то в не имеют графической утилиты вроде . Но эта проблема легко решается: существует множество подобных утилит от сторонних разработчиков, гораздо более мощных и удобных, чем .
Особо можно порекомендовать графическую утилиту ,
Сейчас уже найдется не так много пользователей, которым доводилось работать с командной строкой. Большей частью BIN сервера , по умолчанию:
C:\PROGRAM FILES\BORLAND\INTERBASE\BIN
Вызвать такую утилиту можно с помощью окна WinNT, 2000, XP или выше) или Win95/98/ME ). Так, чтобы узнать версию сервера, нажмите "Пуск -> Выполнить", а в окне введите cmd или command, в зависимости от вашей ОС. Кстати, в WinXP тоже есть команда command, однако она работает в режиме MS-DOS и не поддерживает длинных имен файлов и папок. Поэтому в XP (или выше) нужно использовать cmd.
Откроется черное окно, в конце последней строки будет мигать курсор, это и есть командная строка. Введите следующие команды (подразумевается адрес по умолчанию), после каждой из них нажимая < Enter >:
c: cd program files\borland\interbase\bin gpre -z
Сразу оговоримся, что текст в окне придется набирать вручную. Если скопировать текст, а затем выбрать в
В результате выполнения примера, вы получите следующее окно:
(рис 25.1 ) Утилита командной строки gpre.exeДля тех, кто впервые использовал подобные команды, разберем их подробней. Команда
c:
делает текущим диск C: (на случай, если ранее был текущим другой диск).
Команда Change Directories ) меняет текущий каталог на указанный, то есть, командой
cd c:\program files\borland\interbase\bin
мы переходим в папку BIN сервера . Если у вас установлен по другому адресу, в этой команде следует сделать изменения. В конце мы даем команду
gpre -z
которая вызывает утилиту gpre.exe с параметром -z. Эта утилита является препроцессором языков C/C++ и предназначена для разработчиков, напрямую работающих с . Не самая используемая утилита, но здесь для нас интересен параметр -z, который выводит информацию о версии и самой утилиты (этот же параметр есть и у остальных утилит, с которыми нам предстоит познакомиться).
Как видите, расширение *.exe при загрузке утилиты можно не указывать, а регистр букв не имеет значения. Закрыть данное окно можно командой exit. В дальнейшем для краткости изложения предполагается, что текущей папкой в этом окне является папка BIN сервера , где и хранятся все остальные утилиты.
В лекции № 14 мы уже рассматривали, как можно зарегистрировать нового пользователя с помощью утилиты . Для регистрации пользователя, его удаления или смены пароля данный способ наиболее удобен, однако для порядка рассмотрим, как создать нового пользователя при помощи для этого существует утилита
gsec -help
Чтобы утилита позволила работать с данными пользователей, нужно указать, что мы имеем на это право. То есть, что мы - пользователь SYSDBA с паролем masterkey (если вы его не изменили). Так, для вывода информации об установленных пользователях имеется опция должен быть запущен):
gsec -user sysdba -password masterkey -display
Добавить нового пользователя можно командой add:
gsec -user sysdba -password masterkey -add MISHA -pw qaz
мы добавили пользователя " MISHA " с паролем " qaz ". Изменить пароль этого пользователя на " qaz123 " можно командой modify:
gsec -user sysdba -password masterkey -modify MISHA -pw qaz123
Удалить пользователя MISHA можно командой delete:
gsec -user sysdba -password masterkey -delete MISHA
Утилита
gsec -user sysdba -password masterkey
После чего строка с курсором примет такой вид:
GSEC>_
Это означает, что мы находимся внутри утилиты. Далее имя и пароль администратора SYSDBA можно не указывать. Например, чтобы снова добавить пользователя MISHA, дадим команду:
add MISHA -pw qaz123
а для вывода списка пользователей укажем команду
display
Выйти из утилиты можно командой quit. Подобным же образом происходит работа и с другими
Все , которая устанавливается вместе с сервером:
C:\PROGRAM FILES\BORLAND\INTERBASE\isc4.gdb
При переустановке сервера этот файл по умолчанию не удаляется, а переходит "в наследство" следующей версии , поэтому USERS. На случай, если вы удалите нужного пользователя, или измените его пароль, который потом забудете, рекомендуется делать резервные копии этой БД. Есть и плохая новость.
Поскольку все , после чего может быть открыта пользователем SYSDBA. Даже если на вашем сервере пароль SYSDBA изменен, на другом ПК этот пароль будет другим, так что базу данных можно будет открыть. Политика подразумевает, что серверный ПК должен быть:
При соблюдении этих правил безопасность данных будет на высоком уровне.
Добавление нового пользователя еще не означает, что он сможет работать с БД. Чтобы он мог с ней работать, ему необходимо также выделить какие то раздаются пользователям и ролям (и даже хранимым процедурам и триггерам) на какие либо действия с отдельными объектами БД. Под объектами подразумеваются таблицы и их столбцы, просмотры и хранимые процедуры. Права могут быть такими:
Таким образом, пользователю можно предоставить, например,
Предоставлять пользователям . Загрузите , войдите в локальный сервер и базу данных First. Дадим пользователю PUPKIN (которого мы создали в лекции №14) Tovar. Откройте окно Interactive SQL и введите следующую команду:
GRANT SELECT ON TOVAR TO PUPKIN;
После нажатия кнопки Execute Query, пользователь PUPKIN получит таблицу Tovar, щелкнув по ней правой кнопкой и выбрав команду Properties. Перейдем на вкладку Permission:
(рис 25.2 ) Права на таблицу TovarКак видим, пользователь SYSDBA имеет на таблицу все PUPKIN - только на чтение. И еще мы можем сделать вывод, что если , то их
Значок открытой руки в правах пользователя SYSDBA означает, что эти PUPKIN Interactive SQL и введем следующую команду:
GRANT UPDATE ON TOVAR TO PUPKIN WITH GRANT OPTION;
Если мы снова откроем вкладку Permission таблицы Tovar, то убедимся, что PUPKIN теперь имеет право не только изменять записи таблицы, но и передавать это право другим пользователям. Причем каждый пользователь может передавать лишь те
Чтобы предоставить пользователю
GRANT UPDATE (FNAME, FTYPE, FCENA) ON FOOD TO PUPKIN;
Предоставление прав для списка столбцов может быть только на команды UPDATE и PREFERENCES, для других команд необходимо указывать всю таблицу. Если пользователю требуется предоставить сразу несколько различных прав на таблицу, эти
GRANT SELECT, INSERT, UPDATE ON PRIM_1 TO PUPKIN;
Через запятую можно указать и список пользователей:
GRANT SELECT, INSERT ON DAYS TO PUPKIN, MISHA;
Чтобы предоставить пользователю ВСЕ
GRANT ALL ON SKLAD TO PUPKIN;
А чтобы предоставить какое то право ВСЕМ зарегистрированным пользователям, можно воспользоваться "виртуальным" пользователем
GRANT ALL ON SDELKI TO PUBLIC;
Права можно не только дать, но и отнять. Делается это командой
REVOKE ALL ON SDELKI FROM PUBLIC;
Пользователь SYSDBA при этом прав на таблицу не потеряет.
Когда в организации работает множество пользователей, они, как правило, разбиваются на группы. Например, несколько бухгалтеров с одинаковыми правами. Чтобы не терять время на создание одинаковых прав для нескольких пользователей, в имеется механизм ролей. При пользовании этим механизмом, существует четыре последовательности действий:
Выполним эту последовательность в окне Interactive SQL:
CREATE ROLE BUH; /*Создаем роль*/ GRANT ALL ON SDELKI TO BUH; /*присваиваем ей права*/ GRANT BUH TO PUPKIN; /*Предоставляем роль пользователю*/
Теперь, если мы выделим в дереве серверов в нашей БД раздел Roles, то увидим новую роль BUH:
(рис 25.3 ) Создание ролиА если щелкнуть по BUH в правой части окна правой копкой и выбрать команду Properties, мы увидим, что на эту роль имеет право пользователь PUPKIN. Чтобы подключить пользователя PUPKIN к БД в контексте IBDatabase нужно будет указать следующие параметры:
user_name=pupkin password=qwerty sql_role_name=buh lc_ctype=WIN1251
Это сработает только в том случае, если данному пользователю действительно присвоена эта роль. Таким образом, в клиентском приложении можно сделать гибкую систему подключений пользователя: как простого пользователя с одними правами, и как пользователя в контексте
Если же мы подключаемся к БД другим образом, например, через SQL -скрипт, то параметры подключения могут выглядеть иначе:
CONNECT C:\DATABASES\FIRST.GDB USER PUPKIN ROLE BUH PASSWORD qwerty;
Удаляется роль командой DROP, при этом все
DROP ROLE BUH;
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.