Всё для Учёбы — студенческий файлообменник
1 монета
doc

Лабораторная № 7 «Привилегии в базах данных» по Базам данных (Иванько М. А.)

Ход работы

С помощью команды Grant создадим нового пользователя и попробуем дать ему различные привилегии на доступ и пользование к нашей базе данных dogs.

Привилегии в БД создаются следующей командой:

>GRANT [] ON TO

>[IDENTIFIED BY ] [WITH GRANT OPTION];

где rights – права, которые предоставляются пользователю, т.е действия, которые он может совершать по отношению к базе данных; column – колонка в конкретной таблице, над которой может осуществлять действия пользователь; object – объект, к которому имеет доступ пользователь, т.е. база данных или отдельная ее таблица; subject – пользователь. Так же можно в необязательной строке IDENTIFIED BY можно обозначить пароль, по которому пользователь получит свои привилегии. Команда WITH GRANT OPTION означает, что пользователь так же может дать определенные права другому пользователю, но не больше прав, чем есть у него самого.

Создадим нового пользователя. Пусть у пользователя masha пароль hot.

1. Пусть пользователь masha имеет право читать и дополнять таблицу breeders и только создавать новые таблицы.

Создадим права доступа для masha:

mysql> GRANT select, insert ON dogs.breeders TO masha@localhost IDENTIFIED BY ‘hot’;

mysql> GRANT create ON dogs.* TO masha@localhost;

Откроем еще одну командную строку и войдем в mysql под пользователя masha.

Пользователь masha имеет доступ к базе данных dogs и может читать и заполнять таблицу breeders. Проверим это:

Так же этот пользователь может создать новую таблицу, но не имеет прав производить какие-либо действия с этой таблицей. Создадим какую-нибудь таблицу и попробуем, например, ее заполнить:

Как видно, таблица создалась, но не заполнилась, так как пользователь masha ограничена в правах.

2. Теперь, пусть пользователь masha может только читать столбцы dog_name, breed и color из таблицы dogs_name.

Создадим права доступа для пользователя masha и проверим их.

mysql> GRANT select (dog_name, breed, color) ON dogs.dogs_name TO masha @localhost;

Зайдем как пользователь masha:

и попробуем сделать различные выборки:

Как видно, удалась только разрешенная правами доступа выборка.

3. А теперь лишим пользователя masha всех прав доступа к базе dogs.

Показать полностью…
Похожие документы в приложении