Page 116 - 4636
P. 116
Повноваження зберігаються в п'яти системних таблицях, розташованих у базі даних mysql. Ці
п'ять таблиць називаються mysql.user, mysql.db, mysql.host, mysql. tables_priv і mysql. columns_priv.
Замість використання команди GRANT можна безпосередньо змінювати ці таблиці.
2 Типи і рівні повноважень
У MySQL існують три основні типи повноважень: повноваження, які можна надавати звичайним
користувачам; повноваження, які потрібні тільки адміністраторам, і кілька спеціальних повноважень.
Будь-який користувач може отримати будь-які повноваження, тим не менш, зазвичай, відповідно до
принципу мінімально необхідних повноважень, повноваження адміністративного типу надаються
тільки адміністраторам.
Користувачам слід надавати повноваження тільки для тих баз даних і таблиць, з якими їм
доведеться працювати. Доступ до бази даних mysql повинен бути закритий для всіх, окрім
адміністратора, тому що саме в ній зберігаються облікові записи користувачів, паролі тощо.
Повноваження для звичайних користувачів безпосередньо пов'язані з певними командами SQL і
правами їх виконання. Опис повноважень наведено в табл. 6.1. У стовпці "Застосовується до"
перераховані об'єкти, до яких можуть застосовуватися повноваження даного типу.
Таблиця 6.1 - Повноваження для користувачів
Повноваження Застосовується до Опис
SELECT таблиць, Дозволяє користувачам вибирати з таблиць рядки
стовпців (записи).
INSERT таблиць, Дозволяє користувачам вставляти в таблиці нові
стовпців рядки.
UPDATE таблиць, Дозволяє користувачам змінювати значення в
стовпців існуючих рядках таблиць.
DELETE таблиць Дозволяє користувачам видаляти з таблиць існуючі
рядки.
INDEX таблиць Дозволяє користувачам створювати і видаляти
індекси певних таблиць.
ALTER таблиць Дозволяє користувачам змінювати структуру
існуючих таблиць, додаючи стовпці, перейменовуючи
стовпчики чи таблиці і змінюючи типи даних, що
зберігаються у стовпцях.
CREATE бази даних, Дозволяє користувачам створювати нові бази
таблиць даних або таблиці. Якщо в команді GRANT вказана
певна база даних або таблиця, користувач може
тільки створювати ту чи іншу базу даних або таблицю,
що має на увазі первісне її видалення.
DROP бази даних, Дозволяє користувачам видаляти бази даних або
таблиць таблиці.
З точки зору безпеки системи більша частина повноважень звичайних користувачів порівняно
нешкідлива. Повноваження ALTER можуть використовуватися для обходу системи повноважень
шляхом перейменування таблиць, проте ці повноваження потрібні користувачам дуже часто. При
113