Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КРИПТ / муха / проба2

.doc
Скачиваний:
14
Добавлен:
15.06.2014
Размер:
19.14 Кб
Скачать

MySQL – многопользовательская СУБД, что означает, что сразу несколько пользователей могут обращаться и работать с одной базой данных.

Пользователи, то есть люди которые имеют доступ к БД, бывают с различными правами. Самым главным является администратор. Ему разрешено выполнять любые действия. В число привилегий администратора также входит право создавать пользователей и раздавать им права.

Для того чтобы создать нового пользователя из косоли существует операнд CRATE USER (Для удаления – DROP USER). Пользоваться ей может только администратор или пользователь с привилегией CRATE USER:

CREATE USER user IDENTIFIED BY 'password';

Где, user - является именем пользователя, который будет создан. Синтаксис для имени пользователя следующий: 'user'@'localhost'.

IDENTIFIED BY - Определяет способ доступа к MYSQL по вводимому паролю.

Password – пароль для проверки подлинности.

Примечание: Пользоатель может быть создан без пароля.

Пример: CREATE USER 'stusent1'@'localhost' IDENTIFIED BY '123';

CREATE USER 'stusent2'@'localhost';

Сменить пароль можно с помощь операторов SET PASSWORD/ SET PASSWORD FOR.

Пример: SET PASSWORD = PASSWORD('456');

SET PASSWORD FOR 'student1'@'localhost' = PASSWORD('456');

Где первый оператор меняет пароль активного пользователя.

Таким образом, cозданные пользователи не обладают никакими правами.

Право (привилегия) — это возможность выполнить определенную операцию. Например, CREATE TABLE или CREATE TRIGGER, DELETE DATABASE и другие операции.

За назначение/удалении привилегий в MySQL отвечают операторы GRANT и REVOKE:

GRANT  [тип_привилегии]  ON  [уровень_привилегии]  TO  [имя_пользователя]  IN  IDENTIFIED  BY  '[пароль]';

Где: [тип_привилегии] - это устанавливаемые привилегии, но также существует дополнительная привилегия «ALL» при указании, которой пользователю устанавливаются сразу все привилегии за исключением привилегии «GRANT OPTION»

[уровень_привилегий] - может быть следующим: глобальный уровень - задается как *.*; уровень базы данных - задается как [имя_БД].*; уровень таблицы - задается как [имя_БД].[имя_таблицы];

Примечание: Когда устанавливается, какая либо привилегия на «глобальном уровне» то пользователь может воспользоваться этой привилегией в любой БД, поэтому привилегии на «глобальном уровне» лучше не выдавать, или выдавать только доверенным пользователям.

[имя_пользователя] - имя пользователя для которого указываются права.

Примечание: Указывать '[пароль]' необязательно.

Пример: GRANT ALL ON artists.* TO 'student1'@'localhost';

В данной строчке пользователю student1 даются все привилегии на уровне базы данных ARTISTS.

Изменения, которые вносятся в таблицы назначения привилегий при помощи команд GRANT, REVOKE или SET PASSWORD, учитываются сервером немедленно.

Порядок идентификации описан в лабораторной работе №1. Идентификация осуществляется по имени «хоста» и имени «пользователя», а проверка прав доступа к данным осуществляется два этапа:

сервер проверяет, разрешено ли пользователю вообще подключаться к серверу.

если 1-й этап прошел успешно, то сервер начинает, проверяет каждый «запрос» пользователя на наличие привилегий для выполнения этого «запроса».

Примечание: Управление правами пользователей можно производить из phpmyadmin. В правой части главного окна есть опция «Привилегии».В открывшемся окне будет обзор всех существующих пользователей с возможностью редактирования и создания новых.

Соседние файлы в папке муха