ГоловнаКаталогБлогРейтингЕ-Пошта 
 
 
Зробити домашньою у вибране  

  Створення нових користувачів і надання привілеїв  
Оператор GRANT має наступний синтаксис:

GRANT privileges (columns)
ON what
TO user IDENTIFIED BY 'password'
WITH GRANT OPTION
REQUIRE encryption requirements
WITH grant or resource management options;

Для успішного його виконання обов'язково потрібно правильно визначити наступну інформацію:
  • privileges (привілеї). Привілеї присвоюється певному користувачу. Наприклад, привілей SELECT дозволяє користувачу працювати з операторами SELECT, а привілей SHUTDOWN дозволяє користувачу відключати сервер.
  • columns (стовпці). Стовпці, до яких застосовуються певні привілеї. Цей параметр необов'язковий і використовується тільки при установці привілеїгіїв для стовпців. Імена стовпців в списку відділяються один від одного комами.
  • what (що). Рівень застосування привілеїв. Привілеї можуть бути глобальними (застосовується до всіх баз даних і їх таблиць), рівня бази даних (застосовується до всіх таблиць певної бази даних) або рівня таблиці. Використовуючи оператор columns, можна визначити також привілеї рівня стовпця.
  • асcount (обліковий запис). Обліковий запис, якому присвоюються привілеї. Значення асcount складається з імені користувача і імені вузла у форматі ?user_name' @' nost_name', оскільки в СУБД MySQL задаються не тільки ті, хто підключається, але і місце, звідки вони можуть його зробити. Таким чином, можна задати окремі облікові записи для двох користувачів, що мають одне і те ж ім'я, але що підключаються з різних місць. СУБД MySQL дозволяє робити відмінність між ними і присвоювати привілеї кожному з них незалежно один від одного. Значення user_name і host_name записуються в стовпцях User і Host рядка таблиці user для асcount і в будь-яких інших записах таблиці дозволу, які створює оператор GRANT.
  • password (пароль). Присвоєний користувачеві пароль, який не являється обов'язковим. Якщо для нового користувача не вказати вираз IDENTIFIED BY, пароль йому присвоєний не буде (що є не зовсім розумно з точки зору безпеки). Якщо ж цей оператор задається для вже існуючого користувача, введений пароль замінить використовуваний до теперішнього часу. Старий пароль залишиться незмінним, якщо новий не буде визначений. Рядок пароля, що задається за допомогою виразу IDENTIFIED, повинен бути літерним рядком, який при записі зашифрує оператор GRANT. Тому слід уникати використовування функції PASSWORD(), що застосовується з оператором SET PASSWORD.

Ім'я користувача в MySQL- це просте ім'я, яке використовується для ідентифікації користувача при під'єднанні до серверу. У цього імені немає ніякого зв'язку з реєстраційним ім'ям в ОС UNIX або ОС Windows. За замовчуванням при вказівці імені користувача явним чином клієнтські програми використовують його як ім'я користувача СУБД MySQL, проте це стандартне рішення. Те ж саме можна сказати і про користувача root, який і в MySQL є суперкористувачем, який може робити все. В таблицях дозволу можна поміняти це ім'я на nobody, щоб потім підключатися як nobody і виконувати операції, які потребують права суперкористувача.

Опції REQUIRE і WITH є необов'язковими. Опція REQUIRE з'явилася в MySQL 4.0.0 і використовується для установки облікових записів, які повинні проводити підключення за допомогою протоколу SSL. Оператор WITH GRANT OPTION є необов'язковим. З його допомогою можна представити користувачу всі привілеї, визначені оператором GRANT для інших користувачів. Цей оператор можна застосовувати для делегування можливостей певних категорій іншим користувачів. Починаючи з MySQL 4.0.2 пропозиція WITH також використовується для задавання параметрів управління ресурсами, що дозволяють обмежити кількість з'єднань або запитів, які може обробляти засновник даного облікового запису за годину. Ці параметри допоможуть запобігти "захоплення" серверу даним обліковим записом.

В іменах користувачів, баз даних, таблиць і паролях, записуючих в таблицю дозволів, розрізняються великі та малі літери. Регістр в іменах комп'ютерів і стовпців таблиць не враховується.

Щоб визначити, яку форму оператора GRANT застосувати, достатньо відповісти на наступні питання.
  • Хто і звідки може під'єднуватися до серверу?
  • Який рівень привілеїв повинен мати користувач і на доступ до чого ці привілеї надаються?
  • Чи потрібні безпечні підключення?
  • Чи необхідно користувачу надавати адміністративні привілеї?
  • Чи обмежуватиметься споживання ресурсів для даного облікового запису?

Спробуємо відповісти на ці питання і розглянемо приклади оператора GRANT для створення облікових записів користувачів MySQL.




  Логін:
  Пароль:
Книга Фріланс на західному ринку
Книга Фріланс на західному ринку

APServer | SiMan CMS | Лічильник відвідувань | Тека сайтів | Рейтинг | Форум | Download | Шаблони сторінок | Посібник Smarty | Підручник PHP | Статті/Огляди