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
   111   112   113   114   115   116   117   118   119   120   121