Page 118 - 4636
P. 118
3 Команда REVOKE
Протилежній команді GRANT є команда REVOKE. Вона використовується для позбавлення
користувача повноважень і за синтаксисом схожа з командою GRANT:
REVOKE повноваження [(стовпці)]
ONелемент
FROMім’я_користувача
Якщо повноваження були надані з конструкцією WITHGRANTOPTION, їх можна видалити (разом з
усіма іншими повноваженнями) таким чином:
REVOKE ALL PRIVILEGES, GRANT
FROM ім’я_користувача
Приклади використання команд GRANT і REVOKE
Для надання повноважень адміністратору можна набрати:
mysql>grant all -> on *
-> to fred identified by 'nmbl23'
->withgrantoption;
Ця команда надає користувачеві з ім'ям fred і паролем mnb123 всі повноваження для всіх баз даних
з правом їх передачі іншим користувачам.
Якщо цей користувач в системі не потрібен, позбавте його всіх повноважень:
mysql>revoke all privileges, grant
-> from fred;
Тепер можна визначити звичайного користувача без будь-яких повноважень:
mysql>grant usage
-> on books. *
-> to anna identified by 'magicl23';
Поговоривши з Анною (anna), можна більше дізнатися про її наміри і в результаті надати їй
необхідні повноваження:
mysql>grant select, insert, update, delete, index, alter,create,
drop
-> on books.*
-> to anna;
Зверніть увагу, що для надання повноважень не потрібно вказувати пароль Анни.
Якщо ми підозрюємо, що Анна має намір накоїти щось недобре в базі даних, її повноваження
можна обмежити:
mysql>revoke alter, create, drop
-> on books.*
->fromanna;
Пізніше, коли їй не потрібно буде користуватися базою даних, її можна позбавити взагалі всіх
повноважень:
mysql>revoke all -> on books. *
->fromanna;
4 Установка користувача для доступу з Інтернету
Щоб РНР-сценарії могли підключатися до MySQL, буде потрібно налаштувати відповідного
користувача. У цьому випадку також можна застосувати принцип мінімально необхідних повноважень.
При цьому слід задатися питанням: "Які дії повинні мати право виконувати сценарії?"
У більшості випадків сценаріям знадобиться проводити над рядками таблиць тільки операції
SELECT, INSERT, DELETE і UPDATE. Можна поступити наступним чином:
mysql>grant select, insert, delete, update ->
115